macwrench macwrenchwiki https://macwrench.miraheze.org/wiki/Main_Page MediaWiki 1.40.1 first-letter Media Special Talk User User talk macwrench macwrench talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk Module Module talk Kurztipp - PHP sicher konfigurieren 0 162 776 2006-07-01T11:47:23Z Macwrench>Hagbard 0 Kurztipp - PHP sicher konfigurieren wurde nach PHP absichern verschoben: Das wird wohl doch weniger ein Kurztipp ... wikitext text/x-wiki #REDIRECT [[PHP absichern]] 91e914d761697f3d1ed070338a11081b3f05f823 Template:Contentbox 10 94 1048 2007-12-13T18:37:30Z Macwrench>Hagbard 0 Die Seite wurde neu angelegt: <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox mit Titel</noinclude> <includeonly> <table width={{{width}}} cellspacing="0" cellpadding="0" class="... wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox mit Titel</noinclude> <includeonly> <table width={{{width}}} cellspacing="0" cellpadding="0" class="contentboxBody"><tr height=22px valign=middle> <td width={{{width}}}>{{{content}}}</td> </tr></table> </includeonly> 62f7de7a4d8184e24ee6818bd7b420c978119bc3 1049 1048 2007-12-13T18:43:26Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel</noinclude> <includeonly> <table width={{{width}}} cellspacing="0" cellpadding="0" class="contentboxBody"><tr height=22px valign=middle> <td width={{{width}}}>{{{content}}}</td> </tr></table> </includeonly> c2cb8e55a14adac7763bd985ada477998092042b 1050 1049 2007-12-13T18:50:52Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel</noinclude> <includeonly> <table width={{{width}}} style="border-spacing:0; padding:0; background-color:#f2f2f2;"><tr height=22px valign=middle> <td width={{{width}}}>{{{content}}}</td> </tr></table> </includeonly> aa7920aff9bc6700c7955247b6ae93c667ccb186 1051 1050 2007-12-13T18:51:26Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel</noinclude><includeonly> <table width={{{width}}} style="border-spacing:0; padding:0; background-color:#f2f2f2;"><tr height=22px valign=middle> <td width={{{width}}}>{{{content}}}</td> </tr></table></includeonly> c64f5633b252f25b2607949995e15075b657e2d7 1052 1051 2007-12-13T18:51:48Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel</noinclude><includeonly><table width={{{width}}} style="border-spacing:0; padding:0; background-color:#f2f2f2;"><tr height=22px valign=middle> <td width={{{width}}}>{{{content}}}</td> </tr></table></includeonly> 944e368b991c5aed835946d6e220149dd8789c7a 1053 1052 2007-12-13T18:52:34Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel</noinclude><includeonly><table width={{{width}}} style="border-spacing:0; padding:4px; background-color:#f2f2f2;"><tr height=22px valign=middle> <td width={{{width}}}>{{{content}}}</td> </tr></table></includeonly> dcbb49bf8a01c550e34ce068eaed6fd5ce5b626f 1054 1053 2007-12-13T18:53:35Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel</noinclude><includeonly><table width={{{width}}} style="border-spacing:0; padding:4px; background-color:#f2f2f2; border:1px solid #c2c2c2;"><tr height=22px valign=middle> <td width={{{width}}}>{{{content}}}</td> </tr></table></includeonly> 4675193574b2f19b68924f3f37972cf5f07cc279 1055 1054 2007-12-13T18:54:13Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel</noinclude><includeonly><table width={{{width}}} style="border-spacing:0; padding:4px; background-color:#f2f2f2; border:1px solid #c2c2c2; margin-top:20px;"><tr height=22px valign=middle> <td width={{{width}}}>{{{content}}}</td> </tr></table></includeonly> 397cab8c89ef256d74ffce25345137dcacfdc4e1 1056 1055 2007-12-13T18:54:30Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel</noinclude><includeonly><table width={{{width}}} style="border-spacing:0; padding:4px; background-color:#f2f2f2; border:1px solid #c2c2c2; margin-bottom:20px;"><tr height=22px valign=middle> <td width={{{width}}}>{{{content}}}</td> </tr></table></includeonly> a881dcc8834d6c063a9f91124994e49a39dcd791 1057 1056 2007-12-14T12:40:49Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="top"> <td id="topleft">&nbsp;</td> <td id="top"></td> <td id="topright"></td> </tr> <tr id="content> <td id="left"></td> <td id="content">{{{content}}}</td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> b5c3ca84153450e456e339d0cbe0d48f5a95cedb 1058 1057 2007-12-16T17:46:32Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="top"> <td id="topleft">&nbsp;</td> <td id="top"></td> <td id="topright"></td> </tr> <tr id="content> <td id="left"></td> <td id="content"> {{{content}}} </td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> 30637bba54832167ae4742311aafa48f47303ed6 Template:ContentboxWithIcon 10 23 1097 2007-12-14T13:42:08Z Macwrench>Hagbard 0 Die Seite wurde neu angelegt: <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel, mit Titelicon. '''Hinweis:''' Das Symbol wird immer auf 64px herauf- bzw. herunterskalie... wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel, mit Titelicon. '''Hinweis:''' Das Symbol wird immer auf 64px herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="top"> <td id="topleft">&nbsp;</td> <td id="top"></td> <td id="topright"></td> </tr> <tr id="content> <td id="left"></td> <td id="content">{{{content}}}</td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> 36a0ee8be6ff46fc79034bf1914ef2c9b9502a0f 1098 1097 2007-12-14T13:44:50Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel, mit Titelicon. '''Hinweis:''' Das Symbol wird immer auf 64px herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIcon"> <td id="topleftIcon">&nbsp;</td> <td id="topIcon">[[Bild:{{{icon}}}]]</td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td id="content">{{{content}}}</td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> 7c1980977161cc0c1d4c4020e3a276cbbffc72ab 1099 1098 2007-12-14T13:48:27Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel, mit Titelicon. '''Hinweis:''' Das Symbol wird immer auf 64px herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIcon"> <td id="topleftIcon">&nbsp;</td> <td id="topIcon">[[Bild:{{{icon}}}|48px]]</td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td id="content">{{{content}}}</td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> a7c5e3a35a98a1f96da1a6e444ba1a61e1775a8e 1100 1099 2007-12-14T13:49:19Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel, mit Titelicon. '''Hinweis:''' Das Symbol wird immer auf 64px herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIcon"> <td id="topleftIcon">&nbsp;</td> <td id="topIcon">[[Bild:{{{icon}}}|32px]]</td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td id="content">{{{content}}}</td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> 4d53cb4471079d516aa436a1b5c8040039bbefdf 1101 1100 2007-12-14T13:50:24Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel, mit Titelicon. '''Hinweis:''' Das Symbol wird immer auf 64px herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIcon"> <td id="topleftIcon">&nbsp;</td> <td id="topIcon">[[Bild:{{{icon}}}|64px]]</td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td id="content">{{{content}}}</td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> 2ea0b6263511522531a3ca2cc27bdf0cd294eceb 1102 1101 2007-12-14T13:50:50Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel, mit Titelicon. '''Hinweis:''' Das Symbol wird immer auf 64px herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIcon"> <td id="topleftIcon">&nbsp;</td> <td id="topIcon">[[Bild:{{{icon}}}|32px]]</td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td id="content">{{{content}}}</td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> 4d53cb4471079d516aa436a1b5c8040039bbefdf 1103 1102 2007-12-14T13:52:55Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel, mit Titelicon. '''Hinweis:''' Das Symbol wird immer auf 32 Pixel Breite herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIcon"> <td id="topleftIcon">&nbsp;</td> <td id="topIcon">[[Bild:{{{icon}}}|32px]]</td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td id="content">{{{content}}}</td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> 0cc2f2ac6a1add0addf157c240205efbbade0bbd Template:ContentboxWithIconAndTitle 10 91 1076 2007-12-14T14:24:29Z Macwrench>Hagbard 0 Die Seite wurde neu angelegt: <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox mit Titel und Titelicon. '''Hinweis:''' Das Symbol wird immer auf 32 Pixel Breite herauf- bzw. herun... wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox mit Titel und Titelicon. '''Hinweis:''' Das Symbol wird immer auf 32 Pixel Breite herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIcon"> <td id="topleftIcon">&nbsp;</td> <td id="topIconText">[[Bild:{{{icon}}}|32px]]</td> <td id="topIconTitleText">{{{title}}}</td> <td id="topIconText"></td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td id="content">{{{content}}}</td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> 720ee7a113f3e71eaf3c5c607340aff53c904b33 1077 1076 2007-12-14T14:25:20Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox mit Titel und Titelicon. '''Hinweis:''' Das Symbol wird immer auf 32 Pixel Breite herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIcon"> <td id="topleftIcon">&nbsp;</td> <td id="topIconText">[[Bild:{{{icon}}}|32px]]</td> <td id="topIconTitleText">{{{title}}}</td> <td id="topIconText"></td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td colspan="3" id="content">{{{content}}}</td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td colspan="3" id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> 7944bee1419e354fad65572a65e85c116814751d 1078 1077 2007-12-14T14:29:14Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox mit Titel und Titelicon. '''Hinweis:''' Das Symbol wird immer auf 32 Pixel Breite herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIconText"> <td id="topleftIcon">&nbsp;</td> <td id="topIconText">[[Bild:{{{icon}}}|32px]]</td> <td id="topIconTitleText">{{{title}}}</td> <td id="topIconText"></td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td colspan="3" id="content">{{{content}}}</td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td colspan="3" id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> 4d71534a5081cd75f476d1bfbc0433f3f10f88ff 1079 1078 2007-12-16T17:46:49Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox mit Titel und Titelicon. '''Hinweis:''' Das Symbol wird immer auf 32 Pixel Breite herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIconText"> <td id="topleftIcon">&nbsp;</td> <td id="topIconText">[[Bild:{{{icon}}}|32px]]</td> <td id="topIconTitleText">{{{title}}}</td> <td id="topIconText"></td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td colspan="3" id="content"> {{{content}}} </td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td colspan="3" id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> fc455acb9edf17e38903879f7b00870305a4ac86 Template:Tt 10 26 1041 2007-12-20T15:12:41Z Macwrench>Hagbard 0 Die Seite wurde neu angelegt: <noinclude>[[Kategorie:Formatierungsvorlage]] Vorlage zur Ausgabe einer Zeichenfolge in Monospaced-Schrift (Typewriter), z.B. für kurze Codeschnippsel oder Variablenna... wikitext text/x-wiki <noinclude>[[Kategorie:Formatierungsvorlage]] Vorlage zur Ausgabe einer Zeichenfolge in Monospaced-Schrift (Typewriter), z.B. für kurze Codeschnippsel oder Variablennamen im Fließtext. ;Verwendung: <nowiki>{{Texttt|Monospaced Text}}</nowiki> ;Ausgabe: {{Texttt|Monospaced Text}} ;Alternativ: Kurzform über die Vorlage [[Vorlage:TT|TT]] </noinclude><includeonly><font style="font-family:courier,monospace; font-size:100%;">{{{1}}}</font></includeonly> c78e972445b12ff21645cc3c9c385b049d9b88e9 Template:InfoboxWithIcon 10 20 1118 2007-12-23T15:49:26Z Macwrench>Hagbard 0 Die Seite wurde neu angelegt: <noinclude>[[Kategorie:Interne_Vorlage]]Diese Vorlage dient der Erzeugung verschiedener [[:Kategorie:Artikelbaustein|Artikelbausteine]], wie z.B. zur Kennzeichnung * au... wikitext text/x-wiki <noinclude>[[Kategorie:Interne_Vorlage]]Diese Vorlage dient der Erzeugung verschiedener [[:Kategorie:Artikelbaustein|Artikelbausteine]], wie z.B. zur Kennzeichnung * ausbaufähiger Artikel * unvollständiger Artikel * unverständlicher Artikel * Löschkandidaten usw. Die Vorlage sollte '''nicht direkt verwendet werden''' sondern nur innerhalb der obigen [[:Kategorie:Artikelbaustein|Artikelbausteine]] zum Einsatz kommen. Für die Verwendung der Vorlage ohne Icon ist die Vorlage [[Vorlage:Infobox|Infobox]] zu verwenden. </noinclude><includeonly>{{ContentboxWithIcon|icon={{{icon}}}|width={{{1}}}|content= {{{content}}}}}</includeonly> f4a12e5b7355a1051dd67946486509cfe4a5356f 1119 1118 2007-12-23T15:49:59Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Interne_Vorlage]]Diese Vorlage dient der Erzeugung verschiedener [[:Kategorie:Artikelbaustein|Artikelbausteine]], wie z.B. zur Kennzeichnung * ausbaufähiger Artikel * unvollständiger Artikel * unverständlicher Artikel * Löschkandidaten usw. Die Vorlage sollte '''nicht direkt verwendet werden''' sondern nur innerhalb der obigen [[:Kategorie:Artikelbaustein|Artikelbausteine]] zum Einsatz kommen. Für die Verwendung der Vorlage ohne Icon ist die Vorlage [[Vorlage:Infobox|Infobox]] zu verwenden. </noinclude><includeonly>{{ContentboxWithIcon|icon={{{icon}}}|width={{{width}}}|content= {{{content}}}}}</includeonly> 5a709366d57b0526d37357cb02a5671420a638ea Template:Info 10 18 1108 2007-12-23T17:08:58Z Macwrench>Hagbard 0 Die Seite wurde neu angelegt: <noinclude>[[Kategorie:Artikelbaustein]]Vorlage zur Einblendung eines einfachen Bausteins für weitere Informationen zu einem gerade behandelten Thema mit mit einem fre... wikitext text/x-wiki <noinclude>[[Kategorie:Artikelbaustein]]Vorlage zur Einblendung eines einfachen Bausteins für weitere Informationen zu einem gerade behandelten Thema mit mit einem frei definierbaren Text. Weitere Bausteinvorlagen sind in der Kategorie [[:Kategorie:Artikelbaustein|Artikelbaustein]] zu finden. ;Beispiel: <nowiki>{{Information|Text}}</nowiki> </noinclude><includeonly> {{InfoboxWithIcon|icon=Info.png|width=100%|content={{{content}}}}}</includeonly> fccd32bc0801bb4a0a3781e50cf2820404fd6b38 1109 1108 2007-12-23T17:13:40Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Artikelbaustein]]Vorlage zur Einblendung eines einfachen Bausteins mit einem frei definierbaren Text für weitere Informationen zu einem gerade behandelten Thema. Weitere Bausteinvorlagen sind in der Kategorie [[:Kategorie:Artikelbaustein|Artikelbaustein]] zu finden. ;Beispiel: <nowiki>{{Information|Text}}</nowiki> </noinclude><includeonly> {{InfoboxWithIcon|icon=Info.png|width=100%|content={{{1}}}}}</includeonly> d0951b29f1cd2a03a5c5d65784213a2ddcb9958d 1110 1109 2007-12-23T17:24:18Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Einblendung eines einfachen Bausteins mit einem frei definierbaren Text für weitere Informationen zu einem gerade behandelten Thema. Weitere Bausteinvorlagen sind in der Kategorie [[:Kategorie:Elementvorlage|Elementvorlage]] zu finden. ;Beispiel: <nowiki>{{Information|Text}}</nowiki> </noinclude><includeonly> {{InfoboxWithIcon|icon=Info.png|width=100%|content={{{1}}}}}</includeonly> 7a28dc98aa37534c4b3dda25eb73019afba4cd1b Template:Important 10 21 1133 2007-12-23T17:13:07Z Macwrench>Hagbard 0 Die Seite wurde neu angelegt: <noinclude>[[Kategorie:Artikelbaustein]]Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für wichtige Informationen zu einem gerade behandelte... wikitext text/x-wiki <noinclude>[[Kategorie:Artikelbaustein]]Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für wichtige Informationen zu einem gerade behandelten Thema. Weitere Bausteinvorlagen sind in der Kategorie [[:Kategorie:Artikelbaustein|Artikelbaustein]] zu finden. ;Beispiel: <nowiki>{{Wichtig|content=Text}}</nowiki> </noinclude><includeonly> {{InfoboxWithIcon|icon=Wichtig.png|width=100%|content={{{content}}}}}</includeonly> a6a9b68538b13e9a41633792479618674c45d28e 1134 1133 2007-12-23T17:13:54Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Artikelbaustein]]Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für wichtige Informationen zu einem gerade behandelten Thema. Weitere Bausteinvorlagen sind in der Kategorie [[:Kategorie:Artikelbaustein|Artikelbaustein]] zu finden. ;Beispiel: <nowiki>{{Wichtig|Text}}</nowiki> </noinclude><includeonly> {{InfoboxWithIcon|icon=Wichtig.png|width=100%|content={{{1}}}}}</includeonly> 1bced6390fb70d0b551e63531dcd4cf1eb80e8d8 1135 1134 2007-12-23T17:24:21Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für wichtige Informationen zu einem gerade behandelten Thema. Weitere Bausteinvorlagen sind in der Kategorie [[:Kategorie:Elementvorlage|Elementvorlage]] zu finden. ;Beispiel: <nowiki>{{Wichtig|Text}}</nowiki> </noinclude><includeonly> {{InfoboxWithIcon|icon=Wichtig.png|width=100%|content={{{1}}}}}</includeonly> 05d16d8550d58770f0c6be531dbae01426d75a36 Create Screen Shots in image formats other than PNG 0 152 725 2007-12-27T15:22:11Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Category:Betriebssystem]][[Kategorie:Kurztipp]] ==Ausgabeformat von Screenshots ändern== Mit den Tastenkombinationen :<KB>apfel + shift + 3</KB> :<KB>apfel + shift + 4</KB> lassen sich unter MacOS Screenshots erstellen. Diese landen seit MacOS 10.4 (aka Tiger) als PNG-Grafik auf der Platte (früher: PDF). Das Dateiformat lässt sich jedoch mit der folgenden Änderung ändern bzw. wieder auf PDF zurückstellen. Anmerkung: :<KB>ctrl + apfel + shift + 3</KB> :<KB>ctrl + apfel + shift + 4</KB> kopiert das Bild in die '''Zwischenablage''' ===Vorgehensweise im Terminal=== Im Terminal die folgende Zeile eingeben und mit <KB>return</KB> bestätigen: defaults write com.apple.screencapture type <nowiki><dateityp></nowiki> wobei <nowiki><dateityp></nowiki> durch das gewünschte Format zu ersetzen ist (z.B. PDF). Anschließend muss man sich neu anmelden, um die Änderungen wirksam werden zu lassen oder den folgenden Befehl im Terminal eingeben: killall SystemUIServer Prinzipiell lässt sich dort jedes von Quicktime unterstützte Bildformat angeben. ===fertige Tools=== Die Umstellung kann auch mit Hilfe eines graphischen Tools vonstatten gehen, z.b. mit * [http://www.imovieplugins.com/other%20products/savescreenie.html savescreenie] * [[mu:SCIT|SCIT]] * [[mu:shotChoice|shotChoice]] * [[mu:TinkerTool|TinkerTool]] ===Unterstützte Bildformate=== * [http://de.wikipedia.org/wiki/Windows_bitmap BMP] (Windows Bitmap) * [http://de.wikipedia.org/wiki/GIF GIF] (Graphics Interchange Format) * [http://de.wikipedia.org/wiki/JPG JPEG] (Joint Photographic Experts Group) * [http://de.wikipedia.org/wiki/JPG JPEG-2000] * [http://de.wikipedia.org/wiki/PDF PDF] <sup>*)</sup> (Portable Document Format) * [http://en.wikipedia.org/wiki/PICT PICT] * [http://de.wikipedia.org/wiki/Portable_Network_Graphics PNG] <sup>*)</sup> (Portable Network Graphics) * PSD (Adobe Photoshop) * SGI * [http://de.wikipedia.org/wiki/Targa_Image_File TGA] (Targa Image File, von Truevision Inc.) * [http://de.wikipedia.org/wiki/TIFF TIFF] (Tagged Image File Format) <sup>*)</sup> getestet (nicht alle sind verifiziert und getestet, Kommentare sind wie immer willkommen) ----- Verfasser: [[Benutzer:Hagbard|hagbard]] e5c4077906d23cd1ece04cc6ecb66c44c14cda96 Template:Man 10 30 1029 2007-12-27T15:44:45Z Macwrench>Hagbard 0 Die Seite wurde neu angelegt: <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Erzeugung eines Links zum [[Macwrench:Manpage|Manpage-Browser.]] ;Verwendungsbeispiel <nowiki>{{Man|vi}}</nowiki> <... wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Erzeugung eines Links zum [[Macwrench:Manpage|Manpage-Browser.]] ;Verwendungsbeispiel <nowiki>{{Man|vi}}</nowiki> <noinclude><includeonly><div id="link_manpage">[{{SERVER}}{{localurl:macwrench:Manpage|manpage={{{1}}}}} {{{2}}}]</div></includeonly> f3ac1706ecc215f095aed85a43f71de0a8a5a872 1030 1029 2007-12-27T15:45:49Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Erzeugung eines Links zum [[Macwrench:Manpage|Manpage-Browser.]] ;Verwendungsbeispiel <nowiki>{{Man|vi}}</nowiki> ;Ausgabe :{{Man|vi}} <noinclude><includeonly>[[Bild:Manpage|16px]] [{{SERVER}}{{localurl:macwrench:Manpage|manpage={{{1}}}}} {{{2}}}]</includeonly> cfcb53bdf966d25c4c48e8500e081f5d232ac86c 1031 1030 2007-12-27T15:46:49Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Erzeugung eines Links zum [[Macwrench:Manpage|Manpage-Browser.]] ;Verwendungsbeispiel <nowiki>{{Man|vi}}</nowiki> <noinclude><includeonly>[[Bild:Manpage.png|16px]] [{{SERVER}}{{localurl:macwrench:Manpage|manpage={{{1}}}}} {{{2}}}]</includeonly> 92de6572abcfe982de55769c3fcd4629265a5f1d 1032 1031 2007-12-27T15:47:06Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Erzeugung eines Links zum [[Macwrench:Manpage|Manpage-Browser.]] ;Verwendungsbeispiel <nowiki>{{Man|vi}}</nowiki> </noinclude><includeonly>[[Bild:Manpage.png|16px]] [{{SERVER}}{{localurl:macwrench:Manpage|manpage={{{1}}}}} {{{2}}}]</includeonly> e8ad6ccb87b2c2ec9923d0ada1596d229a6a185a Mount DMG Disk Images on Linux 0 177 848 2007-12-27T16:12:10Z Macwrench>Hagbard 0 wikitext text/x-wiki {{Legende|{{Linux}}}}[[Kategorie:Kurztipp]][[Bild:DMG.png|right]] Da .dmg Images im Prinzip ganz normale Disk-Images mit dem HFS-Dateisystem sind, lassen sie sich auch unter Linux benutzen. Dazu muss die Linux Installation allerdings über HFS+ Treiber verfügen, die üblicherweise als Modul geladen werden. Da unter Mac OS X allerdings mehrere unterschiedliche Imageformate erzeugt werden können, kann ich hier nicht beurteilen, ob wirklich alle gelesen werden können. Das gilt insbesondere für verschlüsselte oder komprimierte Diskimages, aber auch für die mitwachsenden welchen (Sparse Image). ==dmg Image testen== Bei einem gültigen - d.h. für Linux nutzbaren - Image sollte das Kommando file <imagename>.dmg die folgende (oder eine vergleichbare) Ausgabe erzeugen: <imagename>.dmg: Macintosh HFS data (mounted) created: ....bla..., last modified: ...bla..., block size: ...bla..., number of blocks: ...bla..., volume name: <volumename> ==dmg Image mounten== Eingebunden wird es dann einfach mit {{Man|mount|mount}} -t hfs -o loop <imagefile> <mountpoint> ==Weitere Informationen== * Manpage zu {{Man|mount|mount}} * Manpage zu {{Man|hdiutil|hdiutil}} (für das Erstellen von Images unter Mac OS X) * Artikel zu [[hdiutil]] (incl. Liste der verschiedenen Imagetypen) ----- ''Verfasser: [[Benutzer:Hagbard|hagbard]]'' bd5bb2ebcb7a7983432a4fcbe7c9627153ed2400 Template:Hint 10 92 1084 2007-12-28T13:08:15Z Macwrench>Hagbard 0 Die Seite wurde neu angelegt: <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für hilfreiche Tipps & Tricks zu einem gerade behandel... wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für hilfreiche Tipps & Tricks zu einem gerade behandelten Thema. Weitere Bausteinvorlagen sind in der Kategorie [[:Kategorie:Elementvorlage|Elementvorlage]] zu finden. ;Beispiel: <nowiki>{{Tipp|Text}}</nowiki> </noinclude><includeonly> {{InfoboxWithIcon|icon=Tipp.png|width=100%|content={{{1}}}}}</includeonly> 2446c3fe7c1e27c3e504090875246c2da19e5f0e 1085 1084 2007-12-28T13:08:51Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für hilfreiche Tipps & Tricks zu einem gerade behandelten Thema. Weitere Bausteinvorlagen sind in der Kategorie [[:Kategorie:Elementvorlage|Elementvorlage]] zu finden. ;Beispiel: <nowiki>{{Tipp|Text}}</nowiki> </noinclude><includeonly> {{InfoboxWithIconAndTitle|title=Tipp|icon=Tipp.png|width=100%|content={{{1}}}}}</includeonly> 3fa05ddbf63b773491ffb4e709f0a551a40c791d 1086 1085 2007-12-28T13:09:29Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für hilfreiche Tipps & Tricks zu einem gerade behandelten Thema. Weitere Bausteinvorlagen sind in der Kategorie [[:Kategorie:Elementvorlage|Elementvorlage]] zu finden. ;Beispiel: <nowiki>{{Tipp|Text}}</nowiki> </noinclude><includeonly> {{InfoboxWithTitleAndIcon|title=Tipp|icon=Tipp.png|width=100%|content={{{1}}}}}</includeonly> 8217b1600220fe2f041ed846b1294828851ec325 1087 1086 2007-12-28T13:11:33Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für hilfreiche Tipps & Tricks zu einem gerade behandelten Thema. Weitere Bausteinvorlagen sind in der Kategorie [[:Kategorie:Elementvorlage|Elementvorlage]] zu finden. ;Beispiel: <nowiki>{{Tipp|Text}}</nowiki> </noinclude><includeonly> {{InfoboxWithIconAndTitle|title=Tipp|icon=Tipp.png|width=100%|content={{{1}}}}}</includeonly> 3fa05ddbf63b773491ffb4e709f0a551a40c791d Template:InfoboxWithIconAndTitle 10 93 1093 2007-12-28T13:11:08Z Macwrench>Hagbard 0 Die Seite wurde neu angelegt: <noinclude>[[Kategorie:Interne_Vorlage]]Diese Vorlage dient der Erzeugung verschiedener [[:Kategorie:Artikelbaustein|Artikelbausteine]], wie z.B. zur Kennzeichnung * au... wikitext text/x-wiki <noinclude>[[Kategorie:Interne_Vorlage]]Diese Vorlage dient der Erzeugung verschiedener [[:Kategorie:Artikelbaustein|Artikelbausteine]], wie z.B. zur Kennzeichnung * ausbaufähiger Artikel * unvollständiger Artikel * unverständlicher Artikel * Löschkandidaten usw. Die Vorlage sollte '''nicht direkt verwendet werden''' sondern nur innerhalb der obigen [[:Kategorie:Artikelbaustein|Artikelbausteine]] zum Einsatz kommen. Für die Verwendung der Vorlage ohne Icon ist die Vorlage [[Vorlage:Infobox|Infobox]] zu verwenden. </noinclude><includeonly>{{ContentboxWithIconAndTitle|title={{{title}}}|icon={{{icon}}}|width={{{width}}}|content= {{{content}}}}}</includeonly> 2f7bddcf0c1800c72e1b3317af62c13c7b9d1857 Mdcheckschema 0 193 1017 2007-12-28T13:41:31Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Category:Terminal]]{{Artikelsymbol|Tool.png}} {{Artikelvorschlag}} {{Legende|{{OSX|10.4}}}} ==mdcheckschema== <font face="courier">mdcheckschema</font> ist ein Validierungstool für Importschemata. Weitere Informationen gibt es in [http://developer.apple.com/documentation/Carbon/Conceptual/MDImporters/index.html diesem Artikel] der Apple Developer Reference. ===Offene Fragen für diesen Artikel=== * Was ist ein Importschema? * Wie sieht ein solches Schema aus? ==Weitere Informationen== * {{Man|mdcheckschema|manpage mdcheckschema}} 124a60ce95ccb4d7b0b941a35405b862e4bc8a8d Mdfind 0 194 1021 2007-12-28T13:42:23Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Category:Terminal]]{{Artikelsymbol|Tool.png}}{{Legende|{{OSX|10.4}}}} ==mdfind== <font style="font-face:courier">mdfind</font> stellt ein Kommandozeileninterface für die Spotlightsuche zur Verfügung, um in den Metadaten nach Dokumenten zu suchen. ===Grundlegende Benutzung=== mdfind <optionen> <verzeichnis> <suchtext> also beispielsweise mdfind "Geburtstag Oma" ==Optionen== ===nicht-determinierende Suche=== Mit der Option -live wird der Suchvorgang nicht abgebrochen und die Ergebnisliste wird laufend aktualisiert (wenn z.B. neue Mails empfangen und indiziert werden). Abgebrochen werden kann dies durch Drücken von <KB>ctrl + c</KB> Beispiel: mdfind -live "Geburtstag Oma" ===Suche auf einen Ordner eingrenzen=== Mit der Option -onlyin <verzeichnis> wird die Suche auf ein Verzeichnis inclusive der darin enthaltenen Unterverzeichnisse eingeschränkt, beispielswiese: mdfind -onlyin ~/Bilder/ "Geburtstag Oma" ==Weitere Informationen== * {{Man|mdfind|manpage mdfind}} * Artikel des O'Reilly macdevcenter: [http://www.macdevcenter.com/pub/a/mac/2006/01/04/mdfind.html "The Power of mdfind"] (Andy Lester) 155b8f41dc71488b36fda7e979c175b3a67466f4 PDF Bookmarks with pdftex 0 161 772 2007-12-28T15:09:06Z Macwrench>Hagbard 0 hat [[Kurzipp - PDF-Bookmarks mit pdftex]] nach [[Kurztipp - PDF-Bookmarks mit pdftex]] verschoben wikitext text/x-wiki [[Category:TeX]][[Kategorie:Kurztipp]] ==Links und Verweise mit pdftex== Mit dem pdfex Paket sind diverse PDF-Funktionen auch aus TeX-Dokumenten heraus verfügbar: ==Lesezeichen== Mit Hilfe von [http://www.tug.org/applications/pdftex/ pdftex] können bei der Generierung eines [[Wikipedia:de:PDF|PDF]] Dokuments Links und Verweise als PDF-Links und das Inhaltsverzeichnis in PDF-Bookmarks umgesetzt werden. Dazu werden unter anderem die Pakete '''pdftex''' und '''hyperref''' benötigt und mit entsprechenden Optionen eingebunden: \usepackage[pdftex,pagebackref,colorlinks, <font color="gray">% Farbe von TeX-Verweisen (URLs):</font> linkcolor=<font color="orange">black</font>, <font color="gray">% Farbe von Verweisen ins Web (URLs):</font> urlcolor=<font color="orange">black</font>, <font color="gray">% Farbe von Zitaten:</font> citecolor=<font color="orange">black</font>, <font color="gray">% Bookmarks mit Kapitelnummern versehen:</font> bookmarksnumbered=true, pdfauthor={<font color="orange">Autor</font>}, pdftitle={<font color="orange">Titel des Dokumentes</font>}, pdfsubject={<font color="orange">Thema</font>}, pdfkeywords={<font color="orange">Schlüsselwörter</font>} ] {hyperref} An das Dokument anzupassende Angaben sind jeweils <font color="orange">hervorgehoben</font> ==Hyperlinks== Um URL-Angaben als Hyperlink auszuführen, sind sie wie folgt anzugeben: \url{<font color="orange"><nowiki><link></nowiki></font>} also zum Beispiel: \url{[http://www.macwrench.de/wiki http://www.macwrench.de/wiki]} Formatiert werden (z.B. Schriftart und -größe) kann die Ausgabe dann wie oben beim Einbinden der Pakete oder durch Überladen der entsprechenden Funktionen. Im obigen Beispiel für die Lesezeichen sind das die Aangaben linkcolor=<font color="orange">black</font> und urlcolor=<font color="orange">black</font> Für eine vollständige Übersicht über die Syntax und mögliche Optionen gibts auf der [http://www.pdftex.org offiziellen Webseite] einiges an Dokumentation, weitere Links gibts in unserer [[TeX_Links|TeX-Linksammlung]]. ----- Verfasser: [[Benutzer:Hagbard|hagbard]] 27df7cbf8c48a8bab100db4ae71a207b7ad2d197 Adding Watermarks with LaTeX 0 174 825 2007-12-28T15:18:00Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Category:TeX]][[Kategorie:Kurztipp]] ==Wasserzeichen in TeX-Dokumenten== Mit den folgenden Zeilen Code und einer Grafik lassen sich einfach TeX-Dokumente mit Wasserzeichen hinterlegen, z.B.: "Muster", "Draft" oder ähnliches. Dazu werden zuerst die folgenden Pakete benötigt: \usepackage{eso-pic,graphicx} Anschließend wird innerhalb der Tags \makeatletter ... \makeatother das Element \BackgroundPicture überladen: \newcommand\BackgroundPicture[3]{% \setlength{\unitlength}{1pt}% \put(0,\strip@pt\paperheight){% \parbox[t][\paperheight]{\paperwidth}{% \vfill \centering\includegraphics[<font color="orange">width=21.4cm</font>,<font color="orange">angle=45</font>]{<font color="orange">img/draft</font>} \vfill } } } und das Hintergrundbild vor dem einleitenden Tag \begin{document} eingefügt: \AddToShipoutPicture{\BackgroundPicture} '''Anm.:''' die <font color="orange">hervorgehobenen</font> Bereiche müssen ggf. an die eigene Grafik angepasst werden, im obigen Beispiel handelt es sich um ein DinA4 Format '''width:''' Breite<br /> '''height:''' Höhe<br /> '''angle:''' Drehungswinkel Beispielgrafik: ''DRAFT'' als [[media:tex-watermark-draft.pdf.zip|PDF]] oder [[media:tex-watermark-draft.ps.zip|PostScript]] ----- Verfasser: [[Benutzer:Hagbard|hagbard]] 77e0d525f079617149ec73096007ca16162e5acf Kurztipp - Wörter im Dictionary nachschlagen 0 66 838 2008-03-12T16:20:55Z Macwrench>Hagbard 0 /* Auswahl an Wörterbüchern */ wikitext text/x-wiki [[Category:Hilfsprogramm]][[Kategorie:Kurztipp]] {{Legende|{{OSX|10.4}}}} ==Dictionary Schnellzugriff== Für all diejenigen, die häufiger Wörter (oder heisst es dann Worte) im Duden nachschlagen müssen, empfiehlt sich die Tastenkombination <KB>ctrl + cmd + d</KB> Die Funktion ist in Cocoa-Applikationen wie den folgenden verfügbar: * TextEdit * Safari * Mail * Pages * Keynote Wer Sidetrack oder eine Mehr-Button-Maus benutzt, kann auch einen Shortcut auf diese Kombination legen ([http://www.agentlebossanova.net/images/sidetrack.jpg Einrichtung mit Sidetrack]) ==Auswahl an Wörterbüchern== Leider wird Mac OS X nur mit englischen Wörterbüchern ausgeliefert: * New Oxford American Dictonary * Oxford American Writers Dictionary * englische Wikipedia (seit [[:Kategorie:Mac_OS_10.5_Feature|Mac OS 10.5]]) Es lässt sich aber mit denen [http://web.mac.com/tekl/deutsch/W%C3%B6rterb%C3%BCcher.html auf dieser Seite] verfügbaren Wörterbüchern/Thesauri nachrüsten. ==Dictionary-Interna== Die Dictionaties sind in Form von <font face="courier">*.dict</font> Archiven im folgenden Verzeichnis zu finden: /Library/Dictionaries/ und beinhalten die folgenden Dateien: '''dict_body''' Dictionary-Inhalte als XML-Datei '''dictionary_1''' sieht ziemlich binär aus ... vllt. irgendeine Art TOC? '''images/''' ggf. noch ein Unterverzeichnis mit Bilddateien und die üblichen MacOS X Archiv-Beschreibungsdateien '''Info.plist''' '''PkgInfo''' Typ des Archivs (dictlam) '''version.plist''' Das Dictionary selber ist eine XML-Datei und folgt der [http://oup.dataformat.com/doc/OUP_DTD_Dictionary.html Dictionary DTD]. Vielleicht weiss jemand, was sich hinter der Binärdatei versteckt, sie beginnt auf jeden Fall recht obskur mit dictL,com.apple.DictionaryAccessMethod.ForwardTrie [http://www.google.com Google] wusste da auf die Schnelle auch nicht weiter ... ==Dictionaries hinzufügen== Nett wäre z.B. ein Wrapper für [http://dict.leo.org dict.leo.org] oder die [http://de.wikipedia.org Wikipedia] :) Vielleicht kann man ja irgendwie die [http://de.wikipedia.org/wiki/Wikipedia:Wikipedia-Distribution/Rohdaten Rohdaten] der Wikipedia Offline-Distribution Nutzen, die es als XML-Datei [http://download.directmedia.de/wikipedia/wikipedia_1_2005_xml.zip hier] zum Download gibt. Die ist aber anscheinend nicht sonderlich well-formed ... Unter [http://meta.wikimedia.org/wiki/Wik2dict diesem Link hier] gibts ein Konvertierungstool, um den SQL-Dump eines mediawikis ins dict-Format zu konvertieren (was ja das Dictionary-Tool in MacOS X verwendet). Damit wärs theoretisch möglich, die Wikipedia zu importieren, halt nur immer mit den aktuellen Release-Ständen - [[Benutzer:Hagbard|hagbard]] 18:25, 4. Jul 2005 (CEST) 828824d1afefc2755e394011431f84d1f92c23d8 PHP Security 0 163 779 2009-08-11T08:31:55Z Macwrench>Hagbard 0 /* mod_security */ wikitext text/x-wiki [[Kategorie:Sicherheit]] [[Kategorie:Netzwerkdienst]]{{Ausbaufähig}} In diesem Artikel sollen Möglichkeiten vorgestellt Werden, PHP gegen Angriffe abzusichern. Dabei sollen neben einigen Konfigurationstipps auch auf Erweiterungen wie mod-Security, FASTCGI oder suexec vorgestellt und beschrieben werden. ==Konfigurationsdateien== PHP-Direktiven lassen sich prinzipiell auf 2 verschiedenen Wegen einstellen: * in der Konfigurationsdatei {{Texttt|php.ini}} * in einer {{Texttt|.htaccess}} Datei mit Hilfe der PHP Apache-Direktiven ===php.ini=== Es existieren üblicherweise verschiedene Exemplare der Datei {{Texttt|php.ini}} für verschiedene Einsatzzwecke, hier am Beispiel eines Debian-Systems: {|style="margin-top:10px; margin-bottom:10px; margin-left:10px;" |-- |bgcolor="#e2e2e2"|Ort||bgcolor="#e2e2e2"|Zweck |-- |{{Texttt|/etc/php.ini }} ||Globale Konfiguration |-- |{{Texttt|/etc/php4/apache/php.ini }} ||Konfiguration für das Apache-PHP-Modul |-- |{{Texttt|/etc/php4/cgi/php.ini }} ||Konfiguration für den CGI-Betrieb im Apache |-- |{{Texttt|/etc/php4/cli/php.ini }} ||Konfiguration für die Nutzung in Shell-Skripten |} Unter Mac OS X existiert in der Standardinstallation lediglich die folgende Datei: /private/etc/php.ini ===.htaccess=== Einige (nicht alle!) Konfigurationsdirektiven lassen sich auch innerhalb der sog. ".htaccess" Dateien verwenden. Das ermöglicht beispielsweise unterschiedliche Einstellungen für einzelne VirtualHosts oder Verzeichnisse - so sind Produktivinstallationen anders (wesentlich restriktiver) zu konfigurieren als Entwicklungssysteme. Weitere Informationen zur Verwendung von .htaccess Dateien sind in den [[#Weitere_Informationen|am Ende des Artikels verlinkten Seiten]] nachzulesen. ===Wichtige Einstellungen=== {|style="margin-top:10px; margin-bottom:10px; margin-left:10px;" |-- |bgcolor="#e2e2e2" width="220px" |Direktive||bgcolor="#e2e2e2" width="120px" |Wert||bgcolor="#e2e2e2"|Beschreibung |-- |{{Texttt|php_flag register_globals}}||off||EGPCS Variablen sind nicht mehr global zugänglich bzw. als globale Variablen registriert (EGPCS = Environment/Umgebung, GET, POST, Cookie, Server) |-- |{{Texttt|php_flag display_errors}}||off||Fehlermeldungen nicht im Client (Browser) darstellen |-- |{{Texttt|php_flag log_errors}}||on||Fehlermeldungen in ein Logfile schreiben |-- |{{Texttt|php_flag error_log}} ||$PFADANGABE||Pfadangabe für das Logfile, z.B. {{Texttt|/home/web/logs/php4.log}} |-- | || syslog || Fehlermeldungen werden durch syslogd protokolliert |} ==PHP safe mode== Der sog. "safe mode" von PHP dient in erster Linie dazu, Sicherheitsprobleme durch Dateizugriffe bei gemeinsam genutzten Server (sog. "shared server", wie sie beispielsweise bei handelsüblichen Web-Hosting Angeboten zum Einsatz kommen) zu verhindern. Sprich: Kunde A soll nicht auf die Dateien und Verzeichnisse des Kunden B zugreifen können. Anschließend überprüft der PHP-Parser, ob der Eigentümer der Datei identisch mit dem Benutzer ist, der das Skript aufruft. Außerdem ist im safe mode der Zugriff auf [http://de.php.net/manual/de/reserved.variables.php Umgebungsvariablen] nur lesend möglich. Dieser Ansatz hat jedoch den großen Nachteil erhebliche Nebenwirkungen auf verschiedenste PHP-Funktionen zu besitzen. Eine Übersicht der dadurch eingeschränkten Funktionen ist [http://de.php.net/manual/de/features.safe-mode.php#features.safe-mode.functions im PHP Handbuch] nachzulesen. ===safe mode aktivieren=== Aktiviert und konfiguriert wird der PHP safe mode in der Konfigurationsdatei {{Texttt|php.ini}} durch die folgenden Direktiven: {| |-- |bgcolor="#e2e2e2" width="250px"|Direktive||bgcolor="#e2e2e2"|Beschreibung |-- |safe_mode = on || safe mode anhand eines Benutzers |-- |safe_mode_gid = 0||safe mode anhand der Gruppenzugehörigkeit (anstatt safe-mode zu verwenden, unter Angabe der Group-ID) |-- |safe_mode_include_dir = || Freigabe von Verzeichnissen für die PHP-Funktionen include() und require(). Mehrere Verzeichnisse werden durch Kommata getrennt, die Freigabe gilt dabei für die angegebenen Verzeichnisse inklusive allen darin enthaltenen Unterverzeichnissen. |-- |safe_mode_exec_dir = || Freigabe von Verzeichnissen für Systemaufrufe durch Funktionen wie system() oder exec() (Handhabung siehe safe_mode_include_dir) |-- |safe_mode_allowed_env_vars = PHP_ ||Freigabe von Umgebungsvariablen für schreibenden Zugriff. Ist der Wert leer, werden ALLE Umgebungsvariablen freigegeben! Mehrere Variablen/Präfixe werden durch Kommata voneinander getrennt. |-- |safe_mode_protected_env_vars = LD_LIBRARY_PATH ||Enthält eine Liste aller Umgeungsvariablen, die <u>nicht</u> mit der Funktion putenv() veränderbar sein sollen. '''Hinweis:''' die Angabe safe_mode_allowed_env_vars hebt diesen Schutz wieder auf! |-- |} ===safe mode abfragen=== Mit den folgenden Zeilen PHP-Code kann abgefragt werden, ob der safe mode aktiviert ist: <?php if ( ini_get('safe_mode') ) { // safe mode aktiviert } else { // safe mode nicht aktiviert } ===Dateizugriffe mit {{Texttt|open_basedir}} einschränken=== Eine weitere Möglichkeit alternativ zum safe mode, Dateizugriffe einzuschränken, ist der Einsatz der PHP Direktive open_basedir Im Rahmen der Apache-Konfiguration. Dadurch ist es möglich, für jeden Benutzer des Servers Dateizugriffsopertationen auf ein bestimmtes Verzeichnis (üblicherweise dessen Document Root) einzuschränken, z.B.: <Directory /home/web/user0815/> php_admin_value open_basedir /home/web/user0815/ </Directory> Durch folgenden Eintrag: disable_functions readfile,system in der Datei {{Texttt|php.ini}} kann zusätzlich der Zugriff durch die PHP Funktionen readfile() und system() verhindert werden (siehe folgender Abschnitt). ===Direktiven unabhängig von {{Texttt|safe_mode}}=== {| |-- |bgcolor="#e2e2e2" width="200px"|Direktive||bgcolor="#e2e2e2"|Beschreibung |-- |open_basedir = || Freigabe eines Verzeichnisses für Dateioperationen, wirksam für das Verzeichnis mit allen Unterverzeichnissen, unabhängig von der safe_mode Konfiguration. Bei Angabe eines Punktes "." wird der Speicherort des gerade ausgeführten Skriptes als basedir verwendet (sicherheitstechnisch bedenklich, da durch chdir() veränderbar). Kann durch die Angabe von {{Texttt|php_admin_value open_basedir none}} in der {{Texttt|httpd.conf}} deaktiviert werden. |-- |disable_functions = || Eine Liste von Funktionen, die (aus Sicherheitsgründen) nicht ausgeführt werden dürfen. Kann auch in der Datei {{Texttt|php.ini}} konfiguriert werden, nicht jedoch in der Datei {{Texttt|httpd.conf}} |-- |disable_classes = || Angabe einer Liste von Klassen, die (aus Sicherheitsgründen) nicht verwendet werden dürfen. Kann auch in der Datei {{Texttt|php.ini}} konfiguriert werden, nicht jedoch in der Datei {{Texttt|httpd.conf}} |} ==suexec, FastCGI und suPHP== ''... kommt noch ...'' Web-Links: * [http://www.suphp.org/ suPHP Projekt] (Ausführen von PHP Skripten mit den Rechten des Dateibesitzers) * [http://httpd.apache.org/docs/1.3/suexec.html suexec] (apache.org) * FastCGI: [http://www.fastcgi.com/ Projektseite], [[wikipedia:de:FastCGI|Wikipedia-Artikel]] ==Apache-Hardening mit mod_security== mod-Security ist eine [[wikipedia:de:Web_Application_Firewall|Applikationsfirewall]] in Form eines Apache-Moduls. Dabei kann anhand von Regeln - in denen auch [[wikipedia:de:Regulärer Ausdruck|reguläre Ausdrücke]] zum Einsatz kommen können - definiert werden, welche GET- und POST-Aufrufe<ref name="HTTPrequest">GET und POST sind verschiedene Methoden für [[wikipedia:de:Hypertext_Transfer_Protocol|HTTP]]-Anragen an einen Server</ref> "böse" sind und daher blockiert werden sollen. Diese Regeln werden dann direkt in die Apache-Konfiguration integriert und sehen beispielsweise so aus: <nowiki>SecFilter "drop[[:space:]]table"</nowiki> Obiger Eintrag blockiert also den String "drop table" und soll damit das Löschen einer Tabelle via [[wikipedia:de:SQL|SQL-Query]] verhindern. Mit diese Modul können also recht einfach verschiedene Ziele verfolgt werden: * Verminderung der Gefahr von SQL-Injection (Einfügen von Datenbankabfragen durch mangelhafte Überprüfung eingegebener Daten, z.B. in Formularen oder über die URL) * Abfangen von Systemaufrufen über fehlerhafte Skripte * Protokollierung sicherheitsrelevanter Vorfälle * Absichern des WebServers durch die "chroot"-Funktion von mod_security (Kapseln der Laufzeitumgebung des Webservers, um bei Angriffen Übergriffe auf die Systemumgebung zu verhindern) Außerdem bietet mod_security noch einige nette "Security-by-Obscurity" Funktionen wie beispielsweise das Ändern der Serversignatur: SecServerSignature "Microsoft-IIS/5.0" Der Einsatz von mod_security empfiehlt sich vor allem in den folgenden Fällen: * Software, die nur ungenügend getestet wurde * Software, die bekanntermaßen recht häufig Sicherheitslücken aufweist * Eigenentwicklungen (Jeder macht Fehler) mod_security bietet also einige wertvolle Funktionen zur Absicherung eines Webservers und der darin laufenden Applikationen, ohne gleich auf schwergewichtigere Lösungen wie [[wikipedia:de:Intrusion_Detection_System|IDS]] (Intrusion Detection System, z.B. [[wikipedia:de:Snort|Snort]]), [[wikipedia:de:Proxy|Proxies]] oder [[wikipedia:de:Application_Layer_Gateway|ALG]] (Application Level Gateway) setzen zu müssen. Weitere Informationen zu mod_security finden sich [[#mod_security|am Ende dieses Artikels]]. ==Verschiedene Tipps== ===PHP Skripte vor direkter Ausführung sichern=== Eine einfache Möglichkeit, das Ausführen von PHP-Skripten - und auch allgemein auch das Auslesen von durch PHP-Skripte eingebundene Dateien - durch direkte Adressierung im Browser zu verhindern, ist das Erstellen einer .htaccess-Datei mit dem folgenden Inhalt: order allow,deny deny from all Dadurch wird der direkte Zugriff auf die Dateien verhindert, Skripte können diese Dateien jedoch weiterhin problemlos einbinden und verwenden. ==Weitere Informationen== ===PHP Ressourcen=== * Artikel [[Webentwicklungs-Ressourcen]] hier im Wiki * [http://de.php.net/manual/de/ PHP Handbuch] (offizielles Handbuch) * Apple Developer Connection: [[ADC:internet/opensource/php.html|PHP on Mac OS X]] * O'Reilly [http://www.onlamp.com/php/ ONLamp.com/php]: PHP devcenter * [http://www.hardened-php.net/ Hardened-PHP Project] * [http://www.phpsec.org/ PHP Security Consortium] ===PHP Konfiguration=== * PHP Handbuch: [http://de.php.net/manual/de/security.php Teil IV. Sicherheit] * php.net: [http://de2.php.net/manual/de/print/configuration.php#configuration.file Informationen zur Konfiguration] * php.net: [http://de2.php.net/manual/de/print/ini.php Übersicht aller php.ini Direktiven] und [http://de2.php.net/manual/de/print/ini.core.php deren Beschreibung] * Securityfocus: [http://www.securityfocus.com/infocus/1706 Securing PHP Step-by-Step] * [http://phpsec.org/projects/phpsecinfo/ PHPSecInfo] - gibt analog zu {{Texttt|phpinfo()}} sicherheitsrelevante Informationen zur aktuellen PHP-Konfiguration aus. ===PHP safe mode=== * PHP Handbuch: [http://de.php.net/manual/de/features.safe-mode.php Kapitel 42. Safe Mode] * domainepublic.net: [http://doc.domainepublic.net/php/doc.php.court/ini.sect.safe-mode.html Konfigurationsübersicht] (Sécurité et Safe Mode) ===Apache Web Server=== * [http://httpd.apache.org Projektseite] des Apache Server Project * [http://de.selfhtml.org/servercgi/server/apache.htm Kleine Apache-Einführung] bei SelfHTML.org * Securityfocus: [http://www.securityfocus.com/infocus/1694 Securing Apache Step-by-Step] * Securityfocus: [http://www.securityfocus.com/infocus/1786 Securing Apache 2 Step-by-Step] ===.htaccess=== * [http://de.selfhtml.org/servercgi/server/htaccess.htm SelfHTML Artikel] zu .htaccess Dateien * [[wikipedia:de:Htaccess|Wikipedia-Artikel]] zum Thema * Beschreibung in der Apache Dokumentation, für [http://httpd.apache.org/docs/1.3/howto/htaccess.html Apache 1.3] und [http://httpd.apache.org/docs/2.0/howto/htaccess.html Apache 2] * Ken Coar: [http://apache-server.com/tutorials/ATusing-htaccess.html Using .htaccess Files with Apache] ===mod_security=== * [http://www.modsecurity.org/ Projektseite] * modsecurity.org: [http://www.modsecurity.org/documentation/quick-examples.html Quick examples] * Securityfocus: [http://www.securityfocus.com/infocus/1739 Web Security Appliance With Apache and mod_security] * O'Reilly [http://www.onlamp.com/ ONLamp.com]: ** [http://www.onlamp.com/pub/a/apache/2003/11/26/mod_security.html Introducing mod_security] ** [http://www.onlamp.com/pub/a/onlamp/2005/06/09/wss_security.html Securing Web Services with mod_security] * Fedora News: [http://fedoranews.org/jorge/mod_security/ HOWTO: Enhancing Apache with mod_security] ===PHPIDS=== * [http://php-ids.org/ Projektseite] * PHPIDS [http://groups.google.de/group/php-ids/ Google Group] * [http://www.heise.de/security/Erste-Schritte-mit-der-Einbruchserkennung-PHPIDS--/artikel/136032 Artikel auf heise security] vom 24.04.2009] * [http://www.net-developers.de/2009/05/23/phpids-intrusion-detection-system/ Weiterer Artikel auf net-developers.de] ===Weitere Themen=== * Securityfocus: [http://www.securityfocus.com/infocus/1726 Securing MySQL Step-by-Step] ===Bücher=== * '''PHP-Sicherheit. PHP/MySQL-Webanwendungen sicher programmieren'''<br />von Christopher Kunz, Peter Prochaska (Dpunkt Verlag), ISBN 3898643697<br />Buchtipp des [http://www.phpmagazin.de/itr/buchtipps/psecom,id,503,nodeid,63.html PHP-Magazins] ----- <references/> ----- ''Verfasser: [[Benutzer:Hagbard|hagbard]]'' d3b71e35654089f9c275b67eecd530bd506085fb Template:Translucent 10 196 1141 2009-08-21T06:54:01Z Macwrench>Hagbard 0 Die Seite wurde neu angelegt: <noinclude>[[Kategorie:Formatierungsvorlage]]Vorlage zur halbtrasnsparenten Darstellung von (beliebigen) Inhalten. </noinclude><includeonly><div style="opacity:0.6 !imp... wikitext text/x-wiki <noinclude>[[Kategorie:Formatierungsvorlage]]Vorlage zur halbtrasnsparenten Darstellung von (beliebigen) Inhalten. </noinclude><includeonly><div style="opacity:0.6 !important;">{{{1}}}</div></includeonly> 7699efedd034b723a2928b796260edeaf8b15cc1 Template:Translucent 10 196 1142 1141 2009-08-21T06:55:13Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Formatierungsvorlage]]Vorlage zur halbtrasnsparenten Darstellung von (beliebigen) Inhalten. </noinclude><includeonly><div style='opacity:0.6 !important;'>{{{1}}}</div></includeonly> 82e4c2d36c02745ef42ff7e42f2d363af5677c46 1143 1142 2009-08-21T06:57:14Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Formatierungsvorlage]]Vorlage zur halbtrasnsparenten Darstellung von (beliebigen) Inhalten. ;Beispiel: <nowiki>{{Opaque|1=[[Bild:MacOS10.5.png|32px]]}}</nowiki> ;Ausgabe: :{{Opaque|1=[[Bild:MacOS10.5.png|32px]]}} </noinclude><includeonly><div class=opaque>{{{1}}}</div></includeonly> 07041ada3138d760845806944d3073006ef9e8de Move windows across Spaces 0 153 730 2009-11-19T12:21:18Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Kategorie:Betriebssystem]][[Kategorie:Kurztipp]]{{Legende|{{OSX|10.5}}}} Um unter Mac OS X 10.5 (Leopard) ein Fenster auf einen anderen Desktop von Spaces zu verschieben, ohne umständlich die Fenster mit der Maus herumdraggen zu müssen, genügt folgendes: * Fenster in der Titelleiste anklicken und Maustaste gedrückt halten (als ob man es verschieben will) * Desktop wechseln (standardmäßig <KB>CTRL</KB> + Desktopnummer Auf dem gewünschten Desktop die Maustaste wieder loslassen Alternativ kann man auch über die Spaces-Übersicht (standardmäßig über <KB>F8</KB> erreichbar) die Fenster zwischen verschiedenen Spaces hin- und herverschieben. {{Tipp|Auf diese Weise lassen sich auch andere Drag'n'Drop Operationen durchführen, beispielsweise das Einfügen einer Grafikdatei aus einem Finder-Fenster von Desktop 1 in eine E-Mail auf Desktop 3.}} Unter Mac OS X 10.6 (Snow Leopard) lassen sich die Fenster auch direkt in der Spaces-Übersicht verschieben. ---- ''Verfasser: [[Benutzer:Hagbard|hagbard]]'' 1191f9bf304fb4aee22d11ab931a936fd51ca027 MacOS Keyboard Shortcuts 0 186 927 2009-11-30T11:40:16Z Macwrench>Hagbard 0 hat [[MacOS Keyboard Shortcuts]] nach [[Mac Keyboard Shortcuts]] verschoben: Der Artikel behandelt ja nicht nur Software-bezogene Shortcuts (z.B. PRAM Reset) wikitext text/x-wiki #REDIRECT [[Mac Keyboard Shortcuts]] 984429fb49a9774737093438e98313885c03d1f9 Disable Firefox History Navigation when swiping horizontally 0 155 742 2009-11-30T14:58:12Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Kategorie:Internet]][[Kategorie:Kurztipp]] ==Horizontales History-Scrolling im Firefox== Im Firefox existieren ein paar Variablen, mit denen das Verhalten des Mausrades bestimmt werden kann. Dazu wird zwischen horizontalem und vertilkalem Scrolling unterschieden. ===Problem=== Insbesondere in Verbindung mit [[Maus am Mac|iScroll]] kann die horizontale Version dabei äußerst lästig sein, da bei nicht exakt vertikalen Bewegungen auf dem Touchpad der Firefox munter in der History herumspringt. ===Abhilfe=== Um die Funktion umzubelegen bzw. zu deaktivieren, kann man den Wert einer Konfigurationsvariablen auf der Konfigurationsseite about:config ändern (einfach genau so in die Adresszeile eingeben). Dazu muss der Variablen mousewheel.horizscroll.withnokey.action ein anderer Wert zugewiesen werden, standardmäßig ist dies mousewheel.horizscroll.withnokey.action = 2 Ein wert von 0 schafft beispielsweise Abhilfe. Dass der Wert der Variablen verändert wurde, ist am Status erkennbar - da steht nun "Vom Benutzer festgelegt" (oder das lokalisierte Pendant). Zu beachten ist, dass der Wert ein '''[[Wikipedia:de:Integer_(Datentyp)|integer]]''' sein muss, die Variable also nur ganzzahlige Werte aufnehmen kann. == Siehe auch == * [[Versteckte Firefox-Einstellungen]] ----- ''Verfasser: [[Benutzer:Hagbard|Hagbard]]'' 956be6e4d0c134dc2bc42067a076b064da94f8b6 Quit app when closing the last window (Cocoa, Objc) 0 149 711 2009-11-30T23:58:14Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Kategorie:Codebeispiel]][[Kategorie:Cocoa]][[Kategorie:Kurztipp]] Um eine ObjC-Cocoa-Applikation mit dem Schließen des letzten Fensters automatisch zu beenden, ist folgendes zu machen: in die Methode '''awakeFromNib''' folgende Zeilen einfügen, das sieht dann etwa so aus: - (void)awakeFromNib { ... [NSApp setDelegate:self]; ... } Anschließend eine Methode namens '''applicationShouldTerminateAfterLastWindowClosed''' erstellen, die wie folgt aussieht: - (BOOL)[http://www.cocoadev.com/index.pl?NSApplication applicationShouldTerminateAfterLastWindowClosed]:(NSApplication *)theApplication { return YES; } Fertig! Dazu gibt es auch eine ganze Reihe alternativer Vorgehensweisen, diese hier ist aber sehr einfach und funktioniert ... ;-) b14416c641a4e92bb2fd47d0ee4e92cf7c071161 Change the Wallpaper of the Login Screen 0 157 752 2009-12-11T15:44:37Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Kategorie:Kurztipp]]{{Artikelsymbol|LoginWindowLogout.png}}{{Legende|{{OSX|10.5}}}}Das im Anmeldebildschirm von Mac OS 10.5 verwendete Hintergrundbild befindet sich nicht im gleichen Verzeichnis wie die übrigen Desktop-Hintergrundbilder /Library/Desktop Pictures/ sondern an einer anderen Stelle im System: /System/Library/CoreServices/DefaultDesktop.jpg Um ein anderes Bild dafür zu verwenden, gibt es prinzipiell zwei Möglichkeiten: ===Ändern der Voreinstellungen=== Das zu verwendende Hintergrundbild wird in folgender Einstellungsdatei festgelegt und kann dementsprechend auch geändert werden: /Library/Preferences/com.apple.loginwindow Das kann in einem Editor der Wahl oder mit dem folgenden Befehl über das Terminal erfolgen: <source bash> /usr/bin/defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture "/pfad/zum/neuen/bild.jpg" </source> Um diese Änderung rückgängig zu machen, ist dann dasselbe mit dem ursprünglichen Bild aufzurufen: <source bash> /usr/bin/defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture "/System/Library/CoreServices/DefaultDesktop.jpg" </source> {{Information|1='''Achtung:''' Der Benutzer muss dazu Schreibrechte im Systemverzeichnis haben, d.h. den obigen Befehlen ist u.U. ein "{{TT|1={{Man|sudo|sudo}} }}" voranzustellen!}} ===Ersetzen der Datei=== Diese Datei ist einfach durch eine andere zu ersetzen, wobei die Zugriffsrechte der neuen Datei unbedingt angepasst werden müssen! Das kann entweder über den Info-Screen der Datei oder im Terminal erfolgen. Im [[:Kategorie:Terminal|Terminal]] sind dazu nacheinander folgende Befehle einzugeben (MYNEWPICTURE ist dabei durch den Pfad zum neuen Bild zu ersetzen): <source bash> cd /System/Library/CoreServices mv DefaultDesktop.jpg DefaultDesktop.jpg.original cp MYNEWPICTURE /System/Library/CoreServices/DefaultDesktop.jpg % chown root:wheel /System/Library/CoreServices/DefaultDesktop.jpg % chmod 644 /System/Library/CoreServices/DefaultDesktop.jpg </source> {{Information|'''Achtung:''' Bei einem späteren Systemupdate kann diese Datei wieder durch die ursprüngliche Systemdatei überschrieben werden!}} ===Alternativen=== * [http://www.loginox.branox.com/ Loginox] (Freeware) d2cbf1c5f13eca17f3f42e08ea45f6dbbe6307e2 MacOS absichern 0 190 949 2010-01-12T11:32:32Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Kategorie:Artikelreihe]] [[Kategorie:Sicherheit]] [[Kategorie:Betriebssystem]] [[Kategorie:Netzwerk]] {{Ausbaufähig}}{{Artikelsymbol|Finder.png}} Auch wenn das Mac OS X einen sehr guten Ruf hinsichtlich Sicherheit genießt, ist es dennoch ratsam, sich einige Gedanken zu diesem Thema zu machen. Schließlich ist bei einer Standardinstallation noch reichlich Optimierungspotential vorhanden, zumal das Betriebssystem dafür bereits recht umfangreiche Möglichkeiten mitbringt. Zudem ist auch zu erwarten, dass bei zunehmender Verbreitung des Mac OS auch das Gefahrenpotential durch Schadsoftware zunehmen und die Sicherheit auch auf dem Mac ein wichtiges und nicht zu unterschätzendes Thema sein wird. Die Artikelreihe "Mac OS X absichern" widmet sich daher diesem Thema, von der Betriebssystemkonfiguration bis hin zu Tipps und Tricks für die tägliche Nutzung. Die thematische Aufteilung der Unterartikel sieht dabei wie folgt aus: ----- {{Contentbox|width=100%|content=[[Bild:Finder.png|128px|right]]<big>'''Teil 1: [[Mac_OS_X_absichern_-_Betriebssystemkonfiguration|Betriebssystemkonfiguration]]'''</big> :&nbsp; :Dieser Teil widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen.}} {{Contentbox|width=100%|content=[[Bild:NetworkDiagnostics.png|128px|right]]<big>'''Teil 2: [[Mac_OS_X_absichern_-_Netzwerkkonfiguration|Netzwerkkonfiguration und Firewall]]'''</big> :&nbsp; :Dieser Teil der Artikelreihe widmet sich unter anderem der Netzwerkkonfiguration. Außerdem wird auf die Konfiguration der Mac OS X Firewall ({{Man|ipfw|ipfw}}, eigentlich ein Paketfilter) ebenso eingegangen wie aif die sichere Einrichtung der verschiedenen Serverdienste wie SSH ("entfernte Anmeldung"), httpd ("Personal Web Sharing") und AFP ("Personal File Sharing").}} {{Contentbox|width=100%|content=[[Bild:KeychainAccess.png|128px|right]]<big>'''Teil 3: [[Mac_OS_X_absichern_-_Security-Anwendungen|Applikationen für die Systemsicherheit]]'''</big> :&nbsp; :In diesem Artikel geht es um die Nutzung und Konfiguration von Anwendungen für die Systemsicherheit. Das umfasst neben der laufenden System- und Anwendungsaktualisierung auch die Nutzung von Dritthersteller-Software. Auch wenn die Viren- und Wurmschwemme (noch) am Mac vorbeizieht, lohnt sich dennoch ein Blick auf die in diesem Bereich bereits verfügbare Software. }} {{Contentbox|width=100%|content=[[Bild:ActivityMonitor.png|128px|right]]<big>'''Teil 4: [[Mac_OS_X_absichern_-_Sichere_Nutzung|Die alltägliche Nutzung]]'''</big> :&nbsp; :Hier sollen dem Anwender Hilfestellungen für die tägliche Arbeit am Mac gegeben werden. Gefahrenpotentiale werden aufgedeckt und bestimmte Verhaltensweisen für die sichere Nutzung beschrieben. Die dafür zu verwendenden Bordwerkzeuge des Betriebssystems werden dabei ebenso beschrieben wie wiederkehrende Aufgaben zur Bereinigung des Systems.}} {{Contentbox|width=100%|content=[[Bild:AirportAdmin.png|128px|right]]<big>'''Teil 5: [[Mac_OS_X_absichern_-_Mobile_Nutzung|Sicher unterwegs - mobile Nutzung]]'''</big> :&nbsp; :In diesem Artikel geht es hauptsächlich um die mobile Nutzung, z.B. mit einem Notebook. Dabei sollen Möglichkeiten für Diebstahlsicherung und den Schutz der persönlichen Daten aufgezeigt werden, wofür auch zu diesem Zweck verfügbare Software vorgestellt wird.}} ----- Links zu Artikeln im Internet und anderen weiterführenden Informationen sind thematisch sortiert am Ende des jeweiligen Artikels im Abschnitt "Weitere Informationen" zu finden. Wünsche, Anregungen, Kritik und Fehlerhinweise sind wie immer willkommen und auf der Diskussionsseite des jeweiligen Artikels zu vermerken. Ich habe diese Artikelreihe begonnen, um einmal einen Gesamtüberblick über alle Möglichkeiten zu schaffen, die das Mac OS so in Sachen Security bietet. Ich werde mich nach und nach den einzelnen Artikel widmen, Themenvorschläge und Anregungen sind bitte so lange auf der [[Diskussion:{{PAGENAME}}|Diskussionsseite dieses Artikels]] zu hinterlegen. Danke! Gruß, [[Benutzer:Hagbard|hagbard]] ----- ''Verfasser: [[Benutzer:Hagbard|Hagbard]]'' __NOTOC__ 02ae333de58c5d58dcc485c8ab5ce6555449f32c Activate Momentum Scrolling for a Magic Mouse 0 159 761 2010-02-21T22:13:40Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Kategorie:Peripherie]][[Kategorie:Kurztipp]]{{Artikelsymbol|MagicMouse.png}}{{Legende|[[Bild:Terminal.png|32px]]{{OSX|10.5}}}} Um den animierten Nachlauf beim Scrollen (Momentum Scrolling) mit der [http://www.apple.com/de/magicmouse/ Apple Magic Mouse], der unter [[:Kategorie:Mac_OS_10.6_Feature|Mac OS X Snow Leopard]] in den Maus-Einstellungen (de-)aktivierbar ist, auch unter [[:Kategorie:Mac_OS_10.5_Feature|Mac OS X Leopard]] (10.5) zu aktivieren, ist im [[:Kategorie:Terminal|Terminal]] folgendes einzugeben: defaults write com.apple.driver.AppleBluetoothMultitouch.mouse MouseMomentumScroll -bool yes Anschließend ist die Scrolling-Funktion in den Maus-Einstellungen (Systemeinstellungen -> Maus) zu deaktivieren und unmittelbar danach gleich wieder zu aktivieren. Nun sollte der Nachlauf aktiv sein, auch wenn er in den Systemeinstellungen nicht direkt sicht- oder auswählbar ist. Zum Deaktivieren einfach folgendes Kommando im Terminal ausführen: defaults delete com.apple.driver.AppleBluetoothMultitouch.mouse MouseMomentumScroll 74072517caa7273de30fe7f91771a4a4e8414171 Launchd 0 178 853 2010-03-17T09:22:50Z Macwrench>Hagbard 0 /* Graphische Oberflächen */ wikitext text/x-wiki [[Kategorie:Betriebssystem]]{{Ausbaufähig}} '''Artikelplanung:''' siehe [[{{TALKPAGENAME}}|Diskussionsseite]] == Graphische Oberflächen == Für die bequemere Nutzung von launchd (v.a. zur Verwaltung laufender Dienste) existieren auch graphische Oberflächen: * [[sourceforge:lingon|Lingon]] zum Erzeugen von launchd-Konfigurationsdateien, Frontend für {{Man|launchctl|launchctl}} (Open Source) * [http://www.codepoetry.net/products/launchdeditor Launchd Editor] zum Erzeugen von launchd-Konfigurationsdateien (Shareware, 5$) == Weitere Informationen == * [[wikipedia:de:Launchd|launchd]] in der [[wikipedia:de:Launchd|Wikipedia]] * [http://data.scl.utah.edu/fmi/xsl/stream/details.xsl?-recid=200&a::v=EyaO944i72 launchd in Depth] (scl.utah.edu) * [http://www.macgeekery.com/tips/all_about_launchd_items_and_how_to_make_one_yourself All About launchd Items (and How To Make One Yourself)] (www.macgeekery.com) * [http://www.macgeekery.com/tips/some_launchd_recipes Some Launchd Recipes] (www.macgeekery.com) ===manpages=== * {{Man|launchd|launchd}} ([[ADC:documentation/Darwin/Reference/ManPages/man8/launchd.8.html|ADC]]) * {{Man|launchctl|launchctl}} ([[ADC:documentation/Darwin/Reference/ManPages/man1/launchctl.1.html|ADC]]) * {{Man|launchd.plist|launchd.plist}} ([[ADC:documentation/Darwin/Reference/ManPages/man5/launchd.plist.5.html|ADC]]) * {{Man|launchd_debugd|launchd_debugd}} ([[ADC:documentation/Darwin/Reference/ManPages/man8/launchd_debugd.8.html|ADC]]) * {{Man|launchd.conf|launchd.conf}} ([[ADC:documentation/Darwin/Reference/ManPages/man5/launchd.conf.5.html|ADC]]) ===ADC Referenz=== * [[ADC:macosx/launchd.html|Getting Started with launchd]] * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/LaunchOnDemandDaemons.html|Creating launchd Daemons and Agents]] * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/CustomLogin.html|Customizing Login and Logout]] ;MacDevCenter - Startup Programming Topics ([[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/BPSystemStartup.pdf|PDF]]) * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/BootProcess.html|The Boot Process]] * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/DesigningDaemons.html|Guidelines for Creating and Launching Daemons]] bd5106406efd21ebc7c18404a868904d8dc3e05e Add Inline Images to Continuous TeXt 0 156 748 2010-03-17T09:51:23Z Macwrench>Hagbard 0 /* Grafiken erzeugen */ wikitext text/x-wiki [[Kategorie:TeX]][[Kategorie:Kurztipp]] Schön abgesetzte Grafiken und Abbildungen sind ja an sich in Ordnung; manchmal ist es aber zu Illustrationszwecken auch sehr praktisch, Grafiken vom Text umfließen zu lassen. Das geht mit TeX folgendermaßen: ===Package einbinden=== Zuerst ist das Package <font face="courier">wrapfig</font> notwendig, das wie folgt eingebunden wird: \usepackage{wrapfig} ===Grafiken erzeugen=== Anschließend wird beispielsweise wie folgt eine Grafik eingebunden: \begin{wrapfigure}[<font color="orange">$ZEILEN</font>]{<font color="orange">$AUSRICHTUNG</font>}{<font color="orange">$BEITE</font>} \includegraphics[<font color="orange">$IMAGEVARS</font>]{<font color="orange">$IMAGE</font>} \label{blah} \caption{blah} \end{wrapfigure} Wobei die obigen Variablen durch folgendes zu ersetzen sind: <font color="orange">$ZEILEN:</font> Anzahl der Zeilen Text, die die Grafiken umfließen sollen, z.B. 20 <font color="orange">$AUSRICHTUNG:</font> l (links) oder r (rechts) <font color="orange">$BREITE:</font> Breite des Textumflusses 4cm <font color="orange">$IMAGEVARS:</font> die sonst üblichen Optionen für Grafiken, z.B.: width=4cm <font color="orange">$IMAGE:</font> Grafikdatei ohne Endung, z.B. img01 Das kann dann ungefähr so aussehen: \begin{wrapfigure}[21]{r}{4cm} \includegraphics[width=4cm]{img/Siemens-sx1} \label{Mobiltelefon Siemens SX-1, Quelle: de.wikipedia.org} \caption{Mobil-telefon Siemens SX-1, Quelle: de.wikipedia.org} \end{wrapfigure} vielleicht nicht die eleganteste Lösung, aber sie funktioniert :) ===Alternative: {{TT|\parpic}}=== Alternativ kann für kleine Icons am Textrand auch das Package ''picins'' benutzt werden: <source lang="latex"> \usepackage{picins} \parpic{\includegraphics[width=1.6 cm]{pics/smallicons/MessageFilter}} </source> Danke an [[Benutzer:Aendes|aendes]] für den Tipp ;-) ----- ''Verfasser: [[Benutzer:Hagbard|Hagbard]] 3f59412ac99fe6b26704bd0e4d0e78cbd66f709a Source Code Listings with LaTeX 0 164 784 2010-03-17T09:58:08Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Category:TeX]][[Kategorie:Kurztipp]] ==Listings in TeX Dokumenten== Um in [[Wikipedia:de:TeX|TeX]] Dokumenten Quelltexte (Programmlistings) einzufügen, bietet sich die Verwendung des Pakets '''listings''' an. Dazu muss das Paket zuerst mit <source lang="latex"> \usepackage{listings} </source> eingebunden werden, außerdem empfiehlt sich für farbiges Syntax-Highlighting die Verwendung des Pakets ''color'' <source lang="latex"> \usepackage{color} </source> ==Quellcode einbinden== Dazu gib es 2 Möglichkeiten, entweder direkt im TeX Dokument (inline) oder als eigenständige Datei: ===inline=== <source lang="latex"> \begin{lstlisting} [caption={ein paar Zeilen code}\label{lst:test123},captionpos=t] for i:=maxint to 0 do begin j:=square(root(i)); end; \end{lstlisting} </source> ===externe Datei=== Hier im Beispiel eine Datei namens <font face="courier">beispiel.java</font> <source lang="latex"> \lstinputlisting [caption={Ein kleines Programm in Java} \label{lst:javaclass}, captionpos=t,language=JAVA] {listings/beispiel.java} </source> ===Hinweise=== '''label:''' Label für Referenzen auf das Listing mit \ref{lst:xyz}<br /> '''caption:''' Beschreibungstext<br /> '''captionpos:''' Position des Beschreibungstextes (t=top, b=bottom)<br /> '''language:''' [Dialekt]Sprache - Angabe einer Programmiersprache (z.B. JAVA, XML, C, C++) oder eines Dialekts (z.B. [LaTeX]TeX) ==Formatierung== ===Farben=== Mit Hilfe des Pakets ''color'' lassen sich mit Hilfe von <source lang="latex"> \color{<colour>} </source> Farbwerte verwenden sowie eigene definieren, z.B.: <source lang="latex"> \definecolor{middlegray}{rgb}{0.5,0.5,0.5} \definecolor{lightgray}{rgb}{0.8,0.8,0.8} \definecolor{orange}{rgb}{0.8,0.3,0.3} \definecolor{yac}{rgb}{0.6,0.6,0.1} </source> ===Quellcode=== Die Darstellung der Quellcodeabschnitte wird über \lstset{} formatiert, dabei stehen mehrere Variablen zur Verfügung, z.B.: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em;" ! background:#e3e3e3; width="200px" | Variable || width="200px" | Beschreibung || Beispiel |- | backgroundcolor || Hintergrundfarbe || \color{lightgray} |- | basicstyle || Schriftformatierung || \scriptsize\ttfamily |- | keywordstyle || Schlüsselwörter || \bfseries\ttfamily\color{orange}, |- | stringstyle || Variablen || \color{green}\ttfamily, |- | commentstyle || Kommentare || \color{middlegray}\ttfamily, |- | emph<br />emphstyle<br />emph<br />emphstyle | Variablen | square<br />\color{blue}\texttt<br />[2]root,base<br />[2]\color{yac}\texttt |- | showstringspaces || leerzeichen in Strings darstellen || true / false |- | flexiblecolumns || Spaltenbreite dynamisch/fest || true / false |- | tabsize || Tabulatorenbreite || 2, |- | numbers || Position der Zeilennummern || left / right |- | numberstyle || Größe der Zeilennummern || \tiny |- | numberblanklines || leere Zeilen durchnummerieren || true / false |- | stepnumber || Beginn der Nummerierung || 1 |- | numbersep || Abstand zwischen Zeilennummern und Quellcode || 10pt |- | xleftmargin || Abstand zum Rand || 15pt |} '''Anm.:'''<br /> Formatierung immer $key={$value}, Trennung mehrerer Definitionen durch Kommata<br /> <source lang="latex"> \bfseries: '''fettgedruckt'''<br /> \ttfamily: <font face="courier">typewriter</font><br /> \tiny: <small>klein</small> </source> Beispiel: <source lang="latex"> \lstset{ basicstyle=\scriptsize\ttfamily, keywordstyle=\bfseries\ttfamily\color{orange}, stringstyle=\color{green}\ttfamily, commentstyle=\color{middlegray}\ttfamily, emph={square}, emphstyle=\color{blue}\texttt, emph={[2]root,base}, emphstyle={[2]\color{yac}\texttt}, showstringspaces=false, flexiblecolumns=false, tabsize=2, numbers=left, numberstyle=\tiny, numberblanklines=false, stepnumber=1, numbersep=10pt, xleftmargin=15pt } </source> ==Quellcodeverzeichnis== Analog zu Abbildungs- und Tabellenverzeichnis kann auch ein Quellcodeverzeichnis eingebunden werden, das funktioniert mit <source lang="latex"> \lstlistoflistings </source> Um einen Eintrag im Inhaltsverzeichnis zu ermöglichen, sind jedoch einige Handgriffe erforderlich, so sind im TeX-Kopf (also vor <font face="courier">\begin{document}</font>) einige Elemente aus dem Dokumentenstyle (hier book.cls) und listings.sty zu überladen. Zur Info: die beiden Dateien befinden sich üblicherweise an den Orten /usr/local/teTeX/share/texmf.tetex/tex/latex/base/book.cls bzw. /usr/local/teTeX/share/texmf.tetex/tex/latex/listings/listings.sty wobei diese Dateien ja nicht editiert werden. Das erfolgt durch Einfügen des Code in das TeX-Dokument, und zwar zwischen die Tags <source lang="latex"> \makeatletter ... \makeatother </source> mit Hilfe der Anweisungen <source lang="latex"> \renewcommand (einen existierenden Befehl überschreiben) \newcommand (einen neuen Befehl erzeugen) </source> Das sieht dann - analog zu den [[Kurztipp - Verzeichnisse mit Kapitelnummern|Verzeichnissen]] etwa so aus: <source lang="latex"> \makeatletter % Festlegen des Kapitelnamen (nicht unbedingt notwendig): % aus listing.sty \renewcommand\lstlistlistingname{Quellcode} % Erzeugen eines Eintrags im Inhaltsverzeichnis: % aus book.cls \newcommand\loltableofcontents{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi \chapter*{\contentsname % \@mkboth{% % \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% \chapter{\lstlistlistingname} \@starttoc{toc}% \if@restonecol\twocolumn\fi } % Erzeugen des Quellcodeverzeichnisses: % aus listing.sty \renewcommand\lstlistoflistings{\bgroup \let\contentsname\lstlistlistingname \let\lst@temp\@starttoc \def\@starttoc##1{\lst@temp{lol}}% \loltableofcontents \egroup} \makeatother </source> ----- Verfasser: [[Benutzer:Hagbard|hagbard]] 32cdfba7e1881c1f593735812933f26acfbe9341 Show Numbered Chapters in a TeX TOC 0 173 820 2010-03-17T10:01:06Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Category:TeX]][[Kategorie:Kurztipp]] ==Verzeichnisse mit Kapitelnummern versehen== Standardmäßig werden im Dokumententyp ''book'' Verzeichnisse ohne Kapitelnummern dargestellt und tauchen nicht im Inhaltsverzeichnis auf. Das entspricht dem Effekt, den man durch die Verwendung von <source lang="latex"> \chapter*{} </source> anstatt von <source lang="latex"> \chapter{} </source> erreicht. Das kann aber durch Überladen einiger Anweisungen aus der Datei '''book.cls''' geändert werden, wobei der Code im Kopf des TeX-Dokumentes (also vor <font face="courier">\begin{document}</font>) zwischen den Tags <source lang="latex"> \makeatletter ... \makeatother </source> stehen sollte. Das sieht dann etwa so aus: ===Abbildungsverzeichnis=== <source lang="latex"> \renewcommand\listoffigures{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi %\chapter*{\listfigurename}% \chapter{\listfigurename}% \@mkboth{\MakeUppercase\listfigurename}% {\MakeUppercase\listfigurename}% \@starttoc{lof}% \if@restonecol\twocolumn\fi } </source> ===Tabellenverzeichnis=== <source lang="latex"> \renewcommand\listoftables{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi %\chapter{\listtablename}% \chapter{\listtablename}% \@mkboth{% \MakeUppercase\listtablename}% {\MakeUppercase\listtablename}% \@starttoc{lot}% \if@restonecol\twocolumn\fi } </source> ===Literaturverzeichnis=== <source lang="latex"> \renewenvironment{thebibliography}[1] %{\chapter*{\bibname}% {\chapter{\bibname}% \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% \list{\@biblabel{\@arabic\c@enumiv}}% {\settowidth\labelwidth{\@biblabel{#1}}% \leftmargin\labelwidth \advance\leftmargin\labelsep \@openbib@code \usecounter{enumiv}% \let\p@enumiv\@empty \renewcommand\theenumiv{\@arabic\c@enumiv}}% \sloppy \clubpenalty4000 \@clubpenalty \clubpenalty \widowpenalty4000% \sfcode`\.\@m} {\def\@noitemerr {\@latex@warning{Empty `thebibliography' environment}}% \endlist} </source> ----- Verfasser: [[Benutzer:Hagbard|hagbard]] 13f6a081722e8e1853bd0b1ee74ea522b2d2aed1 PPC-Linux von DVD-Brenner installieren 0 180 863 2010-03-17T10:37:00Z Macwrench>Hagbard 0 /* 4. Booten */ wikitext text/x-wiki {{Legende|{{Linux}}}} '''Betr.:''' Linux-Installation auf "New World Macs" (G3/G4/G5 PPC-Macs mit OpenFirmware) mit einem nachträglich eingebauten DVD-Brenner, der von Mac OS X nicht direkt unterstützt wird Eigentlich nichts besonderes, sollte man meinen ... nach einem Tag Bastelei allerdings war mir klar, dass man mit nachträglich eingebauten DVD-Brennern (und nach diversen Forenbeiträgen auch mit dem Apple Superdrive) mit sog. "[[wikipedia:de:Apple_Power_Macintosh#Power_Macintosh_mit_PCI-Steckpl.C3.A4tzen_.28.22New_World.22.29|New World Macs]]" aus der Open Firmware heraus (oder via OpenFirmware Boot Menü<ref name="OpenFirmware">Das Open Firmware Bootmenü erreicht man durch Drücken und Gedrückthalten der ALT Taste während des Starttons, direkt von CD/DVD booten kann man durch Gedrückthalten der Taste "C"</ref>) Linux nicht direkt von der CD aus starten kann<ref name="yaboot">zum Starten von Linux auf New World Macs wird der Linux Bootloader "[http://penguinppc.org/bootloaders/yaboot/doc/yaboot-howto.shtml/index.de.shtml yaboot]" benötigt</ref>. Also kann man wie folgt vorgehen, wobei im folgenden Beispiel [http://www.yellowdoglinux.com Yellow Dog Linux] 4.1 auf eine externe Firewire Festplatte installiert werden soll. Für die parallele Installation mit Mac OS X auf einer Platte sind noch weitere Dinge zu berücksichtigen, Links dazu sind ganz unten im Artikel zu finden. Für andere Distributionen sind dabei einige Angaben entsprechend anzupassen, prinzipiell ist die Vorgehensweise hier folgende: * kopieren des Linux Bootloaders auf Festplatte * Booten des Linux-Installationssystems von der Festplatte * Anschließende Installation von der CD Hinweise für die Installation von [http://fedora.redhat.com Fedora Core 5] sind jeweils entsprechend gekennzeichnet. === 1. Partitionierung === Die Festplatte muss zunächst unter Mac OS X partitioniert werden, dazu dient das Disk Utility (Festplatten Dienstprogramm). Dazu ist mindestens eine Partition als "freier Speicherbereich" (Format: "free space") anzulegen, und zwar als erste Partition. === 2. Bootloader kopieren === Dazu sind (für YDL) die Verzeichnisse "boot" und "images" von der Installations-CD auf die Festplatte kopieren, und zwar ins Wurzelverzeichnis einer Partition auf der 1. Festplatte des Systems. Bei Verwendung des MacOS Systemvolumes muss man dazu Root-Rechte besitzen<ref name="root aktivieren">Die Aktivierung des root Benutzers erfolgt durch Eingabe von {{Texttt|passwd root}} im Terminal oder alternativ im Netinfo Manager, Menü "Sicherheit"</ref>. Bei Fedora (hier: FC5) sieht das etwas anders aus, da hier die Dateien auf verschiedene Verzeichnisse verteilt sind. Ein einfaches Kopieren hat bei mir nicht funktioniert, es hat dann aber so geklappt: * Ein Verzeichnis auf der HDD erstellen, z.B. {{Texttt|boot}} * Die folgenden Dateien in dieses Verzeichnis {{Texttt|boot}} kopieren: ** {{Texttt|ppc\mac\ofboot.b}} ** {{Texttt|ppc\mac\yaboot}} ** {{Texttt|ppc\ppc32\ramdisk.image.gz}} ** {{Texttt|ppc\ppc32\vmlinuz}} ** {{Texttt|ppc\ppc32\yaboot.conf}} * bei einem G5 müssen dabei die Dateien aus dem Verzeichnis {{Texttt|ppc\ppc64}} verwendet werden (64Bit Code) === 3. yaboot.conf editieren === Im Verzeichnis {{Texttt|boot}} muss die Konfigurationsdatei des Booloaders {{Texttt|yaboot.conf}} angepasst werden, und zwar sind alle Einträge "cd:" durch "hd:" zu ersetzen. Bei Fedora sind dabei die Geräteangaben relativ, also z.B. {{Texttt|\boot\vmlinuz}} und müssen also nicht weiter angepasst werden. Die Pfadangaben sind jedoch anzupassen und auf das Verzeichnis zu setzen, in das man den Bootloader kopiert hat (also z.B. auf {{Texttt|\boot\...}}) === 4. Booten === Anschließend den Rechner in die Open Firmware booten. Dazu muss <KB>Apfel-Alt-O-F</KB> während des Startsounds solange gedrückt gehalten werden, bis die OpenFirmware (schwarzer Text auf weißem Hintergrund) mit dem Hinweis "Release keys to continue!" erscheint. Zum Booten folgendes eingeben (Achtung, englische Tastaturbelegung(("\" erreicht man mit einer deutschen Tastatur über die Raute-Taste (#), den Doppelpunkt über shift-ö, z und y sind vertauscht))): boot hd:X,\boot\yaboot X (z.B.: 11 oder 9) ist die Partition, auf die yaboot von der Installations-CD kopiert wurde. Bei einer MacOS-Standardinstallation braucht man eigentlich erst ab 9 durchzuprobieren, die übrigen werden normalerweise durch MacOS belegt. {{Texttt|\boot\yaboot}} ist bei anderen Distributionen entsprechend anzupassen, in diesem Verzeichnis liegen die Dateien des Bootloaders und das Linux Boot-Image, die man vorhin auf die Festplatte kopiert hat. Anschließend sollte das Auswahlmenü des Bootloaders {{Texttt|yaboot}} erscheinen, im Fall von YDL mit den folgenden Auswahlmöglichkeiten: {| |-- |'''install'''||graphischer Installer |-- |'''install text'''||textbasierter Installer |-- |'''install firewire'''||graphische Installer für ext. Firewire-Festplatte |-- |'''mediacheck'''||... hinzufügen für einen Test der Installationsmedien |} unter Fedora ist dazu einfach "{{Texttt|linux}}" einzugeben. Anschließend sollte sich Linux einwandfrei von CD/DVD aus installieren lassen, da ab jetzt die Zugriffe auf das Laufwerk über Linux laufen und nicht mehr über die Open Firmware. Die beim Starten vom YDL-yaboot erscheinende Warnung, die Bootstrap-Partition habe den falschen Typ, kann man in diesem Fall getrost ignorieren, da Linux ja nicht auf die Festplatte installiert werden soll, auf die man den Bootloader kopiert hat. Bei einer Installation auf dieselbe Platte jedoch muss diese (ca. 1MB große) Bootstrap-Partition (diese ist notwendig, um von einer Platte überhaupt booten zu können) existieren und vor allen anderen liegen. Bei einer parallelen Installation von Linux und MacOS X muss dabei die Linux-Partition mitsamt dem Bootloader ebenfalls vor der MacOS X Partition liegen, damit man anschließend über den {{Texttt|yaboot}} Bootloader zwischen den beiden Betriebssystemen wählen kann. Dazu mehr in den Links unten im Artikel. === Weitere Informationen === ===Yellow Dog Linux=== * [http://www.terrasoftsolutions.com/support/solutions/ydl_general/ Yellow Dog Linux How Tos] * [http://www.yellowdog-board.com/ Forum zu Yellow Dog Linux] ===Debian GNU/Linux=== * [http://www.debian.org/ports/powerpc/ Informationen zu Debian auf PowerPCs] * [http://www.pl-berichte.de/t_system/ibook-debian/ pro-linux.de: Installation von Debian auf einem iBook] ===Fedora (Core 5)=== * [http://fedora.redhat.com/docs/release-notes/fc5/ Fedora Core 5 Release Notes] * [http://stanton-finley.net/fedora_core_5_installation_notes.html Installation Notes] (recht vollständig) * [http://www.mjmwired.net/resources/mjm-fedora-fc5.html FC5 Installation Guide] (incl. non-GPL Treiber wie die von Nvidia) ===Distributionsunabhängig=== * [http://www.linux.com/article.pl?sid=06/03/17/0350228 Gnome 2.14 Review] * [http://www.freesoftwaremagazine.com/newsletters/accelerated_x/ Artikel über beschleunigte X-Server] (wie XGL oder AIGLX) und noch [http://fedoraproject.org/wiki/RenderingProject einer über XGL] ----- <references/> ----- ''Verfasser: [[Benutzer:Hagbard|hagbard]]'' c775963cea0ab4797f865368a7fc1770022823c4 Change the Encoding of Text Files 0 176 844 2010-10-23T13:30:28Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Kategorie:Terminal]]{{Legende|[[Bild:Terminal.png|32px]]}}Um die [[wikipedia:Zeichenkodierung|Zeichenkodierung]] von Textdateien (beispielsweise [[wikipedia:de:UTF-8|UTF-8]] oder [[wikipedia:ISO 8859-1|ISO Latin-1]]) zu konvertieren, genügt folgende Zeile im Terminal: <source lang="bash"> iconv -f QUELLKODIERUNG -t ZIELKODIERUNG QUELLDATEI > ZIELDATEI </source> beispielsweise um ein russisches (kyrillisches) Textfile in UTF-8 umzuwandeln: <source lang="bash"> iconv -f WINDOWS-1251 -t UTF-8 text.txt > text-utf8.txt </source> Alternativ kann natürlich auch der Texteditor des Vertrauens dazu verwendet werden, allerdings ist imho eine Zeile im Terminal schneller eingetippt als man durch ein seitenlanges Menü verschiedener Textkodierungen gescrollt hat ... ==Unterstützte Kodierungen== Im Folgenden ein kleiner Auszug aus der Liste der von iconv unterstützten Kodierungen. Über die Option {{TT|-l}} oder {{TT|--list}} kann man sich eine Liste aller unterstützter Kodierungen ausgeben lassen, weitere Informationen dazu sind auch in der Manpage von {{Man|iconv|iconv}} zu finden. Die in einer Zeile stehenden Kodierungen sind dabei geleichbedeutend (alternative Schreibweisen und Bezeichnungen) ;Unicode :UTF-8, UTF8 :UTF-8-MAC, UTF8-MAC :UTF-16 :UTF-16BE :UTF-16LE :UTF-32 :UTF-32BE :UTF-32LE :UTF-7 ;ISO :CP819, IBM819, ISO8859-1, ISO_8859-1, ISO_8859-1:1987, L1, LATIN1, CSISOLATIN1 :ISO-8859-2, ISO-IR-101, ISO8859-2, ISO_8859-2, ISO_8859-2:1987, L2, LATIN2, CSISOLATIN2 :ISO-8859-3, ISO-IR-109, ISO8859-3, ISO_8859-3, ISO_8859-3:1988, L3, LATIN3, CSISOLATIN3 :ISO-8859-4, ISO-IR-110, ISO8859-4, ISO_8859-4, ISO_8859-4:1988, L4, LATIN4, CSISOLATIN4 :CYRILLIC, ISO-8859-5, ISO-IR-144, ISO8859-5, ISO_8859-5, ISO_8859-5:1988, CSISOLATINCYRILLIC ==Siehe auch== * {{Man|iconv|iconv}} * [[wikipedia:de:Iconv|iconv]] in der [[wikipedia:de:Hauptseite|Wikipedia]] 910fc9b409dc89fbadea4cdca935647ccc96c6b3 Prevent .DS Store files on network shares 0 148 706 2010-10-23T13:38:36Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Kategorie:Betriebssystem]][[Kategorie:Terminal]][[Kategorie:Kurztipp]]{{Legende|[[Bild:Terminal.png|32px]]}} __NOEDITSECTION__ Für alle, die sich jedesmal über die {{TT|.DS_Store}} Dateien auf Netzwerkvolumes ärgern (lästig vor allem bei Samba-Shares unter Linux/Win32) hier ein - zwar nicht mehr taufrischer, aber dennoch ganz hilfreicher - Tipp (funktioniert ab Mac OS X Tiger). Diese Files werden durch den Finder erstellt und speichern Darstellungseigenschaften für die einzelnen Ordner (z.B. Spaltenansicht etc.). Wer im Sinne besserer Optik / Ordnung drauf verzichten kann mache das folgende: Durch die Eigabe von defaults write com.apple.desktopservices DSDontWriteNetworkStores true im Terminal (muss für jeden Benutzer durchgeführt werden) erstellt der Finder diese Dateien nicht mehr. Das ist nur gültig für Netzwerkvolumes via ... * SMB/CIFS * AFP * NFS * WebDAV und hat keinen Einfluss auf lokale Volumes (sprich Festplatten, Wechselplatten, DVD-RAMs, ...). Anschließend muss (laut [http://docs.info.apple.com/article.html?artnum=301711 Apple]) der Rechner neu gebootet werden. Die Änderungen werden in der folgenden Datei gespeichert: ~/Library/Preferences/com.apple.desktopservices.plist Um die Änderungen auch für andere Benutzer wirksam zu machen, muss nur diese Datei an die entsprechende Stelle im Benutzerverzeichnis kopiert werden. Infos über mögliche daraus resultierende Fehlverhalten des Finders gibts unter anderem in [http://docs.info.apple.com/article.html?artnum=107822 diesem Artikel] der Apple Knowledge Base. {{Contentbox|content=Apple Knowledge Base Artikel zum Thema: [http://support.apple.com/kb/HT1629 Mac OS X v10.4 and later: How to prevent .DS_Store file creation over network connections]}} ===Löschen aller {{TT|.DS_Store}} Dateien=== [[Kategorie:Kurztipp]]Um rekursiv alle ''.DS_Store'' Dateien in einem Verzeichnis auf einmal zu löschen, genügt die Eingabe der folgenden Zeile im Terminal (im betreffenden Verzeichnis): <source lang="bash"> find . -name '*.DS_Store' -type f -delete </source> Für ein anderes Verzeichnis als das aktuelle ist dies an Stelle des Punktes nach "find" anzugeben. d78ac9b3bc6b308cf561eae9a45d87b1dc5ad324 Template:Terminal 10 12 1123 2010-12-03T11:12:57Z Macwrench>Hagbard 0 Die Seite wurde neu angelegt: „<noinclude>[[Kategorie:Abkürzungsvorlage]]Abkürzungsvorlage für die Darstellung eines Links zur Kategorie "Terminal" mit zugehörigem Icon. Weitere Vorlagen f…“ wikitext text/x-wiki <noinclude>[[Kategorie:Abkürzungsvorlage]]Abkürzungsvorlage für die Darstellung eines Links zur Kategorie "Terminal" mit zugehörigem Icon. Weitere Vorlagen für Produktlinks sind in der [[:Kategorie:Abkürzungsvorlage|Kategorie Abkürzungsvorlage]] zu finden. ;Vorschau: [[Bild:Terminal.png|16px]] [[:Kategorie:Terminal|Terminal]] </noinclude><includeonly>[[Bild:Terminal.png|16px]] [[:Kategorie:Terminal|Terminal]]</includeonly> c6531b109b87721ac1e19339baca630f5652223a 1124 1123 2010-12-03T11:13:23Z Macwrench>Hagbard 0 wikitext text/x-wiki <noinclude>[[Kategorie:Abkürzungsvorlage]]Abkürzungsvorlage für die Darstellung eines Links zur Kategorie "Terminal" mit zugehörigem Icon. Weitere Vorlagen für Produktlinks sind in der [[:Kategorie:Abkürzungsvorlage|Kategorie Abkürzungsvorlage]] zu finden. ;Vorschau: {{Terminal}} </noinclude><includeonly>[[Bild:Terminal.png|16px]] [[:Kategorie:Terminal|Terminal]]</includeonly> 1fae6362143dbadf5db194c59ae4a9c89b019543 Kurztipp - Screenshots ohne Schatten 0 169 805 2010-12-03T11:19:28Z Macwrench>Hagbard 0 Artikel in Weiterleitung umgewandelt wikitext text/x-wiki #redirect [[Screenshots_von_Fenstern_ohne_Schatten]] 3af12a5eda76371e68080e3f41f64a12d6643ee3 Konvertierung von Bilddateien im Terminal 0 147 698 2011-07-06T07:16:09Z Macwrench>Hagbard 0 Die Seite wurde neu angelegt: „[[Kategorie:Kurztipp]][[Kategorie:Grafik]][[Kategorie:Terminal]]{{Artikelsymbol|Terminal.png}} Eine sehr einfache Möglichkeit, Bilddateien beispielsweise vom JPG…“ wikitext text/x-wiki [[Kategorie:Kurztipp]][[Kategorie:Grafik]][[Kategorie:Terminal]]{{Artikelsymbol|Terminal.png}} Eine sehr einfache Möglichkeit, Bilddateien beispielsweise vom JPG-Format ins PNG-Format zu konvertieren oder auch andere Operationen durchzuführen, bietet das Kommandozeilenprogramm {{Man|sips|sips}} (scriptable image processing system): Folgende Zeile konvertiert die Datei {{TT|SOURCE.jpg}} in das PNG-Format: <source lang="bash"> sips -s format png SOURCE.jpg --out NEW.png </source> 971f7f4991d22ef0b38a22c91561dc9ea72bfdfb 699 698 2019-02-14T11:33:42Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Kurztipp]][[Kategorie:Grafik]][[Kategorie:Terminal]]{{Artikelsymbol|Terminal.png}} Eine sehr einfache Möglichkeit, Bilddateien beispielsweise vom JPG-Format ins PNG-Format zu konvertieren oder auch andere Operationen durchzuführen, bietet das Kommandozeilenprogramm {{Man|sips|sips}} (scriptable image processing system): Folgende Zeile konvertiert die Datei {{TT|SOURCE.jpg}} in das PNG-Format: <source lang="bash"> sips -s format png SOURCE.jpg --out NEW.png </source> 971f7f4991d22ef0b38a22c91561dc9ea72bfdfb MAMP PRO - MySQL datadir Einschränkung umgehen 0 182 873 2011-07-31T16:54:02Z Macwrench>Hagbard 0 Die Seite wurde neu angelegt: „[[Kategorie:Entwicklertool]][[Kategorie:Kurztipp]] Standardmäßig legt [http://www.mamp.info MAMP PRO] alle MySQL-Datenbanken in einem fest vorgegebenen Verzeich…“ wikitext text/x-wiki [[Kategorie:Entwicklertool]][[Kategorie:Kurztipp]] Standardmäßig legt [http://www.mamp.info MAMP PRO] alle MySQL-Datenbanken in einem fest vorgegebenen Verzeichnis ab, dessen Pfad sich dank eines in der Applikation fest eingebauten Pfades leider nicht ändern lässt: /Library/Application Support/appsolute/MAMP PRO/db/mysql bzw. bei älteren Versionen /Library/Application Support/living-e/MAMP PRO/db/mysql Das bedeutet, der {{TT|--datadir}} Parameter zur Angabe eines alternativen Verzeichnisses kann nicht zur Verwendung kommen, da das Aufrufkommando nicht zur Verfügung steht. Allerdings scheint der der verwendete MySQL daemon symlinks zu folgen (Stand: MAMP PRO 2.0). Es genügt als, das o.g. Verzeichnis {{TT|mysql}} an eine beliebige Stelle im Dateisystem zu verschieben und in obigem Verzeichnis einen Symlink (Alias) zu setzen. Dies erfolgt entweder per Finder oder im [[:Kategorie:Terminal|Terminal]]: ln -s /path/to/my/new/mysql /Library/Application\ Support/appsolute/MAMP\ PRO/db/mysql {{Information|Alternativ können auch hardlinks verwendet werden, bei denen sich jedoch prinzipbedingt Ursprung und Ziel auf derselben Partition befinden müssen. Symlinks dagegen erlauben auch Verweise auf ein Zielverzeichnis, das auf einer anderen Partition oder Festplatte liegt.<br /> Sinnigerweise sollte dieses Laufwerk während des Serverstarts verfügbar sein, daher scheiden Netzwerklaufwerke (AFP oder SMB) für den Fall aus, wenn die MAMP-Server bereits beim Booten des Systems gestartet werden.}} e5a3bd4154b177dbb8600fe7e9f47e040178c9c7 Lion Recovery 0 181 868 2012-01-27T10:05:40Z Macwrench>Hagbard 0 wikitext text/x-wiki {{Artikelsymbol|MacOS10.7.png}}[[Kategorie:Mac OS 10.7 Feature]][[Kategorie:Betriebssystem]][[Kategorie:Kurztipp]]Der '''"Recovery Modus"''' von OSX Lion (Version 10.7) bietet eine Möglichkeit, von einer sog. "Recovery Partition" aus ein vorhandenes System entweder zu warten (zur Fehlerbehebung) oder neu zu installieren. Dazu bietet es die bisher auf den Installations-DVDs verfügbaren Hilfsprogramme an, wie z.B.: * Terminal * Festplatten-Dienstprogramm * Netzwerkdienstprogramm Von hier aus lässt sich das System auch unter Verwendung eines vorhandenen Time Machine Backups wiederherstellen. Sie wird bei einer Installation von OSX Lion automatisch angelegt, taucht jedoch nicht im Festplatten-Dienstprogramm als Partition auf sondern lediglich in der Startvolume-Auswahl beim Starten des Mac (direkt nach dem Start <kb>alt</kb> gedrückt halten). Durch folgende Tastenkombination kann auch direkt von dieser Partition gestartet werden (siehe [[Startup_Key_Combinations|hier]]): <kb>apfel + r</kb> {{Wichtig|'''Partitionsschema:''' Die Recovery Partition kann derzeit wohl nur auf Festplatten mit dem Apple Partitionsschema "GUID" (für Intel-Macs) erstellt und verwendet werden. Da sie automatisch auf derselben Festplatte wie die zugehörige OSX-Installation erstellt wird, sollte man (so denn auf Lion Recovery Wert gelegt wird) auf die Verwendung eines anderen Partitionsschemas verzichten.}} {{Information|1='''Offline Installation von OSX Lion''' Für eine reine offline-Installation von OSX Lion (ohne verfügbare Internetverbindung) kann aus dem heruntergeladenen App-Store-Bundle "{{TT|Mac OS X Lion Installation.app}}" sehr einfach eine Installations-DVD erzeugt werden: * im Finder-Kontextmenü dieses Archivs "Paketinhalt anzeigen" auswählen * das DiskImage "{{TT|InstallESD.dmg}}" im Unterverzeichnis {{TT|Contents/SharedSupport}} herauskopieren, z.B. auf den Desktop * Im Festplatten-Dienstprogram den "Brennen" Button anklicken und dieses Image auswählen. }} ==Internet Recovery== Falls keine Recovery-Partition zur Verfügung steht (z.B. nach einem Festplattenwechsel, existiert alternativ die Möglichkeit der '''"Internet Recovery"'''. Dabei wird diese Partition über das Internet installiert und ermöglicht anschließend eine Neuinstallation von OSX Lion (mit der für den Kauf von OSX Lion verwendeten Apple ID) oder alternativ eine Wiederherstellugn mit Hilfe eines Time Machine Backups. Dabei sollte klar sein, dass zumindest für den Download des Recovery Images eine Internetverbindung notwendig ist. Die entsprechenden Dienstprogramme zur Netzwerkkonfiguration sind im Recovery-System verfügbar. ==Recovery Disk Assistant== Alternativ dazu kann mit Hilfe des [http://support.apple.com/kb/DL1433 Recovery Disk Assistant] die Recovery-Partition nachträglich und auch auf externen Laufwerken angelegt werden. Anschließend kann wie oben beschrieben von diesen Laufwerken gestartet und ein evtl. defektes System repariert/wiederhergestellt (oder OSX Lion installiert) werden. Weitere Informationen dazu gibt es im entsprechenden [http://support.apple.com/kb/HT4848 Support-Dokument]. ==Siehe auch== * [http://www.apple.com/macosx/recovery/ Lion Recovery Webseite] (apple.com) * [http://support.apple.com/kb/HT4718 Apple Support-Dokument HT4718] (support.apple.com) * [http://support.apple.com/kb/DL1433 Recovery Disk Assistant] und dazugehöriges [http://support.apple.com/kb/HT4848 Support-Dokument] f7523a52135c9476e43cb929fb653a4c8d9c4016 MacOS - Reset Password 0 188 937 2012-01-27T10:05:55Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Kategorie:Betriebssystem]]{{Artikelsymbol|Security.png|20px}} {{Wichtig|Bein Zurücksetzen von Passwörtern oder generell beim Durchführen von Wartungsarbeiten mit hilfe der Dienstprogramme auf Installations-/Wiederherstellungs-DVDs ist extem wichtig, dass die Mac OS X Hauptversion (z.B. 10.5) dieser DVDs '''dieselbe''' ist wie diejenige der Installation, die man bearbeiten möchte!}} Falls man dummerweise das Anmeldepasswort einer Mac OS X Installation vergessen haben sollte und sich somit selber ausgesperrt hat, gibt diverse weniger zeit- und nervenaufwändige Möglichkeiten als eine komplette Neuinstallation ==Mac OS X 10.6 und davor== === Verwendung der Installations-/Wiederherstellungs-DVDs === Diese Möglichkeit gibt es im Prinzip bei allen Mac OS X Versionen (zumindest seit 10.3/Panther), die können sich jedoch in Details voneinander unterscheiden (für 10.7 Lion [[#Mac OS X 10.7 (Lion)|siehe unten]]): # Von der DVD booten (siehe [[Startup_Key_Combinations|hier]]), durch Drücken folgender Taste beim Start des Mac:<KB>C</KB> # Die Installationsanwendung solange weiterführen, bis am oberen Bildschirmrand die Menüleiste verfügbar ist # Dort steht im Menü "Installer" der Eintrag "Reset Password ..." zur Verfügung, über den man die Kennwörter einzelner Benutzer neu setzen kann. Da der Schlüsselbund mit dem alten Passwort verschlüsselt ist, was man aus Sicherheitsgründen (ohne das alte Passwort zu kennen) nicht ändern kann, ist selbiges zu löschen, bevor man den alten Account mit den neuen Zugangsdaten nutzen kann. Dazu ist nach dem Neustart der Inhalt des Ordners ~/Library/Keychains innerhalb des Benutzerverzeichnisses (Home) zu löschen. Bei der nächsten Anmeldung wird dann automatisch ein neuer Schlüsselbund angelegt. === Ohne Verwendung von Installations-DVDs === Hier unterscheidet sich die Vorgehensweise von Version zu Version u.U. erheblich, daher wird an dieser Stelle auf folgenden (recht umfassenden) Artikel verwiesen: [http://www.macyourself.com/2009/08/03/how-to-reset-your-mac-os-x-password-without-an-installer-disc/ How to reset your Mac OS X password without an installer disc] (macyourself.com) === Letzte Möglichkeit: einen neuen Admin-Account anlegen === Um ein vergessenes Passwort ohne vorhandene Installations-DVD und ohne Systemlogin neu zu setzen, existiert nur der Umweg über den Single-User-Modus. Über diesen kann man dann anschließend die Passwörter der anderen Benutzer neu vergeben: # Mac OS X im Single-User Modus starten (siehe [[Startup_Key_Combinations|hier]]), dorthin gelangt man durch Drücken folgender Tastenkombination beim Start des Mac:<KB>apfel + S</KB> # dadurch gelangt man anschließend nicht in eine graphische Umgebung sondern bekommt lediglich eine Eingabeaufforderung präsentiert. # dort ist mit Hilfe folgender Kommandos ein neuer Admin-Benutzer anzulegen, dabei ist jede Zeile mit <KB>return</KB> zu bestätigen: <div style="margin-left:40px;"><source lang="bash"> mount -uw / rm /var/db/.AppleSetupDone shutdown -h now </source></div> Mit Hilfe dieses Admin-Benutzers kann man sich dann nach einem Neustart die Passwörter der anderen Benutzer neu vergeben/zurücksetzen. ==Mac OS X 10.7 (Lion)== Im Prinzip funktioniert dies unter Lion genau wie in früheren Versionen mit Hilfe der Installations-DVDs (siehe [[#Verwendung der Installations-/Wiederherstellungs-DVDs#|oben]]), jedoch mit zwei kleinen Unterschieden (anderer Boot-Modus, {{TT|resetpassword}} ist nicht direkt sondern nur über das Terminal zu erreichen): ===Recovery-Modus=== # im Recovery-Modus booten (siehe [[Startup_Key_Combinations|hier]]), dorthin gelangt man durch Drücken folgender Tastenkombination beim Start des Mac:<KB>apfel + R</kb> # Sobald das Installationsprogramm gestartet wurde (Auswahl von Time Machine Backup, Neuinstallation, ...), steht im Menü "Dienstprogramme" ("Utilities") das Terminal zur Verfügung. Dies ist nun zu starten # im Terminal folgendes eingeben und mit <KB>return</KB> bestätigen: <div style="margin-left:40px;"><source>resetpassword</source></div> Dadurch wird das Passwort zurückgesetzt und es wird ein Dienstprogramm geöffnet, mit dem man für einzelne Benutzer ein neues Passwort vergeben kann. Da der Schlüsselbund mit dem alten Passwort verschlüsselt ist, was man aus Sicherheitsgründen (ohne das alte Passwort zu kennen) nicht ändern kann, ist selbiges zu löschen, bevor man den alten Account mit den neuen Zugangsdaten nutzen kann. Dazu ist nach dem Neustart der Inhalt des Ordners ~/Library/Keychains innerhalb des Benutzerverzeichnisses (Home) zu löschen. Bei der nächsten Anmeldung wird dann automatisch ein neuer Schlüsselbund angelegt. ===Verwendung der Apple-ID=== Seit 10.7 existiert außerdem die Möglichkeit, das Passwort '''anhand der Apple-ID''' zurückzusetzen, diese Eigenschaft muss jedoch '''vorher''' bereits in den Benutzereinstellungen aktiviert sein (sie ist es standardmäßig nicht). ==Siehe auch== * [http://www.macyourself.com/2009/08/03/how-to-reset-your-mac-os-x-password-without-an-installer-disc/ How to reset your Mac OS X password without an installer disc] (macyourself.com) bfe9391ae4a938b41ea539ee3a7a48281bc7f2c5 SSH keep alive 0 167 797 2012-06-28T06:06:52Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Kategorie:Kurztipp]][[Kategorie:Terminal]]{{Artikelsymbol|Terminal.png}} Um im [[:Kategorie:Terminal|Terminal]] SSH-Sessions automatische Verbindungsabbrüche (in der Regel durch Firewalls, Load Balancer o.Ä. verursacht) zu verhindern, genügt es, folgende Zeilen in die SSH-Konfiguration zu schreiben: == Client == <source> ServerAliveInterval 300 ServerAliveCountMax 3 </source> D.h. das bei ggf erst nach 3x300 Sekunden die Verbindung beendet wird. systemweite Konfiguration: /etc/ssh_config Benutzerspezifische Konfiguration: ~/.ssh/config == Server == <source> ClientAliveInterval 300 ClientAliveCountMax 3 </source> Anschließend muss der Server neu gestartet werden, entweder über die Systemeinstellungen oder mit Hilfe dieses Terminal-Kommandos: <source> launchctl stop org.openbsd.ssh-agent launchctl start org.openbsd.ssh-agent </source> eine Liste der laufenden Dienste ist über diese Anweisung erreichbar: <source> launchctl list </source> ==Siehe auch== * [http://drupal.star.bnl.gov/STAR/comp/sofi/facility-access/ssh-stable-con/ SSH connection stability] * Man pages: {{Man|ssh|ssh}}, {{Man|ssh_config|ssh_config}}, {{Man|sshd|sshd}}, {{Man|sshd_config|sshd_config}} 8e4e9720516a964c994c6f35ae7637a8d53ab25d Free unused disk cache 0 171 812 2012-10-21T21:50:16Z Macwrench>Hagbard 0 /* Siehe auch */ wikitext text/x-wiki [[Kategorie:Kurztipp]][[Kategorie:Terminal]][[Kategorie:Betriebssystem]]{{Artikelsymbol|Terminal.png}} Gestarteten Applikationen zugewiesener Speicher wird in der Regel nicht sofort nach dem Beenden der jeweiligen Applikation wieder freigegeben, um einen erneuten Start zu beschleunigen. Falls die Applikation jedoch so schnell nicht wieder gestartet werden soll und (wie beispielsweise Bildbearbeitungen oder Virtualisierungsumgebungen wie Virtual Box) relativ viel Speicher benötigt, kann dieser auch manuell freigegeben werden. Zu diesem Zweck existieren im Mac App Store zwar verschiedene - teils kostenlose, teils kostenpflichtige - Apps, ein einfacher Aufruf im [[:Kategorie:Terminal|Terminal]] genügt dafür jedoch ebenfalls: purge Durch dieses Kommando wird inaktiver (also derzeit nicht verwendeter) Speicher wieder freigegeben, üblicherweise eben durch Applikationen, die in letzter Zeit gestartet und bereits wieder beendet wurden. Ein vorher-nachher Vergleich ist über das Dienstprogramm "Aktivitätsanzeige" möglich. Der dort als "Inaktiv" bezeichnete Speicherbereich kann durch {{TT|purge}} in der Regel größtenteils freigegeben werden: * '''Reserviert (wired):''' Von Systemprozessen belegter Speicher (z.B. Kernel, Treiber usw.) * '''Aktiv:''' von aktuell gestarteten Programmen belegter Speicher * '''Inaktiv:''' für in der jüngeren Vergangenheit gestartete und bereits wieder beendete Programme reservierter Speicher * '''Benutzt:''' Die Summe dieser drei Werte {{Information|'''Hinweis:''' damit dieses Terminal-Kommando verfügbar ist, muss unter älteren OS X Versionen (bis incl. 10.6) das "BSD Subsystem" von OS X installiert sein. Dies ist Teil der OS X Systemdistribution und war bis Version 10.6 auf den Installationsmedien als extra Installationspaket enthalten. Seit OS X Lion ist es jedoch immer installiert.}} ==Siehe auch== * manpage zu {{Man|purge|purge}} * [http://support.apple.com/kb/HT1342?viewlocale=en_US&locale=en_US Using Activity Monitor to read System Memory and determine how much RAM is being used] (support.apple.com) * [http://blog.55minutes.com/2012/05/taming-the-lion-inactive-memory-problem/ Taming the Lion Inactive Memory Problem] (blog.55minutes.com) * [http://hints.macworld.com/article.php?story=20120410153721860 Automatically reclaim memory from leaky programs] (hints.macworld.com) dbfad58ee035f707747fd9d791b43317ed3511c7 Jumping Wordwise in Terminal Commands 0 175 830 2013-01-09T11:05:33Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Kategorie:Terminal]][[Kategorie:Kurztipp]]{{Artikelsymbol|Terminal.png}}Unter Snow Leopard ist die Tastaturbelegung der [[:Kategorie:Terminal|Terminal]].app scheinbar etwas durcheinandergeraden, so bewirkt z.B. der wortweise Sprung in der Eingabe via <KB>ctrl + links</KB> beziehungsweise <KB>ctrl + rechts</KB> ein Einfügen der Großbuchstaben "D" bzw. "C". Um das zu ändern, sind die Einstellungen der Terminal App zu öffnen und im Abschnitt "Tastatur" die entsprechenden Belegungen zu ändern. So sehen sie (höchstwahrscheinlich) aus: {| |-- style="background-color:#f2f2f2;" | style="width:200px;" | Belegung || style="width:100px;" | ist || style="width:100px;" | soll |-- | Ctrl-Taste Linkspfeil || {{TT|\033[5D}} || {{TT|\033b}} |-- | Ctrl-Taste Rechtsspfeil || {{TT|\033[5C}} || {{TT|\033f}} |} Ggg. ist (unter OS X 10.7 und neuer) vorher die entsprechende Tastaturbelegung für den Wechsel von Spaces in den Systemeinstellungen (unter "Tastatur" > "Mission Control") zu deaktivieren 178e5c1a8478d39fcca1988d33b59b27e2e58a2d MacOS absichern/Betriebssystemkonfiguration 0 76 957 2013-01-09T16:36:41Z Macwrench>Hagbard 0 /* Starten von Programmen mit höheren Privilegien */ wikitext text/x-wiki [[Kategorie:Sicherheit]] [[Kategorie:Betriebssystem]] [[Kategorie:Artikelreihe]]{{Artikelsymbol|Finder.png}} Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Bild:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Bild:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Kategorie:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [[mu:AutomountMaker|AutomountMaker]], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [[mu:Supinfo Share Manager|Supinfo Share Manager]] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Bild:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Bild:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Bild:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Bild:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Bild:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Bild:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Bild:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen [[Bild:MacOS10.3.png|16px]]{{Product_OSX_Version|10.3}} bis [[Bild:MacOS10.6.png|16px]]{{Product_OSX_Version|10.6}} * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs ----- ''Verfasser: [[Benutzer:Hagbard|Hagbard]]'' eda14aaa476600602d3d58cb9f738ac3ffae80c2 Mount Network Shares on Login 0 160 766 2013-05-21T07:39:14Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Kategorie:Kurztipp]][[Kategorie:Betriebssystem]][[Kategorie:Netzwerk]]{{Artikelsymbol|Network.png}} Netzwerkvolumes (z.B. AFP-, WebDAV- oder Windows-/SMB-Freigaben) bei der Anmeldung automatisch einzubinden ist erstaunlich einfach, dazu sind lediglich die folgenden wenigen Schritte notwendig: : [[Bild:SharedVolume.png|24px]] Das entsprechende Netzwerkvolume verbinden : [[Bild:SystemPreferences.png|24px]] Systemeinstellungen öffnen : [[Bild:Accounts.png|24px]] Zu "Benutzer & Gruppen" > "Anmeldeobjekte" wechseln Dort kann man über den "+" Button auch eine aktuell eingehängte Freigabe als Anmeldeobjekt hinzufügen, die fortan bei jeder Anmeldung dieses Benutzers eingehängt wird. Am einfachsten funktioniert das, wenn in den Finder-Einstellungen die Anzeige von "verbundenen Servern" in der Finder-Seitenleiste aktiviert ist; dadurch lässt sich die eingehängte Freigabe recht einfach auffinden und auswählen. 5fa896edf9451fbf5b084f47be63eae044ed0077 Launch Safari in Private Mode 0 168 801 2013-08-11T13:00:38Z Macwrench>Hagbard 0 Die Seite wurde neu angelegt: „[[Kategorie:Internet]][[Kategorie:Kurztipp]]{{Artikelsymbol|Safari.png}} Bekanntermaßen existiert in Safari eine Funktion "Privates Surfen", bei der keine Cookie…“ wikitext text/x-wiki [[Kategorie:Internet]][[Kategorie:Kurztipp]]{{Artikelsymbol|Safari.png}} Bekanntermaßen existiert in Safari eine Funktion "Privates Surfen", bei der keine Cookies oder Cache-Inhalte dauerhaft gespeichert werden. Dieser muss jedoch nach dem Start von Safari jedes Mal von Hand aktiviert und bestätigt werden, was unter Umständen recht lästig sein kann. Mit folgendem AppleScript lässt sich Safari jedoch auch direkt in diesem Modus starten: <source lang="AppleScript"> tell application "Safari" activate end tell tell application "System Events" to tell process "Safari" set hier_klicken to menu item 6 of menu 2 of menu bar 1 -- Menüpunkt "Privates Surfen" click hier_klicken click button "OK" of window 1 end tell </source> Dazu ist obiger Code einfach im AppleScript-Editor einzugeben und das Skript anschließend als Programm (.app Bundle) exportieren. 9f1864fe92c10a303ea4951a985bee19a4f3c2c8 Activate HiDPI Screen Resolutions 0 154 736 2013-11-08T13:41:52Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Kategorie:Betriebssystem]] {{Legende|[[Bild:Terminal.png|24px]]}} Um für Testzwecke – z.B. bei der Erstellung retina-kompatibler Programme oder Webseiten – die Ausgabe von OS X auf eine HiDPI Auflösung umschalten zu können, ist folgende Anweisung im [[:Kategorie:Terminal|Terminal]] einzugeben: sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool YES; Nach einer erneuten Anmeldung steht nun in den Systemeinstellungen (unter "Monitore") je nach verwendetem System eine oder mehrere Retina-Auflösungen zur Auswahl. Zum Deaktivieren dieser Funktion ist folgende Anweisung zu verwenden: sudo defaults delete /Library/Preferences/com.apple.windowserver DisplayResolutionDisabled; 6ac004970631c51e9365e509144d81d4ded0a08a Mtmd deaktivieren 0 195 1025 2013-12-06T06:51:50Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Kategorie:Betriebssystem]][[Kategorie:Mac OS 10.7 Feature]][[Kategorie:Kurztipp]][[Kategorie:Terminal]]{{Artikelsymbol|TimeMachine.png}}{{Legende|1={{OSX|10.5}}[[Bild:Terminal.png|32px]]}} Bei {{Man|mtmd|mtmd}} handelt es sich um einen Time Machine Hintergrunddienst, der im mobilen Betrieb dafür zuständig ist, bestimmte Funktionen von Time Machine zur Verfügung zu stellen. Dieser Dienst ist demzufolge auch nur auf mobilen Geräten (vulgo Notebooks) aktiv. Wenn nun jedoch kein Time Machine Volume zur Verfügung steht, kann dieser Prozess durchaus die CPU-Last signifikant in die Höhe treiben und daher unter Umständen sehr störend sein. Um das abzustellen gibt es prinzipiell 2 Möglichkeiten: # Time Machine komplett deaktivieren (in den Systemeinstellungen) # Nur diesen mobilen Dienst deaktivieren Um zweiteres zu tun, ist folgende Anweisung im {{Terminal}} einzugeben: sudo tmutil disablelocal Um den Dienst wieder zu reaktivieren, ist folgendes einzugeben: sudo tmutil enablelocal a4ff68fd68e0e4bcb96be146ebaf957573ccf4e2 Kurztipp - Screenshots ohne Schatten erstellen 0 170 808 2014-03-17T08:02:54Z Macwrench>Hagbard 0 Die Seite wurde neu angelegt: „[[Kategorie:Kurztipp]][[Kategorie:Betriebssystem]]{{Artikelsymbol|Grab.png}}{{Legende|[[Bild:Terminal.png|32px]]}}Standardmäßig werden Screenshots von Einzelfen…“ wikitext text/x-wiki [[Kategorie:Kurztipp]][[Kategorie:Betriebssystem]]{{Artikelsymbol|Grab.png}}{{Legende|[[Bild:Terminal.png|32px]]}}Standardmäßig werden Screenshots von Einzelfenstern - entweder via "Bildschirmfoto.app" oder mit Hilfe der [[Mac Keyboard Shortcuts|Tastenkombination]] <KB>CMD + SHIFT + 4</KB> und anschließendem <KB>SPACE</KB> immer mit einem Schlagschatten versehen. Um dieses Verhalten abzustellen, ist folgende Eingabe im {{Terminal}} nötig: defaults write com.apple.screencapture disable-shadow -bool true Um diese Anweisung unmittelbar wirksam werden zu lassen, ist noch folgende Anweisung auszuführen: killall SystemUIServer Und um das Standardverhalten wiederherzustellen, kann folgende Anweisung verwendet werden: defaults delete com.apple.screencapture disable-shadow 298b553c25d12b105c797cab4b9980319173467b MacOS Login Screen 0 189 943 2014-05-16T12:02:18Z Macwrench>Hagbard 0 /* Systeminformationen anzeigen */ wikitext text/x-wiki [[Category:Betriebssystem]]{{Artikelsymbol|LoginWindowLogout.png}} ==Verhalten des Login-Fensters beeinflussen== === Eingabefeld "Benutzername" === Für den Anmeldebildschirm von Mac OS X existieren einige "hidden features", die mitunter recht praktisch sind. Über folgende Kommandos lassen sich diverse Aktionen ausführen, das Login-Fenster muss dazu natürlich in den Systemeinstellungen (Panel "Benutzer" > "Anmeldeoptionen") auf "Name und Kennwort" gesetzt sein. {| |-- bgcolor=#e2e2e2 ! width=100px|Kommando || width=200px|Wirkung || getestet mit Mac OS Version |-- | >shutdown || den Mac herunterfahren || [[Bild:MacOS10.4.png|32px]] |-- | >restart || den Mac neustarten || [[Bild:MacOS10.3.png|32px]] [[Bild:MacOS10.4.png|32px]] |-- | >sleep || Ruhezustand || [[Bild:MacOS10.4.png|32px]] |-- | >power || den Mac herunterfahren || [[Bild:MacOS10.3.png|32px]] [[Bild:MacOS10.4.png|32px]] {{Opaque|1=[[Bild:MacOS10.2.png|32px|Unter 10.2 nicht getestet, sollte aber auch funktionieren]]}} |-- | >exit || den WindowServer neu starten || [[Bild:MacOS10.3.png|32px]] [[Bild:MacOS10.4.png|32px]] {{Opaque|1=[[Bild:MacOS10.2.png|32px|Unter 10.2 nicht getestet, sollte aber auch funktionieren]]}} |-- | >console || in den Darwin Text-Mode wechseln ||[[Bild:MacOS10.3.png|32px]] [[Bild:MacOS10.4.png|32px]] {{Opaque|1=[[Bild:MacOS10.2.png|32px|Unter 10.2 nicht getestet, sollte aber auch funktionieren]]}} |} Danke an [[Benutzer:MacForian|Flo]] und Tanja fürs Durchtesten mit Mac OS 10.3! Herunterfahren und Neu starten kann man jedoch nicht im Login-Screen zum Benutzerwechsel sondern nur, wenn aktuell kein weiterer Benutzer angemeldet ist. === Script beim Anmelden ausführen === http://www.macosxhints.com/article.php?story=20050517210406483 === Systeminformationen anzeigen === Keine Ahnung in welchen Systemen das genau funktioniert, aber in 10.4.1 tut es: Bei click auf den Systemnamen unter dem Apfel und über der Userliste, wechselt die Anzeige auf: Hostname -> Version -> Build -> Seriennummer -> Datum -> Hostname Der Sinn dahinter ist wohl, dass der Applesupport direkt helfen kann, auch wenn der Benutzer sagt: "Ich kann mich nicht einloggen!" Das Funktioniert auch im Finder-Info-Fenster "Über diesen Mac" (erster Eintrag im Apfel-Menü) === Spracheinstellungen === Die Sprache im Anmeldebildschirm richtet sich nach der systemweiten Spracheinstellung, die bei der Installation von OS X gesetzt wird. Diese lässt sich mit Admin-Rechten und folgendem Terminal-Kommando jedoch jederzeit ändern und ist sofort wirksam: sudo languagesetup ==Login Tweaks== === Login Style ändern === Wie kann man von der Userliste auf User/Password wechseln per Shortcut? Die angegebene Kombination <KB>shift + opt + return</KB> funktioniert bei mir nicht! Die Umschaltung mittels <KB>shift + opt + return</KB> gibt es erst seit Tiger, unter 10.3 und davor existiert ein extra Button zum Umschalten. Außerdem funktioniert es offensichtlich nicht mit aktivem [http://wincent.com/a/products/winswitch/ WinSwitch]. ===Hintergrundbild ändern=== Das Login-Fenster benutzt als Hintergrundbild immer "Aqua Blue", das als 2560x1600 Pixel (Mac OS 10.4) große Grafikdatei dort zu finden ist: /Library/Desktop Pictures/Aqua Blue.jpg Um das Bild zu ändern, ist einfach diese Datei durch eine andere zu ersetzen. Alternativ lässt sich das auch in der Konfigurationsdatei /Library/Preferences/com.apple.loginwindow.plist ändern, indem ein Schlüssel namens "DesktopPicture" hinzugefügt wird. Das kann auch durch die Eingabe des folgenden Kommandos im Terminal erfolgen (alles in einer Zeile): sudo defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture -string "/Library/Desktop Pictures/Nature/Stones.jpg" Falls die Änderungen nicht sofort sichtbar werden, muss entweder der Mac neu gestartet oder der Prozess des loginwindow gekillt werden. ===Aktuelle Konfiguration des Login Fensters=== Die aktuellen Einstellungen des Login-Fensters befinden sich im Library-Ordner, und zwar z.B. dort: /Library/Preferences/com.apple.loginwindow.plist Dort sind unter anderem auch die folgenden Informationen zu finden: * Name des zuletzt angemeldeten Benutzers * Der aktuelle Status des Benutzers (z.B. "loggedIn") Außerdem lassen sich dort folgende Einstellungen vornehmen: * '''AdminHostInfo''': Info-Anzeige im Login-Fenster beeinflussen (default: Time) * '''HideAdminUsers''': Administratoren in der Benutzerliste verbergen (default: false) * '''HideLocalUsers''': Lokale Benutzer verbergen (default: false) * '''IncludeNetworkUser''': Netzwerkbenutzer anzeigen (default: false) * '''Kiosk''': Kiosk Mode (default: false - habe ich noch nicht getestet, keine Ahnung was das bewirkt) * '''PowerOffDisabled''': Button "Ausschalten" nicht anzeigen (default: no) * '''RetriesUntilHint''': Anzahl der Login Versuche, bis der Hinweistext erscheint (so denn der Benutzer einen in den Benutzereinstellungen angegeben hat; default: 0) * '''SHOWFULLNAME''': den vollständigen Namen anzeigen (default: yes) Wie sich die Werte im Pendant des Benutzerverzeichnisses genau zusammensetzen, konnte ich auf die Schnelle nicht ermitteln. die Datei befindet sich dort: /Users/BENUTZERNAME/Library/Preferences/com.apple.loginwindow.plist und beinhaltet die folgenden Schlüssel: * NSWindow Frame About This Mac * NSWindow Frame ProcessPanel Außerdem existiert noch die folgende Konfigurationsdatei, die offensichtlich für die beim Login automatisch zu startenden Anwendungen (Key AutoLaunchedApplicationDictionary) zuständig ist: /Users/BENUTZERNAME/Library/Preferences/loginwindow.plist Außerdem wird hier wohl auch die Darstellungsform der aktuellen Systemversion (Build Version und System Version) abgelegt ... ==Tools== Es existieren auch fertige Tools, die einige Login-Tweaks in einer graphischen Oberfläche zugänglich machen: * [http://www.bombich.com/software/lwm.html LoginWindow Manager] 2.0 (Freeware) ----- ''Verfasser: [[Benutzer:Aendes|aendes]], [[Benutzer:Hagbard|hagbard]]'' 5168ad0b2e4f8ab22dbc0642218ab62d21b3410e MacOS beschleunigen und ausmisten 0 191 1005 2014-11-12T08:32:40Z Macwrench>Hagbard 0 /* Arbeitspeicher */ wikitext text/x-wiki [[Kategorie:Betriebssystem]]{{Artikelvorschlag}} ==Inhalte== '''Warnung:''' Nur durchführen, wenn man genau weiß was man tut! Außerdem sollten solche Änderungen dokumentiert werden, um bei späteren Fehlersituationen die hier durchgeführten Änderungen parat zu haben (zum Fehler einordnen) und sie ggf. rückgängig machen zu können. Alles '''mit Begründung und Erklärung, warum und wann bestimmte Maßnahmen ''wirklich'' etwas bringen'''. Einsortierung: [[:Kategorie:Systemwartung]] ===Performance optimieren=== * kaputte Fonts finden und deaktivieren/deinstallieren * überflüssige und nicht benutzte Schriften deaktivieren (Aktivieren nur bei Benutzung, beschleunigt die Darstellung im Auswahlfenster) * Wichtige Schriften (nicht deaktivieren!): Geneva, Monaco, Lucida Grande, Courier, Helvetica, Times, Symbol, Zapf Dingbats und ggf. zusätzliche Fonts von Drittanbietern (z.B. MS Office) * Caches löschen * Systemoptimierung * prebinding (vor 10.4) * Zugriffsrechte reparieren (Link) * Systemeigene Default-Cronjobs (befinden sich in {{Texttt|/etc/periodic/}}) * Manuelles aufrufen mit {{Texttt|sudo periodic daily weekly monthly}} (als admnin) oder mit [http://www.macupdate.com/info.php/id/5856 MacJanitor] bzw. anderen Tools, vor allem wichtig wenn der Mac nachts immer aus ist und die cronjobs somit ao gut wie nie laufen. * Ab Tiger läuft alles über {{Man|launchd|launchd}} / {{Man|launchctl|launchctl}} und nicht mehr über crond * immer genügend Platz auf den Festplatten (bzw. "Volumes") freihalten (5-10%), damit die HFS+ Selbstoptimierungsfunktionen greifen (aka Defragmentierung etc.) * zusätzlichen Platz für die Auslagerungsdatei frei halten (aka "virtueller Speicher"), kann schon mal 1-2 GB umfassen. * usw. ===Platzverschwendung verhindern=== * Bereits bei der Installation: angepasste Installation (Clean Install) * Fonts und Lokalisierungen/Sprachdateien * Demo-Filme und Medien (z.B. AIFF-Loops von GarageBand) * überflüssige Treiber (z.B. Druckertreiber) * temporäre Dateien nach einer Installation * ... ===Arbeitspeicher=== * '''beliebte Speicherschleudern''' sind vor allem Webbrowser (incl. Safari, Seamonkey/Firefox, Camino), vor allem wenn sie längere Zeit gestartet sind und häufiger benutzt werden. Dann belegen sie gern einmal 200-300 MB physikalischen RAM oder mehr. Diese Programme sollten also immer mal wieder beendet und neu gestartet werden. * '''Dashboard und die aktiven Widgets''' hängen hin und wieder auch einmal, manchmal gehen Widgets auch nicht in den Suspend Mode während Dashboard nicht aktiv ist und benötigen dann u.U. auch viel CPU-Last und Arbeitsspeicher. Empfehlung: das "DisableDashboard" Widget (siehe [[Dashboard]]) zum gelegentlichen Neustart von Dashboard verwenden. * Hin und wieder einmal abmelden, das gibt einiges an Arbeitsspeicher frei. Im Anmeldebildschirm kann dann auch durch die Eingabe von ">exit" im Benutzerfeld der WindowServer neu gestartet werden. Nach einer längeren Laufzeit belegt auch er unter Umständen relativ viel Arbeitsspeicher (siehe [[Spiele mit dem Login Screen]]). * Es können auch eine Reihe [[Deaktivieren ungenutzter Hintergrunddienste|unerwünschter Hintergrunddienste deaktiviert]] werden, allerdings auf eigene Gefahr! Man sollte genau wissen, was man hierbei tut, da durchaus Nebeneffekte auftreten könnten. ===Optimierungen kosmetischer Art=== * .DS_Store Dateien verhindern, lästig vor allem bei der parallelen Nutzung von Volumes unter Linux und/oder Windows * ... ===Häufige Probleme=== * PlugIns und Erweiterungen nach System-/Anwendungsupdates (z.b. Safari, Mail, ...) * ... ===Unnötige Aktionen / Was man besser bleiben lassen sollte=== * Logfiles löschen (siehe oben), diese werden ohnehin rotiert (gepackt und archiviert) und nehmen daher üblicherweise nicht viel Platz weg. Es sei denn man weiß genau, was man tut (z.B. Logfiles von Anwendungen, die gar nicht mehr installiert sind) * Receipts in {{Texttt|/Library/Receipts}} löschen (sollte man tunlichst unterlassen, da diese Dateien von Mac OS X unter anderem für die Zugriffsrechtereparatur verwendet werden. * ... ===verwendbare Tools=== * Kommandozeilentools wie {{Man|ps|ps}}, {{Man|top|top}}, {{Man|kill|kill}} (bordwerkzeug) * [[apfelwiki:Aktivitäts-Anzeige|Aktivitäts-Anzeige]] (bordwerkzeug / [[apfelwiki:Dienstprogramme|Dienstprogramme]]) * [[MU:OnyX|OnyX]] (free) * [http://www.macupdate.com/info.php/id/5856 MacJanitor] (free) * [[sourceforge:Monolingual|Monolingual]] (oss) * [http://www.macupdate.com/info.php/id/14393 Disk Inventory] * Applikations-Helferlein, z.B. für Safari (SafariEnhancer, SafariSpeed, SafariFixer, ...) * siehe auch Artikel [[Systemwartungstools]] 44dfa6e009347d7b401f6796e6a8f9f39368c99b Activate HiDPI Screen Resolutions (Duplicate) 0 165 788 2014-11-20T12:32:04Z Macwrench>Hagbard 0 Die Seite wurde neu angelegt: „[[Kategorie:Betriebssystem]][[Kategorie:Terminal]][[Kategorie:Kurztipp]]{{Legende|[[Bild:Terminal.png|32px]]}} __NOEDITSECTION__ Um zu Testzwecken auch auf nicht-…“ wikitext text/x-wiki [[Kategorie:Betriebssystem]][[Kategorie:Terminal]][[Kategorie:Kurztipp]]{{Legende|[[Bild:Terminal.png|32px]]}} __NOEDITSECTION__ Um zu Testzwecken auch auf nicht-Retina-Geräten die entsprechenden Auflösungen zur Verfügung zu haben, ist im {{Terminal}} folgendes Kommando einzugeben: sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true Anschließend ist eine erneute Anmeldung notwendig, um diese Änderung wirksam werden zu lassen. Die Retina-Auflösungen sind in den Monitoreinstellungen am Zusatz (HDPI) zu erkennen. Das Deaktivieren kann auf zwei verschiedene Arten erfolgen: sudo defaults delete /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled oder sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool false ead802aafc56030e940448867a45ea7da6732d6d Collect localizable strings into a Localizable.strings file 0 158 757 2015-03-26T07:14:11Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Kategorie:Entwicklertool]][[Kategorie:Kurztipp]]{{Legende|[[Bild:Xcode.png|32px]][[Bild:Terminal.png|32px]]}}Um aus einem existierenden Cocoa-/CocoaTouch-Projekt alle mit {{TT|NSLocalizedString}} lokalisierten Texte in ein {{TT|Localizable.strings}} File zu extrahieren, genügt es, im [[:Kategorie:Terminal|Terminal]] folgende Zeile (natürlich im Verzeichnis des jeweiligen Xcode-Projektes) einzugeben: {{Man|genstrings|genstrings}} ./path/to/classes/*.m zum Beispiel {{Man|genstrings|genstrings}} ./Classes/*.m um alle Texte aus den *.m Files im Verzeichnis {{TT|Classes}} auszulesen. Diese werden dabei in eine eventuell bereits existierende Datei hineingemerged, optional kann über die Option -a veranlasst werden, das die gefundenen Texte an eine vorhandene Datei lediglich angehängt werden. Mit der Option -o outputDir kann zusätzlich ein Zielverzeichnis angegeben werden Beispiel zum rekursiven Durchwandern aller .m Dateien und Ausgabe auf dem Desktop: find . -name \*.m | xargs genstrings -o ~/Desktop/ ==Siehe auch== * {{Man|genstrings|genstrings}} Manpage * [http://www.icanlocalize.com/site/tutorials/iphone-applications-localization-guide/ iPhone Applications Localization Guide] (icanlocalize.com) * [http://adeem.me/blog/2009/05/10/tutorial-part-2-localizing-your-iphone-application/ iPhone Tutorial (Part 2): Localizing your iPhone application] ;Apple: * [http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/LoadingResources/Strings/Strings.html String Resources] ;CocoaDev: * [http://www.cocoadev.com/index.pl?NSLocalizedString NSLocalizedString] * [http://www.cocoadev.com/index.pl?LocalizationTips LocalizationTips] 39f16e3881948c1f7c5184984f7ba6609c569e52 Mail Bundles nach Systemupdate reaktivieren 0 192 1012 2015-04-08T17:59:24Z Macwrench>Hagbard 0 /* Übersicht */ wikitext text/x-wiki [[Kategorie:Kurztipp]][[Kategorie:Internet]][[Kategorie:Betriebssystem]][[Kategorie:Programm]]{{Artikelsymbol|Mail.png}} Nach Systemupdates mit neuen Apple Mail Programmversionen werden Mail-Bundles (oft auch Plugins genannt) in der Regel deaktiviert, obwohl funktionell vielleicht gar keine Anpassungen seitens der Bundles notwendig wären. Dies geschieht anhand von Kompatibilitäts-IDs, die sich mit jedem Mail-Update ändern und daher von den Mail-Bundles entsprechend berücksichtigt werden müssen. Um also ein solches Plugin nach einem Systemupdate wieder lauffähig zu bekommen, genügt es in der Regel, diese UUID in der {{TT|Info.plist}}-Konfigurationsdatei des Bundles einzutragen. ===Die für die aktuelle Mail.app nowendige UUID finden:=== # Mail.app beenden # im "Programme" Ordner nach "Mail.app" suchen und dessen Inhalte anzeigen (Finder Rechtsklick -> "Paketinhalt zeigen)" # dort ins Verzeichnis {{TT|Contents}} wechseln und die Datei {{TT|Info.plist}} in einem Texteditor (oder besser: Xcode) öffnen # Diese Datei enthält einen Eintrag namens {{TT|PluginCompatibilityUUID}}, dessen Wert zu kopieren ist Alternativ kann dazu auch folgende Anweisung im {{Terminal}} verwendet werden: defaults read /Applications/Mail.app/Contents/Info PluginCompatibilityUUID ===In das jeweile Bundle eintragen:=== # Ins Verzeichnis {{TT|~/Library/Mail/Bundles (deaktiviert)/}} innerhalb des Benutzerverzeichnisses wechseln # im jeweils zu bearbeitenden Bundle-Verzeichnis die entsprechende {{TT|Info.plist}} finden und öffnen (z.B. {{TT|Herald.mailbundle/Contents/}}) # dort sollte ein Eintrag namens {{TT|SupportedPluginCompatibilityUUIDs}} vom Typ "Array" existieren # über den Pfeil links die Einträge anzeigen, den letzten Auswählen und durch Drücken von "Return" einen neuen Eintrag erzeugen # dort die aus Mail.app weiter oben kopierte UUID eintragen und die Datei speichern Anschließend ist das Bundle (hier: Herald.mailbundle) wieder (aus dem Ordner für deaktivierte Bundles heraus) in das Verzeichnis {{TT|Bundles}} zu verschieben und Mail neu zu starten. Nun sollte das Bundle auch mit der neuen Mail-Version funktionieren. ===Fertiges Skript=== Für das Ganze gibt es auch ein [https://gist.github.com/netj/930384 fertiges Skript], allerdings ohne Gewähr (vom Verfasser dieser Zeilen nicht getestet) ==Übersicht== {| style="border-spacing:0px; border-collapse:collapse; padding:0px;" |-- style="background-color:#c2c2c2;" ! width=120 | OS X Version || width=120 | Mail.app Version || width=300 | UUID |-- style="background-color:#efefef;" ! colspan="3" | OS X Mavericks Developer Previews |-- | 10.9.0 (13a476u) || 7.0 (1764) || 5C1C2B58-ADCC-4202-8BE9-3185EA50FE57 |-- | 10.9.0 (13a497d) || 7.0 (1780.1) || B9F62389-216B-4459-9F0C-2E379DB461C6 |-- | 10.9.0 (13a510d) || 7.0 (1784.1) || FAFAC824-B040-4302-938C-D3EBF2ED2DD6 |-- | 10.9.0 (13a524d) || 7.0 (1786.1) || BAF70BEF-2B7A-43CF-8C78-E5AE56543A4F |-- | 10.9.0 (13a538g) || 7.0 (1793.4) || 8683C61F-0A65-4118-A1A2-D000E7331AF2 |-- | 10.9.0 (13a558) || 7.0 (1800) || 4C90A872-9452-46B9-8229-A7B8A8E90C46 |-- | 10.9.0 (13a569) || 7.0 (1805) || CCF9E57F-98D8-4C64-82D1-5863A8F1C29C |-- | 10.9.0 (13a584) || 7.0 (1811) || 72F55B63-35E4-4323-8CA7-104774A0DE95 |-- | 10.9.0 (13A596) || 7.0 (1812) || 04D6EC0A-52FF-4BBE-9896-C0B5FB851BBA |-- | 10.9.0 (13A603) || 7.0 (1816) || 0941BB9F-231F-452D-A26F-47A43863C991 |-- style="background-color:#efefef;" ! colspan="3" | OS X Mavericks |-- | 10.9.0 || 7.0 (1822) || FBE5B158-5602-4A6D-9CC5-8461B9B7054E |-- | 10.9.1 || 7.1 (1827) || 1CD40D64-945D-4D50-B12D-9CD865533506 |-- | 10.9.2 || 7.2 (1874) || 88ED2D4C-D384-4BF5-8E94-B533455E6AAF |-- | 10.9.3 || 7.3 (1878.2) || F4C26776-22B3-4A0A-96E1-EA8E4482E0B5 |-- | 10.9.3 || 7.3 (1878.6) || D1EFE124-86FF-4751-BF00-80B2C0D6F2E4 |-- style="background-color:#efefef;" ! colspan="3" | OS X Yosemite |-- | 10.10.0 || -?- || 60D52D22-7491-4CA7-95BA-88215BD88F8E |-- | 10.10.1 || 8.0 (1988) ||7C051997-F45A-4523-B053-2D262F94C775 |-- | 10.10.2 || 8.1 (1988) || 800E5C92-87D3-429B-8740-5C6183CD13EA |-- | 10.10.3 || 8.2 (2098) || 60D52D22-7491-4CA7-95BA-88215BD88F8E |} <!-- https://github.com/AndreasVerhoeven/NoMailAppAnimationsOnMavericks/blob/master/Output/AveNoAnimationsInMailPlugin.mailbundle/Contents/Info.plist --> 323aaa26db5d40f8da5d352af8111d9c39c70b00 SSD Reconditioning 0 166 792 2015-06-05T12:47:33Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Kategorie:Systemwartung]][[Kategorie:Kurztipp]]{{Artikelsymbol|SSD_Disassembled.png}} Nach einem längeren Zeitraum und dementsprechend vielen Schreibzugriffen neigen SSDs im Allgemeinen dazu, durch eine ungünstige Verteilung der belegten Speicherbereiche immer langsamer zu werden - insbesondere bei gleichzeitigen Zugriffen bei erhöhter CPU-Last. Dies zeigt sich dann beispielsweise in einem Geschwindigkeitstest mit dem kostenlosten (jedoch nicht Open Source) Programm [https://www.aja.com/de/products/aja-system-test AJA System Test]. Eine Abhilfe ist zwar rein technisch gesehen recht einfach, jedoch relativ zeitraubend und es wird ein weiterer Datenträger von mindestens der Größe der aufzufrischenden SSD benötigt. Im Wesentlichen wird dazu die SSD geleert - d.h. vollständig mit 0en "voll"-geschrieben und anschließend wieder mit den vorherigen Nutzdaten (Betriebssystem etc.) befüllt. Dazu sind die folgenden Schritten durchzuführen: # ein '''vollständiges Backup''' der gesamtem SSD, beispielsweise auf eine externe Festplatte (s.u.) # '''Löschen der Partitionen''' auf der SSD (via Festplattendienstprogram) # '''Wiederherstellen des Backups''' von der externen HDD auf der SSD Nun sollte der AJA System Test wieder deutlich höhere Werte ausgeben. Viele Anleitungen beschreiben auch das Löschen der gesamten SSD durch Überschreiben aller Speicherbereiche mit Nullen. Diese Funktion des Festplattendienstprogramms (über den Button "Freien Speicher löschen ...") ist für SSDs aus technischen Gründen nicht verfügbar (siehe [https://support.apple.com/en-us/HT201949 hier]). Alternativ kann das natürlich auch über ein Terminal-Kommando bewerkstelligt werden, wobei die Wirkung dessen wohl eher zweifelhaft zu sein scheint: dd if=/dev/zero of=/dev/<partition> bs=100k Die Datensicherung kann entweder über das OS X Festplattendienstprogramm oder (idealerweise) mit Programmen wie [http://www.bombich.com Carbon Copy Cloner] (kommerziell) oder [http://www.shirt-pocket.com/SuperDuper/ SuperDuper] (kostenlos mit eingeschränktem Funktionsumfang, hierfür jedoch ausreichend) durchgeführt werden; letztere beiden sind dabei deutlich komfortabler zu bedienen (im Vergleich zum OS X Bordwerkzeug) und bieten diverse Konfigurationsmöglichkeiten. '''''Anmerkung, etwas off-topic:''''' Die beiden genannten Programme ([[Benutzer:Hagbard|ich persönlich]] bevorzuge den CCC) bieten sich beispielsweise auch für laufende Hintergrundsicherungen der gesamten SSD an, so dass der Mac im Schadensfall einfach direkt von der externen Sicherung aus gestartet wird und man ohne Unterbruch und (hoffentlich Datenverluste) weiterarbeiten kann, da so immer ein vollständiges und lauffähiges System zur Verfügung steht. Für die Sicherung der allerwichtigsten und sich häufig ändernden Daten kann man dann immer noch zusätzlich Time Machine verwenden ... == Siehe auch== * arstechnica: [http://arstechnica.com/information-technology/2012/06/inside-the-ssd-revolution-how-solid-state-disks-really-work/ Solid-state revolution: in-depth on how SSDs really work] * Mac Performance Guide: [http://macperformanceguide.com/Storage-SSD-Reconditioning.html Reconditioning a solid state drive (SSD)] * Mac Performance Guide: [http://macperformanceguide.com/blog/2010/20100529_DiskTester--dlt-ssd.html Restoring solid state drive performance with DiskTester ‘recondition’] * Cnet: [http://www.cnet.com/news/maintaining-ssd-drives-in-os-x/ Maintaining SSD drives in OS X] 22ee8fce33726953a13124d1b4b01a81647a0de2 Create a DVD ISO disk image from a VIDEO TS folder 0 151 721 2016-06-10T12:19:50Z Macwrench>Hagbard 0 typo wikitext text/x-wiki [[Kategorie:Betriebssystem]][[Kategorie:Kurztipp]]{{Legende|{{OSX|10.5}}}} Um aus einem VIDEO_TS Ordner ein DVD UDF ISO zu erzeugen reicht folgende Zeile: <pre> hdiutil makehybrid -udf -udf-volume-name <Name> -o <Name>.iso <Ordnername> </pre> Weitere Informationen sind im Artikel zu [[Hdiutil|hdiutil]] zu finden. 5cc26361130c004401f5d5e82b54c3ea7aa5b16d Show Hidden Files and Folders in Finder Windows 0 172 816 2016-07-04T07:18:50Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Kategorie:Betriebssystem]][[Kategorie:Terminal]][[Kategorie:Kurztipp]]{{Legende|[[Bild:Terminal.png|32px]]}} __NOEDITSECTION__ Um mit Bordmitteln und ohne weitere Tools (wie z.B. dem [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool]) die Darstellung versteckter (System-)Dateien zu aktivieren, ist einfach folgende Zeile im [[:Kategorie:Terminal|Terminal]] einzugeben: defaults write com.apple.finder AppleShowAllFiles -boolean true Damit die Änderung wirksam wird, muss man sich entweder ab- und wieder anmelden, oder man startet mit Hilfe des folgenden Terminal-Kommandos den Finder neu: killall Finder Deaktiviert wird das ganze mit folgendem Kommando: defaults delete com.apple.finder AppleShowAllFiles ==Alle Symbole des Desktop ausblenden== Umgekehrt kann man mit folgender Anweisungf auch alle Symbole des Desktop ausblenden: defaults write com.apple.finder CreateDesktop -bool FALSE; killall Finder Was sich mit folgender Anweisung auch wieder rückgängig machen lässt: defaults write com.apple.finder CreateDesktop -bool TRUE; killall Finder 5781a800e725ef677437fbc6e502a7267fdf51a4 Mac App Store Kurztipps 0 187 930 2016-09-20T08:03:30Z Macwrench>Hagbard 0 /* Weitere Möglichkeiten */ wikitext text/x-wiki [[Kategorie:Betriebssystem]][[Kategorie:Programm]]{{Artikelsymbol|MacAppStore.png}} ==Deinstallierte Apps werden weiterhin angezeigt== Hin und wieder passiert es, dass bereits deinstallierte Programme weiterhin oder wieder in der Mac App Store Applikation angezeigt werden. Wenn seit der Deinstallation kein weiteres Update veröffentlicht wurde, ist also eine erneute Installation nicht möglich. Dies kann unterschiedliche Gründe haben, und in vielen Fällen genügt ein Reboot oder ein Ab- und wieder Anmelden, um das Problem zu lösen. Oftmals genügt das jedoch nicht und es ist eine der folgendenden Vorgehensweisen anzuwenden: ===App-Cache löschen=== In manchen Fällen ist einfach nur etwas im App-eigenen Cache durcheinandergekommen, was die App Store App darin hindert, selbigen korrekt zu aktualisieren. Um diesen Cache zu löschen, ist folgendes zu tun: * App Store beenden * im Finder in den "{{TT|Library}}" Ordner des Benutzer wechseln (bei gedrückter <KB>alt</KB>-Taste im Finder-Menü "Gehe zu" den entsprechenden Eintrag auswählen (dieser ist normalerweise nicht sichtbar und muss durch die <KB>alt</KB>-Taste aktiviert werden) * dort in das Unterverzeichnis "{{TT|Caches}}" wechseln * darin das Verzeichnis "{{TT|com.apple.appstore}}" löschen Falls das alleine nichts bewirkt, ist dieses Vorgehen zu wiederholen und direkt im Anschluss eine Ab- und Wiederanmeldung am System durchzuführen, ggf. ist auch ein Neustart des Rechners notwendig. '''Hinweis:''' Unter Mac OS X 10.6 ist dieser Cache unter {{TT|~/Library/Application Support/AppStore/}} zu finden. ===Externe Laufwerke=== ... können ebenfalls ein Grund für dieses Verhalten sein, beispielsweise ein eingehängtes '''TimeMachine'''-Sicherungslaufwerk. Dieser Fall scheint zwar recht selten aufzutreten, [[Benutzer:hagbard|ich]] konnte das jedoch schon mehrmals beobachten – insbesondere nach einer Neuinstallation des Systems. In diesem Fall ist folgendes zu tun: * obige Vorgehensweise zum App-Cache löschen wiederholen * vom System abmelden und erneut anmelden * nach dem Anmelden <u>alle</u> eingehängten, externen Laufwerke auswerfen * Mac App Store starten ===Weitere Möglichkeiten=== ... die der Verfasser dieser Zeilen jedoch mangels Bedarf noch nicht verifizieren konnte, sind: * "Receipts" installierter Apps unter einem der beiden folgenden Verzeichnisse werden nicht korrekt aktualisiert:<pre>/private/var/db/receipts/</pre><pre>/Library/Recipts/InstallHistory.plist</pre> * Löschen des "LaunchServices" Cache im [[:Kategorie:Terminal|Terminal]] mit folgendem Kommando:<pre>/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user</pre> * Debug-Menü anzeigen:<pre>defaults write com.apple.appstore ShowDebugMenu -bool true</pre> e578711ed0e41193556dab3d2c946cabe314eb00 Purge the DNS cache 0 150 715 2017-11-30T15:55:50Z Macwrench>Hagbard 0 wikitext text/x-wiki [[Kategorie:Netzwerk]][[Kategorie:Kurztipp]] {{Legende|[[Bild:Terminal.png|32px]]}} Um nach Änderungen an der [[wikipedia:de:DNS|DNS]]-Konfiguration oder der lokalen Namensauflösung in {{Man|hosts|{{TT|/etc/hosts}}}} kann man mit folgendem Terminal-Kommando den lokalen DNS-Cache leeren: {| ! OS X Version !! Terminal-Anweisung |-- | bis Mac OS 10.4 (Tiger) || <code>sudo lookupd -flushcache</code> |-- | bis Mac OS 10.6 (Snow Leopard) || <code>sudo dscacheutil -flushcache</code> |-- | bis OS X 10.8 (Mountain Lion) || <code>sudo killall -HUP mDNSResponder</code> |-- | OS X 10.9 (Mavericks) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | OS X 10.10 (Yosemite) <sup>*</sup> || bis 10.10.3:<br /><code>sudo discoveryutil mdnsflushcache; sudo discoveryutil udnsflushcaches</code><br />seit 10.10.4:<br /><code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | OS X 10.11 (El Capitan) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | seit OS X 10.12 (Sierra) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder; sudo killall mDNSResponderHelper</code> |} ---- <sup>*)</sup><small> In Version 10.10.0 wurde mDNSResponder durch discoveryd ersetzt, der in Version 10.10.4 wegen anhaltender Probleme wieder entfernt wurde. Somit gleicht das Vorgehen in Version 10.10.4 und neuer wieder dem Vorgehen unter OS X Mavericks.</small> 387f552520a5b53e8a8b02d5872931b6deff5f49 BootKeyCombos 0 49 178 2019-02-14T11:33:37Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[Startup Key Combinations]] 8556dbf8b3735ccb2e0ba902caf8a6340d9df96b Boot Key Combos 0 50 180 2019-02-14T11:33:37Z Hagbard 2 1 revision imported wikitext text/x-wiki #redirect[[Startup Key Combinations]] d3275beacc9d8bbed4b382babda7ea395f3435a0 DMG Images konvertieren 0 53 186 2019-02-14T11:33:37Z Hagbard 2 1 revision imported wikitext text/x-wiki #redirect[[Dmg_Images_konvertieren]] 64264ca7e2e1c0e48dbbe5482183bee2a18ace3f Dashboard Widgets 0 57 194 2019-02-14T11:33:38Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[Dashboard]] 1c70e88a98ae8373877293aaf05b77d237403a27 Dictionary 0 60 200 2019-02-14T11:33:39Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[Kurztipp - Wörter im Dictionary nachschlagen]] 2d59eea0dbb27f0e68f063fe8d143bf815288015 Ethernet-Verkabelung 0 70 279 2019-02-14T11:33:39Z Hagbard 2 1 revision imported wikitext text/x-wiki #redirect [[Verkabelung]] 5f8a5624995225fa246cf5a8a8dd89c6f7bcf0e8 Hidden Safari Preferences 0 78 295 2019-02-14T11:33:40Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[Versteckte Safari Optionen]] a31f1ae579c6ed05544c082a71ce57e107858bd6 Prevent .DS Store files on network shares 0 148 707 706 2019-02-14T11:33:43Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Betriebssystem]][[Kategorie:Terminal]][[Kategorie:Kurztipp]]{{Legende|[[Bild:Terminal.png|32px]]}} __NOEDITSECTION__ Für alle, die sich jedesmal über die {{TT|.DS_Store}} Dateien auf Netzwerkvolumes ärgern (lästig vor allem bei Samba-Shares unter Linux/Win32) hier ein - zwar nicht mehr taufrischer, aber dennoch ganz hilfreicher - Tipp (funktioniert ab Mac OS X Tiger). Diese Files werden durch den Finder erstellt und speichern Darstellungseigenschaften für die einzelnen Ordner (z.B. Spaltenansicht etc.). Wer im Sinne besserer Optik / Ordnung drauf verzichten kann mache das folgende: Durch die Eigabe von defaults write com.apple.desktopservices DSDontWriteNetworkStores true im Terminal (muss für jeden Benutzer durchgeführt werden) erstellt der Finder diese Dateien nicht mehr. Das ist nur gültig für Netzwerkvolumes via ... * SMB/CIFS * AFP * NFS * WebDAV und hat keinen Einfluss auf lokale Volumes (sprich Festplatten, Wechselplatten, DVD-RAMs, ...). Anschließend muss (laut [http://docs.info.apple.com/article.html?artnum=301711 Apple]) der Rechner neu gebootet werden. Die Änderungen werden in der folgenden Datei gespeichert: ~/Library/Preferences/com.apple.desktopservices.plist Um die Änderungen auch für andere Benutzer wirksam zu machen, muss nur diese Datei an die entsprechende Stelle im Benutzerverzeichnis kopiert werden. Infos über mögliche daraus resultierende Fehlverhalten des Finders gibts unter anderem in [http://docs.info.apple.com/article.html?artnum=107822 diesem Artikel] der Apple Knowledge Base. {{Contentbox|content=Apple Knowledge Base Artikel zum Thema: [http://support.apple.com/kb/HT1629 Mac OS X v10.4 and later: How to prevent .DS_Store file creation over network connections]}} ===Löschen aller {{TT|.DS_Store}} Dateien=== [[Kategorie:Kurztipp]]Um rekursiv alle ''.DS_Store'' Dateien in einem Verzeichnis auf einmal zu löschen, genügt die Eingabe der folgenden Zeile im Terminal (im betreffenden Verzeichnis): <source lang="bash"> find . -name '*.DS_Store' -type f -delete </source> Für ein anderes Verzeichnis als das aktuelle ist dies an Stelle des Punktes nach "find" anzugeben. d78ac9b3bc6b308cf561eae9a45d87b1dc5ad324 Quit app when closing the last window (Cocoa, Objc) 0 149 712 711 2019-02-14T11:33:43Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Codebeispiel]][[Kategorie:Cocoa]][[Kategorie:Kurztipp]] Um eine ObjC-Cocoa-Applikation mit dem Schließen des letzten Fensters automatisch zu beenden, ist folgendes zu machen: in die Methode '''awakeFromNib''' folgende Zeilen einfügen, das sieht dann etwa so aus: - (void)awakeFromNib { ... [NSApp setDelegate:self]; ... } Anschließend eine Methode namens '''applicationShouldTerminateAfterLastWindowClosed''' erstellen, die wie folgt aussieht: - (BOOL)[http://www.cocoadev.com/index.pl?NSApplication applicationShouldTerminateAfterLastWindowClosed]:(NSApplication *)theApplication { return YES; } Fertig! Dazu gibt es auch eine ganze Reihe alternativer Vorgehensweisen, diese hier ist aber sehr einfach und funktioniert ... ;-) b14416c641a4e92bb2fd47d0ee4e92cf7c071161 Purge the DNS cache 0 150 716 715 2019-02-14T11:33:43Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Netzwerk]][[Kategorie:Kurztipp]] {{Legende|[[Bild:Terminal.png|32px]]}} Um nach Änderungen an der [[wikipedia:de:DNS|DNS]]-Konfiguration oder der lokalen Namensauflösung in {{Man|hosts|{{TT|/etc/hosts}}}} kann man mit folgendem Terminal-Kommando den lokalen DNS-Cache leeren: {| ! OS X Version !! Terminal-Anweisung |-- | bis Mac OS 10.4 (Tiger) || <code>sudo lookupd -flushcache</code> |-- | bis Mac OS 10.6 (Snow Leopard) || <code>sudo dscacheutil -flushcache</code> |-- | bis OS X 10.8 (Mountain Lion) || <code>sudo killall -HUP mDNSResponder</code> |-- | OS X 10.9 (Mavericks) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | OS X 10.10 (Yosemite) <sup>*</sup> || bis 10.10.3:<br /><code>sudo discoveryutil mdnsflushcache; sudo discoveryutil udnsflushcaches</code><br />seit 10.10.4:<br /><code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | OS X 10.11 (El Capitan) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | seit OS X 10.12 (Sierra) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder; sudo killall mDNSResponderHelper</code> |} ---- <sup>*)</sup><small> In Version 10.10.0 wurde mDNSResponder durch discoveryd ersetzt, der in Version 10.10.4 wegen anhaltender Probleme wieder entfernt wurde. Somit gleicht das Vorgehen in Version 10.10.4 und neuer wieder dem Vorgehen unter OS X Mavericks.</small> 387f552520a5b53e8a8b02d5872931b6deff5f49 Create a DVD ISO disk image from a VIDEO TS folder 0 151 722 721 2019-02-14T11:33:43Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Betriebssystem]][[Kategorie:Kurztipp]]{{Legende|{{OSX|10.5}}}} Um aus einem VIDEO_TS Ordner ein DVD UDF ISO zu erzeugen reicht folgende Zeile: <pre> hdiutil makehybrid -udf -udf-volume-name <Name> -o <Name>.iso <Ordnername> </pre> Weitere Informationen sind im Artikel zu [[Hdiutil|hdiutil]] zu finden. 5cc26361130c004401f5d5e82b54c3ea7aa5b16d Create Screen Shots in image formats other than PNG 0 152 726 725 2019-02-14T11:33:43Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Betriebssystem]][[Kategorie:Kurztipp]] ==Ausgabeformat von Screenshots ändern== Mit den Tastenkombinationen :<KB>apfel + shift + 3</KB> :<KB>apfel + shift + 4</KB> lassen sich unter MacOS Screenshots erstellen. Diese landen seit MacOS 10.4 (aka Tiger) als PNG-Grafik auf der Platte (früher: PDF). Das Dateiformat lässt sich jedoch mit der folgenden Änderung ändern bzw. wieder auf PDF zurückstellen. Anmerkung: :<KB>ctrl + apfel + shift + 3</KB> :<KB>ctrl + apfel + shift + 4</KB> kopiert das Bild in die '''Zwischenablage''' ===Vorgehensweise im Terminal=== Im Terminal die folgende Zeile eingeben und mit <KB>return</KB> bestätigen: defaults write com.apple.screencapture type <nowiki><dateityp></nowiki> wobei <nowiki><dateityp></nowiki> durch das gewünschte Format zu ersetzen ist (z.B. PDF). Anschließend muss man sich neu anmelden, um die Änderungen wirksam werden zu lassen oder den folgenden Befehl im Terminal eingeben: killall SystemUIServer Prinzipiell lässt sich dort jedes von Quicktime unterstützte Bildformat angeben. ===fertige Tools=== Die Umstellung kann auch mit Hilfe eines graphischen Tools vonstatten gehen, z.b. mit * [http://www.imovieplugins.com/other%20products/savescreenie.html savescreenie] * [[mu:SCIT|SCIT]] * [[mu:shotChoice|shotChoice]] * [[mu:TinkerTool|TinkerTool]] ===Unterstützte Bildformate=== * [http://de.wikipedia.org/wiki/Windows_bitmap BMP] (Windows Bitmap) * [http://de.wikipedia.org/wiki/GIF GIF] (Graphics Interchange Format) * [http://de.wikipedia.org/wiki/JPG JPEG] (Joint Photographic Experts Group) * [http://de.wikipedia.org/wiki/JPG JPEG-2000] * [http://de.wikipedia.org/wiki/PDF PDF] <sup>*)</sup> (Portable Document Format) * [http://en.wikipedia.org/wiki/PICT PICT] * [http://de.wikipedia.org/wiki/Portable_Network_Graphics PNG] <sup>*)</sup> (Portable Network Graphics) * PSD (Adobe Photoshop) * SGI * [http://de.wikipedia.org/wiki/Targa_Image_File TGA] (Targa Image File, von Truevision Inc.) * [http://de.wikipedia.org/wiki/TIFF TIFF] (Tagged Image File Format) <sup>*)</sup> getestet (nicht alle sind verifiziert und getestet, Kommentare sind wie immer willkommen) ----- Verfasser: [[Benutzer:Hagbard|hagbard]] e5c4077906d23cd1ece04cc6ecb66c44c14cda96 Move windows across Spaces 0 153 731 730 2019-02-14T11:33:43Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Betriebssystem]][[Kategorie:Kurztipp]]{{Legende|{{OSX|10.5}}}} Um unter Mac OS X 10.5 (Leopard) ein Fenster auf einen anderen Desktop von Spaces zu verschieben, ohne umständlich die Fenster mit der Maus herumdraggen zu müssen, genügt folgendes: * Fenster in der Titelleiste anklicken und Maustaste gedrückt halten (als ob man es verschieben will) * Desktop wechseln (standardmäßig <KB>CTRL</KB> + Desktopnummer Auf dem gewünschten Desktop die Maustaste wieder loslassen Alternativ kann man auch über die Spaces-Übersicht (standardmäßig über <KB>F8</KB> erreichbar) die Fenster zwischen verschiedenen Spaces hin- und herverschieben. {{Tipp|Auf diese Weise lassen sich auch andere Drag'n'Drop Operationen durchführen, beispielsweise das Einfügen einer Grafikdatei aus einem Finder-Fenster von Desktop 1 in eine E-Mail auf Desktop 3.}} Unter Mac OS X 10.6 (Snow Leopard) lassen sich die Fenster auch direkt in der Spaces-Übersicht verschieben. ---- ''Verfasser: [[Benutzer:Hagbard|hagbard]]'' 1191f9bf304fb4aee22d11ab931a936fd51ca027 Activate HiDPI Screen Resolutions 0 154 737 736 2019-02-14T11:33:43Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Betriebssystem]] {{Legende|[[Bild:Terminal.png|24px]]}} Um für Testzwecke – z.B. bei der Erstellung retina-kompatibler Programme oder Webseiten – die Ausgabe von OS X auf eine HiDPI Auflösung umschalten zu können, ist folgende Anweisung im [[:Kategorie:Terminal|Terminal]] einzugeben: sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool YES; Nach einer erneuten Anmeldung steht nun in den Systemeinstellungen (unter "Monitore") je nach verwendetem System eine oder mehrere Retina-Auflösungen zur Auswahl. Zum Deaktivieren dieser Funktion ist folgende Anweisung zu verwenden: sudo defaults delete /Library/Preferences/com.apple.windowserver DisplayResolutionDisabled; 6ac004970631c51e9365e509144d81d4ded0a08a Disable Firefox History Navigation when swiping horizontally 0 155 743 742 2019-02-14T11:33:43Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Internet]][[Kategorie:Kurztipp]] ==Horizontales History-Scrolling im Firefox== Im Firefox existieren ein paar Variablen, mit denen das Verhalten des Mausrades bestimmt werden kann. Dazu wird zwischen horizontalem und vertilkalem Scrolling unterschieden. ===Problem=== Insbesondere in Verbindung mit [[Maus am Mac|iScroll]] kann die horizontale Version dabei äußerst lästig sein, da bei nicht exakt vertikalen Bewegungen auf dem Touchpad der Firefox munter in der History herumspringt. ===Abhilfe=== Um die Funktion umzubelegen bzw. zu deaktivieren, kann man den Wert einer Konfigurationsvariablen auf der Konfigurationsseite about:config ändern (einfach genau so in die Adresszeile eingeben). Dazu muss der Variablen mousewheel.horizscroll.withnokey.action ein anderer Wert zugewiesen werden, standardmäßig ist dies mousewheel.horizscroll.withnokey.action = 2 Ein wert von 0 schafft beispielsweise Abhilfe. Dass der Wert der Variablen verändert wurde, ist am Status erkennbar - da steht nun "Vom Benutzer festgelegt" (oder das lokalisierte Pendant). Zu beachten ist, dass der Wert ein '''[[Wikipedia:de:Integer_(Datentyp)|integer]]''' sein muss, die Variable also nur ganzzahlige Werte aufnehmen kann. == Siehe auch == * [[Versteckte Firefox-Einstellungen]] ----- ''Verfasser: [[Benutzer:Hagbard|Hagbard]]'' 956be6e4d0c134dc2bc42067a076b064da94f8b6 Add Inline Images to Continuous TeXt 0 156 749 748 2019-02-14T11:33:43Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:TeX]][[Kategorie:Kurztipp]] Schön abgesetzte Grafiken und Abbildungen sind ja an sich in Ordnung; manchmal ist es aber zu Illustrationszwecken auch sehr praktisch, Grafiken vom Text umfließen zu lassen. Das geht mit TeX folgendermaßen: ===Package einbinden=== Zuerst ist das Package <font face="courier">wrapfig</font> notwendig, das wie folgt eingebunden wird: \usepackage{wrapfig} ===Grafiken erzeugen=== Anschließend wird beispielsweise wie folgt eine Grafik eingebunden: \begin{wrapfigure}[<font color="orange">$ZEILEN</font>]{<font color="orange">$AUSRICHTUNG</font>}{<font color="orange">$BEITE</font>} \includegraphics[<font color="orange">$IMAGEVARS</font>]{<font color="orange">$IMAGE</font>} \label{blah} \caption{blah} \end{wrapfigure} Wobei die obigen Variablen durch folgendes zu ersetzen sind: <font color="orange">$ZEILEN:</font> Anzahl der Zeilen Text, die die Grafiken umfließen sollen, z.B. 20 <font color="orange">$AUSRICHTUNG:</font> l (links) oder r (rechts) <font color="orange">$BREITE:</font> Breite des Textumflusses 4cm <font color="orange">$IMAGEVARS:</font> die sonst üblichen Optionen für Grafiken, z.B.: width=4cm <font color="orange">$IMAGE:</font> Grafikdatei ohne Endung, z.B. img01 Das kann dann ungefähr so aussehen: \begin{wrapfigure}[21]{r}{4cm} \includegraphics[width=4cm]{img/Siemens-sx1} \label{Mobiltelefon Siemens SX-1, Quelle: de.wikipedia.org} \caption{Mobil-telefon Siemens SX-1, Quelle: de.wikipedia.org} \end{wrapfigure} vielleicht nicht die eleganteste Lösung, aber sie funktioniert :) ===Alternative: {{TT|\parpic}}=== Alternativ kann für kleine Icons am Textrand auch das Package ''picins'' benutzt werden: <source lang="latex"> \usepackage{picins} \parpic{\includegraphics[width=1.6 cm]{pics/smallicons/MessageFilter}} </source> Danke an [[Benutzer:Aendes|aendes]] für den Tipp ;-) ----- ''Verfasser: [[Benutzer:Hagbard|Hagbard]] 3f59412ac99fe6b26704bd0e4d0e78cbd66f709a Change the Wallpaper of the Login Screen 0 157 753 752 2019-02-14T11:33:43Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Kurztipp]]{{Artikelsymbol|LoginWindowLogout.png}}{{Legende|{{OSX|10.5}}}}Das im Anmeldebildschirm von Mac OS 10.5 verwendete Hintergrundbild befindet sich nicht im gleichen Verzeichnis wie die übrigen Desktop-Hintergrundbilder /Library/Desktop Pictures/ sondern an einer anderen Stelle im System: /System/Library/CoreServices/DefaultDesktop.jpg Um ein anderes Bild dafür zu verwenden, gibt es prinzipiell zwei Möglichkeiten: ===Ändern der Voreinstellungen=== Das zu verwendende Hintergrundbild wird in folgender Einstellungsdatei festgelegt und kann dementsprechend auch geändert werden: /Library/Preferences/com.apple.loginwindow Das kann in einem Editor der Wahl oder mit dem folgenden Befehl über das Terminal erfolgen: <source bash> /usr/bin/defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture "/pfad/zum/neuen/bild.jpg" </source> Um diese Änderung rückgängig zu machen, ist dann dasselbe mit dem ursprünglichen Bild aufzurufen: <source bash> /usr/bin/defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture "/System/Library/CoreServices/DefaultDesktop.jpg" </source> {{Information|1='''Achtung:''' Der Benutzer muss dazu Schreibrechte im Systemverzeichnis haben, d.h. den obigen Befehlen ist u.U. ein "{{TT|1={{Man|sudo|sudo}} }}" voranzustellen!}} ===Ersetzen der Datei=== Diese Datei ist einfach durch eine andere zu ersetzen, wobei die Zugriffsrechte der neuen Datei unbedingt angepasst werden müssen! Das kann entweder über den Info-Screen der Datei oder im Terminal erfolgen. Im [[:Kategorie:Terminal|Terminal]] sind dazu nacheinander folgende Befehle einzugeben (MYNEWPICTURE ist dabei durch den Pfad zum neuen Bild zu ersetzen): <source bash> cd /System/Library/CoreServices mv DefaultDesktop.jpg DefaultDesktop.jpg.original cp MYNEWPICTURE /System/Library/CoreServices/DefaultDesktop.jpg % chown root:wheel /System/Library/CoreServices/DefaultDesktop.jpg % chmod 644 /System/Library/CoreServices/DefaultDesktop.jpg </source> {{Information|'''Achtung:''' Bei einem späteren Systemupdate kann diese Datei wieder durch die ursprüngliche Systemdatei überschrieben werden!}} ===Alternativen=== * [http://www.loginox.branox.com/ Loginox] (Freeware) d2cbf1c5f13eca17f3f42e08ea45f6dbbe6307e2 Collect localizable strings into a Localizable.strings file 0 158 758 757 2019-02-14T11:33:43Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Entwicklertool]][[Kategorie:Kurztipp]]{{Legende|[[Bild:Xcode.png|32px]][[Bild:Terminal.png|32px]]}}Um aus einem existierenden Cocoa-/CocoaTouch-Projekt alle mit {{TT|NSLocalizedString}} lokalisierten Texte in ein {{TT|Localizable.strings}} File zu extrahieren, genügt es, im [[:Kategorie:Terminal|Terminal]] folgende Zeile (natürlich im Verzeichnis des jeweiligen Xcode-Projektes) einzugeben: {{Man|genstrings|genstrings}} ./path/to/classes/*.m zum Beispiel {{Man|genstrings|genstrings}} ./Classes/*.m um alle Texte aus den *.m Files im Verzeichnis {{TT|Classes}} auszulesen. Diese werden dabei in eine eventuell bereits existierende Datei hineingemerged, optional kann über die Option -a veranlasst werden, das die gefundenen Texte an eine vorhandene Datei lediglich angehängt werden. Mit der Option -o outputDir kann zusätzlich ein Zielverzeichnis angegeben werden Beispiel zum rekursiven Durchwandern aller .m Dateien und Ausgabe auf dem Desktop: find . -name \*.m | xargs genstrings -o ~/Desktop/ ==Siehe auch== * {{Man|genstrings|genstrings}} Manpage * [http://www.icanlocalize.com/site/tutorials/iphone-applications-localization-guide/ iPhone Applications Localization Guide] (icanlocalize.com) * [http://adeem.me/blog/2009/05/10/tutorial-part-2-localizing-your-iphone-application/ iPhone Tutorial (Part 2): Localizing your iPhone application] ;Apple: * [http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/LoadingResources/Strings/Strings.html String Resources] ;CocoaDev: * [http://www.cocoadev.com/index.pl?NSLocalizedString NSLocalizedString] * [http://www.cocoadev.com/index.pl?LocalizationTips LocalizationTips] 39f16e3881948c1f7c5184984f7ba6609c569e52 Activate Momentum Scrolling for a Magic Mouse 0 159 762 761 2019-02-14T11:33:43Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Peripherie]][[Kategorie:Kurztipp]]{{Artikelsymbol|MagicMouse.png}}{{Legende|[[Bild:Terminal.png|32px]]{{OSX|10.5}}}} Um den animierten Nachlauf beim Scrollen (Momentum Scrolling) mit der [http://www.apple.com/de/magicmouse/ Apple Magic Mouse], der unter [[:Kategorie:Mac_OS_10.6_Feature|Mac OS X Snow Leopard]] in den Maus-Einstellungen (de-)aktivierbar ist, auch unter [[:Kategorie:Mac_OS_10.5_Feature|Mac OS X Leopard]] (10.5) zu aktivieren, ist im [[:Kategorie:Terminal|Terminal]] folgendes einzugeben: defaults write com.apple.driver.AppleBluetoothMultitouch.mouse MouseMomentumScroll -bool yes Anschließend ist die Scrolling-Funktion in den Maus-Einstellungen (Systemeinstellungen -> Maus) zu deaktivieren und unmittelbar danach gleich wieder zu aktivieren. Nun sollte der Nachlauf aktiv sein, auch wenn er in den Systemeinstellungen nicht direkt sicht- oder auswählbar ist. Zum Deaktivieren einfach folgendes Kommando im Terminal ausführen: defaults delete com.apple.driver.AppleBluetoothMultitouch.mouse MouseMomentumScroll 74072517caa7273de30fe7f91771a4a4e8414171 Mount Network Shares on Login 0 160 767 766 2019-02-14T11:33:43Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Kurztipp]][[Kategorie:Betriebssystem]][[Kategorie:Netzwerk]]{{Artikelsymbol|Network.png}} Netzwerkvolumes (z.B. AFP-, WebDAV- oder Windows-/SMB-Freigaben) bei der Anmeldung automatisch einzubinden ist erstaunlich einfach, dazu sind lediglich die folgenden wenigen Schritte notwendig: : [[Bild:SharedVolume.png|24px]] Das entsprechende Netzwerkvolume verbinden : [[Bild:SystemPreferences.png|24px]] Systemeinstellungen öffnen : [[Bild:Accounts.png|24px]] Zu "Benutzer & Gruppen" > "Anmeldeobjekte" wechseln Dort kann man über den "+" Button auch eine aktuell eingehängte Freigabe als Anmeldeobjekt hinzufügen, die fortan bei jeder Anmeldung dieses Benutzers eingehängt wird. Am einfachsten funktioniert das, wenn in den Finder-Einstellungen die Anzeige von "verbundenen Servern" in der Finder-Seitenleiste aktiviert ist; dadurch lässt sich die eingehängte Freigabe recht einfach auffinden und auswählen. 5fa896edf9451fbf5b084f47be63eae044ed0077 PDF Bookmarks with pdftex 0 161 773 772 2019-02-14T11:33:43Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:TeX]][[Kategorie:Kurztipp]] ==Links und Verweise mit pdftex== Mit dem pdfex Paket sind diverse PDF-Funktionen auch aus TeX-Dokumenten heraus verfügbar: ==Lesezeichen== Mit Hilfe von [http://www.tug.org/applications/pdftex/ pdftex] können bei der Generierung eines [[Wikipedia:de:PDF|PDF]] Dokuments Links und Verweise als PDF-Links und das Inhaltsverzeichnis in PDF-Bookmarks umgesetzt werden. Dazu werden unter anderem die Pakete '''pdftex''' und '''hyperref''' benötigt und mit entsprechenden Optionen eingebunden: \usepackage[pdftex,pagebackref,colorlinks, <font color="gray">% Farbe von TeX-Verweisen (URLs):</font> linkcolor=<font color="orange">black</font>, <font color="gray">% Farbe von Verweisen ins Web (URLs):</font> urlcolor=<font color="orange">black</font>, <font color="gray">% Farbe von Zitaten:</font> citecolor=<font color="orange">black</font>, <font color="gray">% Bookmarks mit Kapitelnummern versehen:</font> bookmarksnumbered=true, pdfauthor={<font color="orange">Autor</font>}, pdftitle={<font color="orange">Titel des Dokumentes</font>}, pdfsubject={<font color="orange">Thema</font>}, pdfkeywords={<font color="orange">Schlüsselwörter</font>} ] {hyperref} An das Dokument anzupassende Angaben sind jeweils <font color="orange">hervorgehoben</font> ==Hyperlinks== Um URL-Angaben als Hyperlink auszuführen, sind sie wie folgt anzugeben: \url{<font color="orange"><nowiki><link></nowiki></font>} also zum Beispiel: \url{[http://www.macwrench.de/wiki http://www.macwrench.de/wiki]} Formatiert werden (z.B. Schriftart und -größe) kann die Ausgabe dann wie oben beim Einbinden der Pakete oder durch Überladen der entsprechenden Funktionen. Im obigen Beispiel für die Lesezeichen sind das die Aangaben linkcolor=<font color="orange">black</font> und urlcolor=<font color="orange">black</font> Für eine vollständige Übersicht über die Syntax und mögliche Optionen gibts auf der [http://www.pdftex.org offiziellen Webseite] einiges an Dokumentation, weitere Links gibts in unserer [[TeX_Links|TeX-Linksammlung]]. ----- Verfasser: [[Benutzer:Hagbard|hagbard]] 27df7cbf8c48a8bab100db4ae71a207b7ad2d197 Kurztipp - PHP sicher konfigurieren 0 162 777 776 2019-02-14T11:33:43Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[PHP absichern]] 91e914d761697f3d1ed070338a11081b3f05f823 Source Code Listings with LaTeX 0 164 785 784 2019-02-14T11:33:43Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:TeX]][[Kategorie:Kurztipp]] ==Listings in TeX Dokumenten== Um in [[Wikipedia:de:TeX|TeX]] Dokumenten Quelltexte (Programmlistings) einzufügen, bietet sich die Verwendung des Pakets '''listings''' an. Dazu muss das Paket zuerst mit <source lang="latex"> \usepackage{listings} </source> eingebunden werden, außerdem empfiehlt sich für farbiges Syntax-Highlighting die Verwendung des Pakets ''color'' <source lang="latex"> \usepackage{color} </source> ==Quellcode einbinden== Dazu gib es 2 Möglichkeiten, entweder direkt im TeX Dokument (inline) oder als eigenständige Datei: ===inline=== <source lang="latex"> \begin{lstlisting} [caption={ein paar Zeilen code}\label{lst:test123},captionpos=t] for i:=maxint to 0 do begin j:=square(root(i)); end; \end{lstlisting} </source> ===externe Datei=== Hier im Beispiel eine Datei namens <font face="courier">beispiel.java</font> <source lang="latex"> \lstinputlisting [caption={Ein kleines Programm in Java} \label{lst:javaclass}, captionpos=t,language=JAVA] {listings/beispiel.java} </source> ===Hinweise=== '''label:''' Label für Referenzen auf das Listing mit \ref{lst:xyz}<br /> '''caption:''' Beschreibungstext<br /> '''captionpos:''' Position des Beschreibungstextes (t=top, b=bottom)<br /> '''language:''' [Dialekt]Sprache - Angabe einer Programmiersprache (z.B. JAVA, XML, C, C++) oder eines Dialekts (z.B. [LaTeX]TeX) ==Formatierung== ===Farben=== Mit Hilfe des Pakets ''color'' lassen sich mit Hilfe von <source lang="latex"> \color{<colour>} </source> Farbwerte verwenden sowie eigene definieren, z.B.: <source lang="latex"> \definecolor{middlegray}{rgb}{0.5,0.5,0.5} \definecolor{lightgray}{rgb}{0.8,0.8,0.8} \definecolor{orange}{rgb}{0.8,0.3,0.3} \definecolor{yac}{rgb}{0.6,0.6,0.1} </source> ===Quellcode=== Die Darstellung der Quellcodeabschnitte wird über \lstset{} formatiert, dabei stehen mehrere Variablen zur Verfügung, z.B.: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em;" ! background:#e3e3e3; width="200px" | Variable || width="200px" | Beschreibung || Beispiel |- | backgroundcolor || Hintergrundfarbe || \color{lightgray} |- | basicstyle || Schriftformatierung || \scriptsize\ttfamily |- | keywordstyle || Schlüsselwörter || \bfseries\ttfamily\color{orange}, |- | stringstyle || Variablen || \color{green}\ttfamily, |- | commentstyle || Kommentare || \color{middlegray}\ttfamily, |- | emph<br />emphstyle<br />emph<br />emphstyle | Variablen | square<br />\color{blue}\texttt<br />[2]root,base<br />[2]\color{yac}\texttt |- | showstringspaces || leerzeichen in Strings darstellen || true / false |- | flexiblecolumns || Spaltenbreite dynamisch/fest || true / false |- | tabsize || Tabulatorenbreite || 2, |- | numbers || Position der Zeilennummern || left / right |- | numberstyle || Größe der Zeilennummern || \tiny |- | numberblanklines || leere Zeilen durchnummerieren || true / false |- | stepnumber || Beginn der Nummerierung || 1 |- | numbersep || Abstand zwischen Zeilennummern und Quellcode || 10pt |- | xleftmargin || Abstand zum Rand || 15pt |} '''Anm.:'''<br /> Formatierung immer $key={$value}, Trennung mehrerer Definitionen durch Kommata<br /> <source lang="latex"> \bfseries: '''fettgedruckt'''<br /> \ttfamily: <font face="courier">typewriter</font><br /> \tiny: <small>klein</small> </source> Beispiel: <source lang="latex"> \lstset{ basicstyle=\scriptsize\ttfamily, keywordstyle=\bfseries\ttfamily\color{orange}, stringstyle=\color{green}\ttfamily, commentstyle=\color{middlegray}\ttfamily, emph={square}, emphstyle=\color{blue}\texttt, emph={[2]root,base}, emphstyle={[2]\color{yac}\texttt}, showstringspaces=false, flexiblecolumns=false, tabsize=2, numbers=left, numberstyle=\tiny, numberblanklines=false, stepnumber=1, numbersep=10pt, xleftmargin=15pt } </source> ==Quellcodeverzeichnis== Analog zu Abbildungs- und Tabellenverzeichnis kann auch ein Quellcodeverzeichnis eingebunden werden, das funktioniert mit <source lang="latex"> \lstlistoflistings </source> Um einen Eintrag im Inhaltsverzeichnis zu ermöglichen, sind jedoch einige Handgriffe erforderlich, so sind im TeX-Kopf (also vor <font face="courier">\begin{document}</font>) einige Elemente aus dem Dokumentenstyle (hier book.cls) und listings.sty zu überladen. Zur Info: die beiden Dateien befinden sich üblicherweise an den Orten /usr/local/teTeX/share/texmf.tetex/tex/latex/base/book.cls bzw. /usr/local/teTeX/share/texmf.tetex/tex/latex/listings/listings.sty wobei diese Dateien ja nicht editiert werden. Das erfolgt durch Einfügen des Code in das TeX-Dokument, und zwar zwischen die Tags <source lang="latex"> \makeatletter ... \makeatother </source> mit Hilfe der Anweisungen <source lang="latex"> \renewcommand (einen existierenden Befehl überschreiben) \newcommand (einen neuen Befehl erzeugen) </source> Das sieht dann - analog zu den [[Kurztipp - Verzeichnisse mit Kapitelnummern|Verzeichnissen]] etwa so aus: <source lang="latex"> \makeatletter % Festlegen des Kapitelnamen (nicht unbedingt notwendig): % aus listing.sty \renewcommand\lstlistlistingname{Quellcode} % Erzeugen eines Eintrags im Inhaltsverzeichnis: % aus book.cls \newcommand\loltableofcontents{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi \chapter*{\contentsname % \@mkboth{% % \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% \chapter{\lstlistlistingname} \@starttoc{toc}% \if@restonecol\twocolumn\fi } % Erzeugen des Quellcodeverzeichnisses: % aus listing.sty \renewcommand\lstlistoflistings{\bgroup \let\contentsname\lstlistlistingname \let\lst@temp\@starttoc \def\@starttoc##1{\lst@temp{lol}}% \loltableofcontents \egroup} \makeatother </source> ----- Verfasser: [[Benutzer:Hagbard|hagbard]] 32cdfba7e1881c1f593735812933f26acfbe9341 Activate HiDPI Screen Resolutions (Duplicate) 0 165 789 788 2019-02-14T11:33:44Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Betriebssystem]][[Kategorie:Terminal]][[Kategorie:Kurztipp]]{{Legende|[[Bild:Terminal.png|32px]]}} __NOEDITSECTION__ Um zu Testzwecken auch auf nicht-Retina-Geräten die entsprechenden Auflösungen zur Verfügung zu haben, ist im {{Terminal}} folgendes Kommando einzugeben: sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true Anschließend ist eine erneute Anmeldung notwendig, um diese Änderung wirksam werden zu lassen. Die Retina-Auflösungen sind in den Monitoreinstellungen am Zusatz (HDPI) zu erkennen. Das Deaktivieren kann auf zwei verschiedene Arten erfolgen: sudo defaults delete /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled oder sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool false ead802aafc56030e940448867a45ea7da6732d6d SSD Reconditioning 0 166 793 792 2019-02-14T11:33:44Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Systemwartung]][[Kategorie:Kurztipp]]{{Artikelsymbol|SSD_Disassembled.png}} Nach einem längeren Zeitraum und dementsprechend vielen Schreibzugriffen neigen SSDs im Allgemeinen dazu, durch eine ungünstige Verteilung der belegten Speicherbereiche immer langsamer zu werden - insbesondere bei gleichzeitigen Zugriffen bei erhöhter CPU-Last. Dies zeigt sich dann beispielsweise in einem Geschwindigkeitstest mit dem kostenlosten (jedoch nicht Open Source) Programm [https://www.aja.com/de/products/aja-system-test AJA System Test]. Eine Abhilfe ist zwar rein technisch gesehen recht einfach, jedoch relativ zeitraubend und es wird ein weiterer Datenträger von mindestens der Größe der aufzufrischenden SSD benötigt. Im Wesentlichen wird dazu die SSD geleert - d.h. vollständig mit 0en "voll"-geschrieben und anschließend wieder mit den vorherigen Nutzdaten (Betriebssystem etc.) befüllt. Dazu sind die folgenden Schritten durchzuführen: # ein '''vollständiges Backup''' der gesamtem SSD, beispielsweise auf eine externe Festplatte (s.u.) # '''Löschen der Partitionen''' auf der SSD (via Festplattendienstprogram) # '''Wiederherstellen des Backups''' von der externen HDD auf der SSD Nun sollte der AJA System Test wieder deutlich höhere Werte ausgeben. Viele Anleitungen beschreiben auch das Löschen der gesamten SSD durch Überschreiben aller Speicherbereiche mit Nullen. Diese Funktion des Festplattendienstprogramms (über den Button "Freien Speicher löschen ...") ist für SSDs aus technischen Gründen nicht verfügbar (siehe [https://support.apple.com/en-us/HT201949 hier]). Alternativ kann das natürlich auch über ein Terminal-Kommando bewerkstelligt werden, wobei die Wirkung dessen wohl eher zweifelhaft zu sein scheint: dd if=/dev/zero of=/dev/<partition> bs=100k Die Datensicherung kann entweder über das OS X Festplattendienstprogramm oder (idealerweise) mit Programmen wie [http://www.bombich.com Carbon Copy Cloner] (kommerziell) oder [http://www.shirt-pocket.com/SuperDuper/ SuperDuper] (kostenlos mit eingeschränktem Funktionsumfang, hierfür jedoch ausreichend) durchgeführt werden; letztere beiden sind dabei deutlich komfortabler zu bedienen (im Vergleich zum OS X Bordwerkzeug) und bieten diverse Konfigurationsmöglichkeiten. '''''Anmerkung, etwas off-topic:''''' Die beiden genannten Programme ([[Benutzer:Hagbard|ich persönlich]] bevorzuge den CCC) bieten sich beispielsweise auch für laufende Hintergrundsicherungen der gesamten SSD an, so dass der Mac im Schadensfall einfach direkt von der externen Sicherung aus gestartet wird und man ohne Unterbruch und (hoffentlich Datenverluste) weiterarbeiten kann, da so immer ein vollständiges und lauffähiges System zur Verfügung steht. Für die Sicherung der allerwichtigsten und sich häufig ändernden Daten kann man dann immer noch zusätzlich Time Machine verwenden ... == Siehe auch== * arstechnica: [http://arstechnica.com/information-technology/2012/06/inside-the-ssd-revolution-how-solid-state-disks-really-work/ Solid-state revolution: in-depth on how SSDs really work] * Mac Performance Guide: [http://macperformanceguide.com/Storage-SSD-Reconditioning.html Reconditioning a solid state drive (SSD)] * Mac Performance Guide: [http://macperformanceguide.com/blog/2010/20100529_DiskTester--dlt-ssd.html Restoring solid state drive performance with DiskTester ‘recondition’] * Cnet: [http://www.cnet.com/news/maintaining-ssd-drives-in-os-x/ Maintaining SSD drives in OS X] 22ee8fce33726953a13124d1b4b01a81647a0de2 SSH keep alive 0 167 798 797 2019-02-14T11:33:44Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Kurztipp]][[Kategorie:Terminal]]{{Artikelsymbol|Terminal.png}} Um im [[:Kategorie:Terminal|Terminal]] SSH-Sessions automatische Verbindungsabbrüche (in der Regel durch Firewalls, Load Balancer o.Ä. verursacht) zu verhindern, genügt es, folgende Zeilen in die SSH-Konfiguration zu schreiben: == Client == <source> ServerAliveInterval 300 ServerAliveCountMax 3 </source> D.h. das bei ggf erst nach 3x300 Sekunden die Verbindung beendet wird. systemweite Konfiguration: /etc/ssh_config Benutzerspezifische Konfiguration: ~/.ssh/config == Server == <source> ClientAliveInterval 300 ClientAliveCountMax 3 </source> Anschließend muss der Server neu gestartet werden, entweder über die Systemeinstellungen oder mit Hilfe dieses Terminal-Kommandos: <source> launchctl stop org.openbsd.ssh-agent launchctl start org.openbsd.ssh-agent </source> eine Liste der laufenden Dienste ist über diese Anweisung erreichbar: <source> launchctl list </source> ==Siehe auch== * [http://drupal.star.bnl.gov/STAR/comp/sofi/facility-access/ssh-stable-con/ SSH connection stability] * Man pages: {{Man|ssh|ssh}}, {{Man|ssh_config|ssh_config}}, {{Man|sshd|sshd}}, {{Man|sshd_config|sshd_config}} 8e4e9720516a964c994c6f35ae7637a8d53ab25d Launch Safari in Private Mode 0 168 802 801 2019-02-14T11:33:44Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Internet]][[Kategorie:Kurztipp]]{{Artikelsymbol|Safari.png}} Bekanntermaßen existiert in Safari eine Funktion "Privates Surfen", bei der keine Cookies oder Cache-Inhalte dauerhaft gespeichert werden. Dieser muss jedoch nach dem Start von Safari jedes Mal von Hand aktiviert und bestätigt werden, was unter Umständen recht lästig sein kann. Mit folgendem AppleScript lässt sich Safari jedoch auch direkt in diesem Modus starten: <source lang="AppleScript"> tell application "Safari" activate end tell tell application "System Events" to tell process "Safari" set hier_klicken to menu item 6 of menu 2 of menu bar 1 -- Menüpunkt "Privates Surfen" click hier_klicken click button "OK" of window 1 end tell </source> Dazu ist obiger Code einfach im AppleScript-Editor einzugeben und das Skript anschließend als Programm (.app Bundle) exportieren. 9f1864fe92c10a303ea4951a985bee19a4f3c2c8 Kurztipp - Screenshots ohne Schatten 0 169 806 805 2019-02-14T11:33:44Z Hagbard 2 1 revision imported wikitext text/x-wiki #redirect [[Screenshots_von_Fenstern_ohne_Schatten]] 3af12a5eda76371e68080e3f41f64a12d6643ee3 Kurztipp - Screenshots ohne Schatten erstellen 0 170 809 808 2019-02-14T11:33:44Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Kurztipp]][[Kategorie:Betriebssystem]]{{Artikelsymbol|Grab.png}}{{Legende|[[Bild:Terminal.png|32px]]}}Standardmäßig werden Screenshots von Einzelfenstern - entweder via "Bildschirmfoto.app" oder mit Hilfe der [[Mac Keyboard Shortcuts|Tastenkombination]] <KB>CMD + SHIFT + 4</KB> und anschließendem <KB>SPACE</KB> immer mit einem Schlagschatten versehen. Um dieses Verhalten abzustellen, ist folgende Eingabe im {{Terminal}} nötig: defaults write com.apple.screencapture disable-shadow -bool true Um diese Anweisung unmittelbar wirksam werden zu lassen, ist noch folgende Anweisung auszuführen: killall SystemUIServer Und um das Standardverhalten wiederherzustellen, kann folgende Anweisung verwendet werden: defaults delete com.apple.screencapture disable-shadow 298b553c25d12b105c797cab4b9980319173467b Free unused disk cache 0 171 813 812 2019-02-14T11:33:44Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Kurztipp]][[Kategorie:Terminal]][[Kategorie:Betriebssystem]]{{Artikelsymbol|Terminal.png}} Gestarteten Applikationen zugewiesener Speicher wird in der Regel nicht sofort nach dem Beenden der jeweiligen Applikation wieder freigegeben, um einen erneuten Start zu beschleunigen. Falls die Applikation jedoch so schnell nicht wieder gestartet werden soll und (wie beispielsweise Bildbearbeitungen oder Virtualisierungsumgebungen wie Virtual Box) relativ viel Speicher benötigt, kann dieser auch manuell freigegeben werden. Zu diesem Zweck existieren im Mac App Store zwar verschiedene - teils kostenlose, teils kostenpflichtige - Apps, ein einfacher Aufruf im [[:Kategorie:Terminal|Terminal]] genügt dafür jedoch ebenfalls: purge Durch dieses Kommando wird inaktiver (also derzeit nicht verwendeter) Speicher wieder freigegeben, üblicherweise eben durch Applikationen, die in letzter Zeit gestartet und bereits wieder beendet wurden. Ein vorher-nachher Vergleich ist über das Dienstprogramm "Aktivitätsanzeige" möglich. Der dort als "Inaktiv" bezeichnete Speicherbereich kann durch {{TT|purge}} in der Regel größtenteils freigegeben werden: * '''Reserviert (wired):''' Von Systemprozessen belegter Speicher (z.B. Kernel, Treiber usw.) * '''Aktiv:''' von aktuell gestarteten Programmen belegter Speicher * '''Inaktiv:''' für in der jüngeren Vergangenheit gestartete und bereits wieder beendete Programme reservierter Speicher * '''Benutzt:''' Die Summe dieser drei Werte {{Information|'''Hinweis:''' damit dieses Terminal-Kommando verfügbar ist, muss unter älteren OS X Versionen (bis incl. 10.6) das "BSD Subsystem" von OS X installiert sein. Dies ist Teil der OS X Systemdistribution und war bis Version 10.6 auf den Installationsmedien als extra Installationspaket enthalten. Seit OS X Lion ist es jedoch immer installiert.}} ==Siehe auch== * manpage zu {{Man|purge|purge}} * [http://support.apple.com/kb/HT1342?viewlocale=en_US&locale=en_US Using Activity Monitor to read System Memory and determine how much RAM is being used] (support.apple.com) * [http://blog.55minutes.com/2012/05/taming-the-lion-inactive-memory-problem/ Taming the Lion Inactive Memory Problem] (blog.55minutes.com) * [http://hints.macworld.com/article.php?story=20120410153721860 Automatically reclaim memory from leaky programs] (hints.macworld.com) dbfad58ee035f707747fd9d791b43317ed3511c7 Show Hidden Files and Folders in Finder Windows 0 172 817 816 2019-02-14T11:33:44Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Betriebssystem]][[Kategorie:Terminal]][[Kategorie:Kurztipp]]{{Legende|[[Bild:Terminal.png|32px]]}} __NOEDITSECTION__ Um mit Bordmitteln und ohne weitere Tools (wie z.B. dem [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool]) die Darstellung versteckter (System-)Dateien zu aktivieren, ist einfach folgende Zeile im [[:Kategorie:Terminal|Terminal]] einzugeben: defaults write com.apple.finder AppleShowAllFiles -boolean true Damit die Änderung wirksam wird, muss man sich entweder ab- und wieder anmelden, oder man startet mit Hilfe des folgenden Terminal-Kommandos den Finder neu: killall Finder Deaktiviert wird das ganze mit folgendem Kommando: defaults delete com.apple.finder AppleShowAllFiles ==Alle Symbole des Desktop ausblenden== Umgekehrt kann man mit folgender Anweisungf auch alle Symbole des Desktop ausblenden: defaults write com.apple.finder CreateDesktop -bool FALSE; killall Finder Was sich mit folgender Anweisung auch wieder rückgängig machen lässt: defaults write com.apple.finder CreateDesktop -bool TRUE; killall Finder 5781a800e725ef677437fbc6e502a7267fdf51a4 Show Numbered Chapters in a TeX TOC 0 173 821 820 2019-02-14T11:33:44Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:TeX]][[Kategorie:Kurztipp]] ==Verzeichnisse mit Kapitelnummern versehen== Standardmäßig werden im Dokumententyp ''book'' Verzeichnisse ohne Kapitelnummern dargestellt und tauchen nicht im Inhaltsverzeichnis auf. Das entspricht dem Effekt, den man durch die Verwendung von <source lang="latex"> \chapter*{} </source> anstatt von <source lang="latex"> \chapter{} </source> erreicht. Das kann aber durch Überladen einiger Anweisungen aus der Datei '''book.cls''' geändert werden, wobei der Code im Kopf des TeX-Dokumentes (also vor <font face="courier">\begin{document}</font>) zwischen den Tags <source lang="latex"> \makeatletter ... \makeatother </source> stehen sollte. Das sieht dann etwa so aus: ===Abbildungsverzeichnis=== <source lang="latex"> \renewcommand\listoffigures{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi %\chapter*{\listfigurename}% \chapter{\listfigurename}% \@mkboth{\MakeUppercase\listfigurename}% {\MakeUppercase\listfigurename}% \@starttoc{lof}% \if@restonecol\twocolumn\fi } </source> ===Tabellenverzeichnis=== <source lang="latex"> \renewcommand\listoftables{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi %\chapter{\listtablename}% \chapter{\listtablename}% \@mkboth{% \MakeUppercase\listtablename}% {\MakeUppercase\listtablename}% \@starttoc{lot}% \if@restonecol\twocolumn\fi } </source> ===Literaturverzeichnis=== <source lang="latex"> \renewenvironment{thebibliography}[1] %{\chapter*{\bibname}% {\chapter{\bibname}% \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% \list{\@biblabel{\@arabic\c@enumiv}}% {\settowidth\labelwidth{\@biblabel{#1}}% \leftmargin\labelwidth \advance\leftmargin\labelsep \@openbib@code \usecounter{enumiv}% \let\p@enumiv\@empty \renewcommand\theenumiv{\@arabic\c@enumiv}}% \sloppy \clubpenalty4000 \@clubpenalty \clubpenalty \widowpenalty4000% \sfcode`\.\@m} {\def\@noitemerr {\@latex@warning{Empty `thebibliography' environment}}% \endlist} </source> ----- Verfasser: [[Benutzer:Hagbard|hagbard]] 13f6a081722e8e1853bd0b1ee74ea522b2d2aed1 Adding Watermarks with LaTeX 0 174 826 825 2019-02-14T11:33:45Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:TeX]][[Kategorie:Kurztipp]] ==Wasserzeichen in TeX-Dokumenten== Mit den folgenden Zeilen Code und einer Grafik lassen sich einfach TeX-Dokumente mit Wasserzeichen hinterlegen, z.B.: "Muster", "Draft" oder ähnliches. Dazu werden zuerst die folgenden Pakete benötigt: \usepackage{eso-pic,graphicx} Anschließend wird innerhalb der Tags \makeatletter ... \makeatother das Element \BackgroundPicture überladen: \newcommand\BackgroundPicture[3]{% \setlength{\unitlength}{1pt}% \put(0,\strip@pt\paperheight){% \parbox[t][\paperheight]{\paperwidth}{% \vfill \centering\includegraphics[<font color="orange">width=21.4cm</font>,<font color="orange">angle=45</font>]{<font color="orange">img/draft</font>} \vfill } } } und das Hintergrundbild vor dem einleitenden Tag \begin{document} eingefügt: \AddToShipoutPicture{\BackgroundPicture} '''Anm.:''' die <font color="orange">hervorgehobenen</font> Bereiche müssen ggf. an die eigene Grafik angepasst werden, im obigen Beispiel handelt es sich um ein DinA4 Format '''width:''' Breite<br /> '''height:''' Höhe<br /> '''angle:''' Drehungswinkel Beispielgrafik: ''DRAFT'' als [[media:tex-watermark-draft.pdf.zip|PDF]] oder [[media:tex-watermark-draft.ps.zip|PostScript]] ----- Verfasser: [[Benutzer:Hagbard|hagbard]] 77e0d525f079617149ec73096007ca16162e5acf Jumping Wordwise in Terminal Commands 0 175 831 830 2019-02-14T11:33:45Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Terminal]][[Kategorie:Kurztipp]]{{Artikelsymbol|Terminal.png}}Unter Snow Leopard ist die Tastaturbelegung der [[:Kategorie:Terminal|Terminal]].app scheinbar etwas durcheinandergeraden, so bewirkt z.B. der wortweise Sprung in der Eingabe via <KB>ctrl + links</KB> beziehungsweise <KB>ctrl + rechts</KB> ein Einfügen der Großbuchstaben "D" bzw. "C". Um das zu ändern, sind die Einstellungen der Terminal App zu öffnen und im Abschnitt "Tastatur" die entsprechenden Belegungen zu ändern. So sehen sie (höchstwahrscheinlich) aus: {| |-- style="background-color:#f2f2f2;" | style="width:200px;" | Belegung || style="width:100px;" | ist || style="width:100px;" | soll |-- | Ctrl-Taste Linkspfeil || {{TT|\033[5D}} || {{TT|\033b}} |-- | Ctrl-Taste Rechtsspfeil || {{TT|\033[5C}} || {{TT|\033f}} |} Ggg. ist (unter OS X 10.7 und neuer) vorher die entsprechende Tastaturbelegung für den Wechsel von Spaces in den Systemeinstellungen (unter "Tastatur" > "Mission Control") zu deaktivieren 178e5c1a8478d39fcca1988d33b59b27e2e58a2d Kurztipp - Wörter im Dictionary nachschlagen 0 66 839 838 2019-02-14T11:33:45Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Hilfsprogramm]][[Kategorie:Kurztipp]] {{Legende|{{OSX|10.4}}}} ==Dictionary Schnellzugriff== Für all diejenigen, die häufiger Wörter (oder heisst es dann Worte) im Duden nachschlagen müssen, empfiehlt sich die Tastenkombination <KB>ctrl + cmd + d</KB> Die Funktion ist in Cocoa-Applikationen wie den folgenden verfügbar: * TextEdit * Safari * Mail * Pages * Keynote Wer Sidetrack oder eine Mehr-Button-Maus benutzt, kann auch einen Shortcut auf diese Kombination legen ([http://www.agentlebossanova.net/images/sidetrack.jpg Einrichtung mit Sidetrack]) ==Auswahl an Wörterbüchern== Leider wird Mac OS X nur mit englischen Wörterbüchern ausgeliefert: * New Oxford American Dictonary * Oxford American Writers Dictionary * englische Wikipedia (seit [[:Kategorie:Mac_OS_10.5_Feature|Mac OS 10.5]]) Es lässt sich aber mit denen [http://web.mac.com/tekl/deutsch/W%C3%B6rterb%C3%BCcher.html auf dieser Seite] verfügbaren Wörterbüchern/Thesauri nachrüsten. ==Dictionary-Interna== Die Dictionaties sind in Form von <font face="courier">*.dict</font> Archiven im folgenden Verzeichnis zu finden: /Library/Dictionaries/ und beinhalten die folgenden Dateien: '''dict_body''' Dictionary-Inhalte als XML-Datei '''dictionary_1''' sieht ziemlich binär aus ... vllt. irgendeine Art TOC? '''images/''' ggf. noch ein Unterverzeichnis mit Bilddateien und die üblichen MacOS X Archiv-Beschreibungsdateien '''Info.plist''' '''PkgInfo''' Typ des Archivs (dictlam) '''version.plist''' Das Dictionary selber ist eine XML-Datei und folgt der [http://oup.dataformat.com/doc/OUP_DTD_Dictionary.html Dictionary DTD]. Vielleicht weiss jemand, was sich hinter der Binärdatei versteckt, sie beginnt auf jeden Fall recht obskur mit dictL,com.apple.DictionaryAccessMethod.ForwardTrie [http://www.google.com Google] wusste da auf die Schnelle auch nicht weiter ... ==Dictionaries hinzufügen== Nett wäre z.B. ein Wrapper für [http://dict.leo.org dict.leo.org] oder die [http://de.wikipedia.org Wikipedia] :) Vielleicht kann man ja irgendwie die [http://de.wikipedia.org/wiki/Wikipedia:Wikipedia-Distribution/Rohdaten Rohdaten] der Wikipedia Offline-Distribution Nutzen, die es als XML-Datei [http://download.directmedia.de/wikipedia/wikipedia_1_2005_xml.zip hier] zum Download gibt. Die ist aber anscheinend nicht sonderlich well-formed ... Unter [http://meta.wikimedia.org/wiki/Wik2dict diesem Link hier] gibts ein Konvertierungstool, um den SQL-Dump eines mediawikis ins dict-Format zu konvertieren (was ja das Dictionary-Tool in MacOS X verwendet). Damit wärs theoretisch möglich, die Wikipedia zu importieren, halt nur immer mit den aktuellen Release-Ständen - [[Benutzer:Hagbard|hagbard]] 18:25, 4. Jul 2005 (CEST) 828824d1afefc2755e394011431f84d1f92c23d8 Change the Encoding of Text Files 0 176 845 844 2019-02-14T11:33:45Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Terminal]]{{Legende|[[Bild:Terminal.png|32px]]}}Um die [[wikipedia:Zeichenkodierung|Zeichenkodierung]] von Textdateien (beispielsweise [[wikipedia:de:UTF-8|UTF-8]] oder [[wikipedia:ISO 8859-1|ISO Latin-1]]) zu konvertieren, genügt folgende Zeile im Terminal: <source lang="bash"> iconv -f QUELLKODIERUNG -t ZIELKODIERUNG QUELLDATEI > ZIELDATEI </source> beispielsweise um ein russisches (kyrillisches) Textfile in UTF-8 umzuwandeln: <source lang="bash"> iconv -f WINDOWS-1251 -t UTF-8 text.txt > text-utf8.txt </source> Alternativ kann natürlich auch der Texteditor des Vertrauens dazu verwendet werden, allerdings ist imho eine Zeile im Terminal schneller eingetippt als man durch ein seitenlanges Menü verschiedener Textkodierungen gescrollt hat ... ==Unterstützte Kodierungen== Im Folgenden ein kleiner Auszug aus der Liste der von iconv unterstützten Kodierungen. Über die Option {{TT|-l}} oder {{TT|--list}} kann man sich eine Liste aller unterstützter Kodierungen ausgeben lassen, weitere Informationen dazu sind auch in der Manpage von {{Man|iconv|iconv}} zu finden. Die in einer Zeile stehenden Kodierungen sind dabei geleichbedeutend (alternative Schreibweisen und Bezeichnungen) ;Unicode :UTF-8, UTF8 :UTF-8-MAC, UTF8-MAC :UTF-16 :UTF-16BE :UTF-16LE :UTF-32 :UTF-32BE :UTF-32LE :UTF-7 ;ISO :CP819, IBM819, ISO8859-1, ISO_8859-1, ISO_8859-1:1987, L1, LATIN1, CSISOLATIN1 :ISO-8859-2, ISO-IR-101, ISO8859-2, ISO_8859-2, ISO_8859-2:1987, L2, LATIN2, CSISOLATIN2 :ISO-8859-3, ISO-IR-109, ISO8859-3, ISO_8859-3, ISO_8859-3:1988, L3, LATIN3, CSISOLATIN3 :ISO-8859-4, ISO-IR-110, ISO8859-4, ISO_8859-4, ISO_8859-4:1988, L4, LATIN4, CSISOLATIN4 :CYRILLIC, ISO-8859-5, ISO-IR-144, ISO8859-5, ISO_8859-5, ISO_8859-5:1988, CSISOLATINCYRILLIC ==Siehe auch== * {{Man|iconv|iconv}} * [[wikipedia:de:Iconv|iconv]] in der [[wikipedia:de:Hauptseite|Wikipedia]] 910fc9b409dc89fbadea4cdca935647ccc96c6b3 Mount DMG Disk Images on Linux 0 177 849 848 2019-02-14T11:33:45Z Hagbard 2 1 revision imported wikitext text/x-wiki {{Legende|{{Linux}}}}[[Kategorie:Kurztipp]][[Bild:DMG.png|right]] Da .dmg Images im Prinzip ganz normale Disk-Images mit dem HFS-Dateisystem sind, lassen sie sich auch unter Linux benutzen. Dazu muss die Linux Installation allerdings über HFS+ Treiber verfügen, die üblicherweise als Modul geladen werden. Da unter Mac OS X allerdings mehrere unterschiedliche Imageformate erzeugt werden können, kann ich hier nicht beurteilen, ob wirklich alle gelesen werden können. Das gilt insbesondere für verschlüsselte oder komprimierte Diskimages, aber auch für die mitwachsenden welchen (Sparse Image). ==dmg Image testen== Bei einem gültigen - d.h. für Linux nutzbaren - Image sollte das Kommando file <imagename>.dmg die folgende (oder eine vergleichbare) Ausgabe erzeugen: <imagename>.dmg: Macintosh HFS data (mounted) created: ....bla..., last modified: ...bla..., block size: ...bla..., number of blocks: ...bla..., volume name: <volumename> ==dmg Image mounten== Eingebunden wird es dann einfach mit {{Man|mount|mount}} -t hfs -o loop <imagefile> <mountpoint> ==Weitere Informationen== * Manpage zu {{Man|mount|mount}} * Manpage zu {{Man|hdiutil|hdiutil}} (für das Erstellen von Images unter Mac OS X) * Artikel zu [[hdiutil]] (incl. Liste der verschiedenen Imagetypen) ----- ''Verfasser: [[Benutzer:Hagbard|hagbard]]'' bd5bb2ebcb7a7983432a4fcbe7c9627153ed2400 Launchd 0 178 854 853 2019-02-14T11:33:45Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Betriebssystem]]{{Ausbaufähig}} '''Artikelplanung:''' siehe [[{{TALKPAGENAME}}|Diskussionsseite]] == Graphische Oberflächen == Für die bequemere Nutzung von launchd (v.a. zur Verwaltung laufender Dienste) existieren auch graphische Oberflächen: * [[sourceforge:lingon|Lingon]] zum Erzeugen von launchd-Konfigurationsdateien, Frontend für {{Man|launchctl|launchctl}} (Open Source) * [http://www.codepoetry.net/products/launchdeditor Launchd Editor] zum Erzeugen von launchd-Konfigurationsdateien (Shareware, 5$) == Weitere Informationen == * [[wikipedia:de:Launchd|launchd]] in der [[wikipedia:de:Launchd|Wikipedia]] * [http://data.scl.utah.edu/fmi/xsl/stream/details.xsl?-recid=200&a::v=EyaO944i72 launchd in Depth] (scl.utah.edu) * [http://www.macgeekery.com/tips/all_about_launchd_items_and_how_to_make_one_yourself All About launchd Items (and How To Make One Yourself)] (www.macgeekery.com) * [http://www.macgeekery.com/tips/some_launchd_recipes Some Launchd Recipes] (www.macgeekery.com) ===manpages=== * {{Man|launchd|launchd}} ([[ADC:documentation/Darwin/Reference/ManPages/man8/launchd.8.html|ADC]]) * {{Man|launchctl|launchctl}} ([[ADC:documentation/Darwin/Reference/ManPages/man1/launchctl.1.html|ADC]]) * {{Man|launchd.plist|launchd.plist}} ([[ADC:documentation/Darwin/Reference/ManPages/man5/launchd.plist.5.html|ADC]]) * {{Man|launchd_debugd|launchd_debugd}} ([[ADC:documentation/Darwin/Reference/ManPages/man8/launchd_debugd.8.html|ADC]]) * {{Man|launchd.conf|launchd.conf}} ([[ADC:documentation/Darwin/Reference/ManPages/man5/launchd.conf.5.html|ADC]]) ===ADC Referenz=== * [[ADC:macosx/launchd.html|Getting Started with launchd]] * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/LaunchOnDemandDaemons.html|Creating launchd Daemons and Agents]] * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/CustomLogin.html|Customizing Login and Logout]] ;MacDevCenter - Startup Programming Topics ([[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/BPSystemStartup.pdf|PDF]]) * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/BootProcess.html|The Boot Process]] * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/DesigningDaemons.html|Guidelines for Creating and Launching Daemons]] bd5106406efd21ebc7c18404a868904d8dc3e05e Lion Recovery 0 181 869 868 2019-02-14T11:33:45Z Hagbard 2 1 revision imported wikitext text/x-wiki {{Artikelsymbol|MacOS10.7.png}}[[Kategorie:Mac OS 10.7 Feature]][[Kategorie:Betriebssystem]][[Kategorie:Kurztipp]]Der '''"Recovery Modus"''' von OSX Lion (Version 10.7) bietet eine Möglichkeit, von einer sog. "Recovery Partition" aus ein vorhandenes System entweder zu warten (zur Fehlerbehebung) oder neu zu installieren. Dazu bietet es die bisher auf den Installations-DVDs verfügbaren Hilfsprogramme an, wie z.B.: * Terminal * Festplatten-Dienstprogramm * Netzwerkdienstprogramm Von hier aus lässt sich das System auch unter Verwendung eines vorhandenen Time Machine Backups wiederherstellen. Sie wird bei einer Installation von OSX Lion automatisch angelegt, taucht jedoch nicht im Festplatten-Dienstprogramm als Partition auf sondern lediglich in der Startvolume-Auswahl beim Starten des Mac (direkt nach dem Start <kb>alt</kb> gedrückt halten). Durch folgende Tastenkombination kann auch direkt von dieser Partition gestartet werden (siehe [[Startup_Key_Combinations|hier]]): <kb>apfel + r</kb> {{Wichtig|'''Partitionsschema:''' Die Recovery Partition kann derzeit wohl nur auf Festplatten mit dem Apple Partitionsschema "GUID" (für Intel-Macs) erstellt und verwendet werden. Da sie automatisch auf derselben Festplatte wie die zugehörige OSX-Installation erstellt wird, sollte man (so denn auf Lion Recovery Wert gelegt wird) auf die Verwendung eines anderen Partitionsschemas verzichten.}} {{Information|1='''Offline Installation von OSX Lion''' Für eine reine offline-Installation von OSX Lion (ohne verfügbare Internetverbindung) kann aus dem heruntergeladenen App-Store-Bundle "{{TT|Mac OS X Lion Installation.app}}" sehr einfach eine Installations-DVD erzeugt werden: * im Finder-Kontextmenü dieses Archivs "Paketinhalt anzeigen" auswählen * das DiskImage "{{TT|InstallESD.dmg}}" im Unterverzeichnis {{TT|Contents/SharedSupport}} herauskopieren, z.B. auf den Desktop * Im Festplatten-Dienstprogram den "Brennen" Button anklicken und dieses Image auswählen. }} ==Internet Recovery== Falls keine Recovery-Partition zur Verfügung steht (z.B. nach einem Festplattenwechsel, existiert alternativ die Möglichkeit der '''"Internet Recovery"'''. Dabei wird diese Partition über das Internet installiert und ermöglicht anschließend eine Neuinstallation von OSX Lion (mit der für den Kauf von OSX Lion verwendeten Apple ID) oder alternativ eine Wiederherstellugn mit Hilfe eines Time Machine Backups. Dabei sollte klar sein, dass zumindest für den Download des Recovery Images eine Internetverbindung notwendig ist. Die entsprechenden Dienstprogramme zur Netzwerkkonfiguration sind im Recovery-System verfügbar. ==Recovery Disk Assistant== Alternativ dazu kann mit Hilfe des [http://support.apple.com/kb/DL1433 Recovery Disk Assistant] die Recovery-Partition nachträglich und auch auf externen Laufwerken angelegt werden. Anschließend kann wie oben beschrieben von diesen Laufwerken gestartet und ein evtl. defektes System repariert/wiederhergestellt (oder OSX Lion installiert) werden. Weitere Informationen dazu gibt es im entsprechenden [http://support.apple.com/kb/HT4848 Support-Dokument]. ==Siehe auch== * [http://www.apple.com/macosx/recovery/ Lion Recovery Webseite] (apple.com) * [http://support.apple.com/kb/HT4718 Apple Support-Dokument HT4718] (support.apple.com) * [http://support.apple.com/kb/DL1433 Recovery Disk Assistant] und dazugehöriges [http://support.apple.com/kb/HT4848 Support-Dokument] f7523a52135c9476e43cb929fb653a4c8d9c4016 MAMP PRO - MySQL datadir Einschränkung umgehen 0 182 874 873 2019-02-14T11:33:45Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Entwicklertool]][[Kategorie:Kurztipp]] Standardmäßig legt [http://www.mamp.info MAMP PRO] alle MySQL-Datenbanken in einem fest vorgegebenen Verzeichnis ab, dessen Pfad sich dank eines in der Applikation fest eingebauten Pfades leider nicht ändern lässt: /Library/Application Support/appsolute/MAMP PRO/db/mysql bzw. bei älteren Versionen /Library/Application Support/living-e/MAMP PRO/db/mysql Das bedeutet, der {{TT|--datadir}} Parameter zur Angabe eines alternativen Verzeichnisses kann nicht zur Verwendung kommen, da das Aufrufkommando nicht zur Verfügung steht. Allerdings scheint der der verwendete MySQL daemon symlinks zu folgen (Stand: MAMP PRO 2.0). Es genügt als, das o.g. Verzeichnis {{TT|mysql}} an eine beliebige Stelle im Dateisystem zu verschieben und in obigem Verzeichnis einen Symlink (Alias) zu setzen. Dies erfolgt entweder per Finder oder im [[:Kategorie:Terminal|Terminal]]: ln -s /path/to/my/new/mysql /Library/Application\ Support/appsolute/MAMP\ PRO/db/mysql {{Information|Alternativ können auch hardlinks verwendet werden, bei denen sich jedoch prinzipbedingt Ursprung und Ziel auf derselben Partition befinden müssen. Symlinks dagegen erlauben auch Verweise auf ein Zielverzeichnis, das auf einer anderen Partition oder Festplatte liegt.<br /> Sinnigerweise sollte dieses Laufwerk während des Serverstarts verfügbar sein, daher scheiden Netzwerklaufwerke (AFP oder SMB) für den Fall aus, wenn die MAMP-Server bereits beim Booten des Systems gestartet werden.}} e5a3bd4154b177dbb8600fe7e9f47e040178c9c7 MacOS Keyboard Shortcuts 0 186 928 927 2019-02-14T11:33:45Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[Mac Keyboard Shortcuts]] 984429fb49a9774737093438e98313885c03d1f9 Mac App Store Kurztipps 0 187 931 930 2019-02-14T11:33:45Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Betriebssystem]][[Kategorie:Programm]]{{Artikelsymbol|MacAppStore.png}} ==Deinstallierte Apps werden weiterhin angezeigt== Hin und wieder passiert es, dass bereits deinstallierte Programme weiterhin oder wieder in der Mac App Store Applikation angezeigt werden. Wenn seit der Deinstallation kein weiteres Update veröffentlicht wurde, ist also eine erneute Installation nicht möglich. Dies kann unterschiedliche Gründe haben, und in vielen Fällen genügt ein Reboot oder ein Ab- und wieder Anmelden, um das Problem zu lösen. Oftmals genügt das jedoch nicht und es ist eine der folgendenden Vorgehensweisen anzuwenden: ===App-Cache löschen=== In manchen Fällen ist einfach nur etwas im App-eigenen Cache durcheinandergekommen, was die App Store App darin hindert, selbigen korrekt zu aktualisieren. Um diesen Cache zu löschen, ist folgendes zu tun: * App Store beenden * im Finder in den "{{TT|Library}}" Ordner des Benutzer wechseln (bei gedrückter <KB>alt</KB>-Taste im Finder-Menü "Gehe zu" den entsprechenden Eintrag auswählen (dieser ist normalerweise nicht sichtbar und muss durch die <KB>alt</KB>-Taste aktiviert werden) * dort in das Unterverzeichnis "{{TT|Caches}}" wechseln * darin das Verzeichnis "{{TT|com.apple.appstore}}" löschen Falls das alleine nichts bewirkt, ist dieses Vorgehen zu wiederholen und direkt im Anschluss eine Ab- und Wiederanmeldung am System durchzuführen, ggf. ist auch ein Neustart des Rechners notwendig. '''Hinweis:''' Unter Mac OS X 10.6 ist dieser Cache unter {{TT|~/Library/Application Support/AppStore/}} zu finden. ===Externe Laufwerke=== ... können ebenfalls ein Grund für dieses Verhalten sein, beispielsweise ein eingehängtes '''TimeMachine'''-Sicherungslaufwerk. Dieser Fall scheint zwar recht selten aufzutreten, [[Benutzer:hagbard|ich]] konnte das jedoch schon mehrmals beobachten – insbesondere nach einer Neuinstallation des Systems. In diesem Fall ist folgendes zu tun: * obige Vorgehensweise zum App-Cache löschen wiederholen * vom System abmelden und erneut anmelden * nach dem Anmelden <u>alle</u> eingehängten, externen Laufwerke auswerfen * Mac App Store starten ===Weitere Möglichkeiten=== ... die der Verfasser dieser Zeilen jedoch mangels Bedarf noch nicht verifizieren konnte, sind: * "Receipts" installierter Apps unter einem der beiden folgenden Verzeichnisse werden nicht korrekt aktualisiert:<pre>/private/var/db/receipts/</pre><pre>/Library/Recipts/InstallHistory.plist</pre> * Löschen des "LaunchServices" Cache im [[:Kategorie:Terminal|Terminal]] mit folgendem Kommando:<pre>/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user</pre> * Debug-Menü anzeigen:<pre>defaults write com.apple.appstore ShowDebugMenu -bool true</pre> e578711ed0e41193556dab3d2c946cabe314eb00 MacOS - Reset Password 0 188 938 937 2019-02-14T11:33:45Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Betriebssystem]]{{Artikelsymbol|Security.png|20px}} {{Wichtig|Bein Zurücksetzen von Passwörtern oder generell beim Durchführen von Wartungsarbeiten mit hilfe der Dienstprogramme auf Installations-/Wiederherstellungs-DVDs ist extem wichtig, dass die Mac OS X Hauptversion (z.B. 10.5) dieser DVDs '''dieselbe''' ist wie diejenige der Installation, die man bearbeiten möchte!}} Falls man dummerweise das Anmeldepasswort einer Mac OS X Installation vergessen haben sollte und sich somit selber ausgesperrt hat, gibt diverse weniger zeit- und nervenaufwändige Möglichkeiten als eine komplette Neuinstallation ==Mac OS X 10.6 und davor== === Verwendung der Installations-/Wiederherstellungs-DVDs === Diese Möglichkeit gibt es im Prinzip bei allen Mac OS X Versionen (zumindest seit 10.3/Panther), die können sich jedoch in Details voneinander unterscheiden (für 10.7 Lion [[#Mac OS X 10.7 (Lion)|siehe unten]]): # Von der DVD booten (siehe [[Startup_Key_Combinations|hier]]), durch Drücken folgender Taste beim Start des Mac:<KB>C</KB> # Die Installationsanwendung solange weiterführen, bis am oberen Bildschirmrand die Menüleiste verfügbar ist # Dort steht im Menü "Installer" der Eintrag "Reset Password ..." zur Verfügung, über den man die Kennwörter einzelner Benutzer neu setzen kann. Da der Schlüsselbund mit dem alten Passwort verschlüsselt ist, was man aus Sicherheitsgründen (ohne das alte Passwort zu kennen) nicht ändern kann, ist selbiges zu löschen, bevor man den alten Account mit den neuen Zugangsdaten nutzen kann. Dazu ist nach dem Neustart der Inhalt des Ordners ~/Library/Keychains innerhalb des Benutzerverzeichnisses (Home) zu löschen. Bei der nächsten Anmeldung wird dann automatisch ein neuer Schlüsselbund angelegt. === Ohne Verwendung von Installations-DVDs === Hier unterscheidet sich die Vorgehensweise von Version zu Version u.U. erheblich, daher wird an dieser Stelle auf folgenden (recht umfassenden) Artikel verwiesen: [http://www.macyourself.com/2009/08/03/how-to-reset-your-mac-os-x-password-without-an-installer-disc/ How to reset your Mac OS X password without an installer disc] (macyourself.com) === Letzte Möglichkeit: einen neuen Admin-Account anlegen === Um ein vergessenes Passwort ohne vorhandene Installations-DVD und ohne Systemlogin neu zu setzen, existiert nur der Umweg über den Single-User-Modus. Über diesen kann man dann anschließend die Passwörter der anderen Benutzer neu vergeben: # Mac OS X im Single-User Modus starten (siehe [[Startup_Key_Combinations|hier]]), dorthin gelangt man durch Drücken folgender Tastenkombination beim Start des Mac:<KB>apfel + S</KB> # dadurch gelangt man anschließend nicht in eine graphische Umgebung sondern bekommt lediglich eine Eingabeaufforderung präsentiert. # dort ist mit Hilfe folgender Kommandos ein neuer Admin-Benutzer anzulegen, dabei ist jede Zeile mit <KB>return</KB> zu bestätigen: <div style="margin-left:40px;"><source lang="bash"> mount -uw / rm /var/db/.AppleSetupDone shutdown -h now </source></div> Mit Hilfe dieses Admin-Benutzers kann man sich dann nach einem Neustart die Passwörter der anderen Benutzer neu vergeben/zurücksetzen. ==Mac OS X 10.7 (Lion)== Im Prinzip funktioniert dies unter Lion genau wie in früheren Versionen mit Hilfe der Installations-DVDs (siehe [[#Verwendung der Installations-/Wiederherstellungs-DVDs#|oben]]), jedoch mit zwei kleinen Unterschieden (anderer Boot-Modus, {{TT|resetpassword}} ist nicht direkt sondern nur über das Terminal zu erreichen): ===Recovery-Modus=== # im Recovery-Modus booten (siehe [[Startup_Key_Combinations|hier]]), dorthin gelangt man durch Drücken folgender Tastenkombination beim Start des Mac:<KB>apfel + R</kb> # Sobald das Installationsprogramm gestartet wurde (Auswahl von Time Machine Backup, Neuinstallation, ...), steht im Menü "Dienstprogramme" ("Utilities") das Terminal zur Verfügung. Dies ist nun zu starten # im Terminal folgendes eingeben und mit <KB>return</KB> bestätigen: <div style="margin-left:40px;"><source>resetpassword</source></div> Dadurch wird das Passwort zurückgesetzt und es wird ein Dienstprogramm geöffnet, mit dem man für einzelne Benutzer ein neues Passwort vergeben kann. Da der Schlüsselbund mit dem alten Passwort verschlüsselt ist, was man aus Sicherheitsgründen (ohne das alte Passwort zu kennen) nicht ändern kann, ist selbiges zu löschen, bevor man den alten Account mit den neuen Zugangsdaten nutzen kann. Dazu ist nach dem Neustart der Inhalt des Ordners ~/Library/Keychains innerhalb des Benutzerverzeichnisses (Home) zu löschen. Bei der nächsten Anmeldung wird dann automatisch ein neuer Schlüsselbund angelegt. ===Verwendung der Apple-ID=== Seit 10.7 existiert außerdem die Möglichkeit, das Passwort '''anhand der Apple-ID''' zurückzusetzen, diese Eigenschaft muss jedoch '''vorher''' bereits in den Benutzereinstellungen aktiviert sein (sie ist es standardmäßig nicht). ==Siehe auch== * [http://www.macyourself.com/2009/08/03/how-to-reset-your-mac-os-x-password-without-an-installer-disc/ How to reset your Mac OS X password without an installer disc] (macyourself.com) bfe9391ae4a938b41ea539ee3a7a48281bc7f2c5 MacOS Login Screen 0 189 944 943 2019-02-14T11:33:45Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Betriebssystem]]{{Artikelsymbol|LoginWindowLogout.png}} ==Verhalten des Login-Fensters beeinflussen== === Eingabefeld "Benutzername" === Für den Anmeldebildschirm von Mac OS X existieren einige "hidden features", die mitunter recht praktisch sind. Über folgende Kommandos lassen sich diverse Aktionen ausführen, das Login-Fenster muss dazu natürlich in den Systemeinstellungen (Panel "Benutzer" > "Anmeldeoptionen") auf "Name und Kennwort" gesetzt sein. {| |-- bgcolor=#e2e2e2 ! width=100px|Kommando || width=200px|Wirkung || getestet mit Mac OS Version |-- | >shutdown || den Mac herunterfahren || [[Bild:MacOS10.4.png|32px]] |-- | >restart || den Mac neustarten || [[Bild:MacOS10.3.png|32px]] [[Bild:MacOS10.4.png|32px]] |-- | >sleep || Ruhezustand || [[Bild:MacOS10.4.png|32px]] |-- | >power || den Mac herunterfahren || [[Bild:MacOS10.3.png|32px]] [[Bild:MacOS10.4.png|32px]] {{Opaque|1=[[Bild:MacOS10.2.png|32px|Unter 10.2 nicht getestet, sollte aber auch funktionieren]]}} |-- | >exit || den WindowServer neu starten || [[Bild:MacOS10.3.png|32px]] [[Bild:MacOS10.4.png|32px]] {{Opaque|1=[[Bild:MacOS10.2.png|32px|Unter 10.2 nicht getestet, sollte aber auch funktionieren]]}} |-- | >console || in den Darwin Text-Mode wechseln ||[[Bild:MacOS10.3.png|32px]] [[Bild:MacOS10.4.png|32px]] {{Opaque|1=[[Bild:MacOS10.2.png|32px|Unter 10.2 nicht getestet, sollte aber auch funktionieren]]}} |} Danke an [[Benutzer:MacForian|Flo]] und Tanja fürs Durchtesten mit Mac OS 10.3! Herunterfahren und Neu starten kann man jedoch nicht im Login-Screen zum Benutzerwechsel sondern nur, wenn aktuell kein weiterer Benutzer angemeldet ist. === Script beim Anmelden ausführen === http://www.macosxhints.com/article.php?story=20050517210406483 === Systeminformationen anzeigen === Keine Ahnung in welchen Systemen das genau funktioniert, aber in 10.4.1 tut es: Bei click auf den Systemnamen unter dem Apfel und über der Userliste, wechselt die Anzeige auf: Hostname -> Version -> Build -> Seriennummer -> Datum -> Hostname Der Sinn dahinter ist wohl, dass der Applesupport direkt helfen kann, auch wenn der Benutzer sagt: "Ich kann mich nicht einloggen!" Das Funktioniert auch im Finder-Info-Fenster "Über diesen Mac" (erster Eintrag im Apfel-Menü) === Spracheinstellungen === Die Sprache im Anmeldebildschirm richtet sich nach der systemweiten Spracheinstellung, die bei der Installation von OS X gesetzt wird. Diese lässt sich mit Admin-Rechten und folgendem Terminal-Kommando jedoch jederzeit ändern und ist sofort wirksam: sudo languagesetup ==Login Tweaks== === Login Style ändern === Wie kann man von der Userliste auf User/Password wechseln per Shortcut? Die angegebene Kombination <KB>shift + opt + return</KB> funktioniert bei mir nicht! Die Umschaltung mittels <KB>shift + opt + return</KB> gibt es erst seit Tiger, unter 10.3 und davor existiert ein extra Button zum Umschalten. Außerdem funktioniert es offensichtlich nicht mit aktivem [http://wincent.com/a/products/winswitch/ WinSwitch]. ===Hintergrundbild ändern=== Das Login-Fenster benutzt als Hintergrundbild immer "Aqua Blue", das als 2560x1600 Pixel (Mac OS 10.4) große Grafikdatei dort zu finden ist: /Library/Desktop Pictures/Aqua Blue.jpg Um das Bild zu ändern, ist einfach diese Datei durch eine andere zu ersetzen. Alternativ lässt sich das auch in der Konfigurationsdatei /Library/Preferences/com.apple.loginwindow.plist ändern, indem ein Schlüssel namens "DesktopPicture" hinzugefügt wird. Das kann auch durch die Eingabe des folgenden Kommandos im Terminal erfolgen (alles in einer Zeile): sudo defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture -string "/Library/Desktop Pictures/Nature/Stones.jpg" Falls die Änderungen nicht sofort sichtbar werden, muss entweder der Mac neu gestartet oder der Prozess des loginwindow gekillt werden. ===Aktuelle Konfiguration des Login Fensters=== Die aktuellen Einstellungen des Login-Fensters befinden sich im Library-Ordner, und zwar z.B. dort: /Library/Preferences/com.apple.loginwindow.plist Dort sind unter anderem auch die folgenden Informationen zu finden: * Name des zuletzt angemeldeten Benutzers * Der aktuelle Status des Benutzers (z.B. "loggedIn") Außerdem lassen sich dort folgende Einstellungen vornehmen: * '''AdminHostInfo''': Info-Anzeige im Login-Fenster beeinflussen (default: Time) * '''HideAdminUsers''': Administratoren in der Benutzerliste verbergen (default: false) * '''HideLocalUsers''': Lokale Benutzer verbergen (default: false) * '''IncludeNetworkUser''': Netzwerkbenutzer anzeigen (default: false) * '''Kiosk''': Kiosk Mode (default: false - habe ich noch nicht getestet, keine Ahnung was das bewirkt) * '''PowerOffDisabled''': Button "Ausschalten" nicht anzeigen (default: no) * '''RetriesUntilHint''': Anzahl der Login Versuche, bis der Hinweistext erscheint (so denn der Benutzer einen in den Benutzereinstellungen angegeben hat; default: 0) * '''SHOWFULLNAME''': den vollständigen Namen anzeigen (default: yes) Wie sich die Werte im Pendant des Benutzerverzeichnisses genau zusammensetzen, konnte ich auf die Schnelle nicht ermitteln. die Datei befindet sich dort: /Users/BENUTZERNAME/Library/Preferences/com.apple.loginwindow.plist und beinhaltet die folgenden Schlüssel: * NSWindow Frame About This Mac * NSWindow Frame ProcessPanel Außerdem existiert noch die folgende Konfigurationsdatei, die offensichtlich für die beim Login automatisch zu startenden Anwendungen (Key AutoLaunchedApplicationDictionary) zuständig ist: /Users/BENUTZERNAME/Library/Preferences/loginwindow.plist Außerdem wird hier wohl auch die Darstellungsform der aktuellen Systemversion (Build Version und System Version) abgelegt ... ==Tools== Es existieren auch fertige Tools, die einige Login-Tweaks in einer graphischen Oberfläche zugänglich machen: * [http://www.bombich.com/software/lwm.html LoginWindow Manager] 2.0 (Freeware) ----- ''Verfasser: [[Benutzer:Aendes|aendes]], [[Benutzer:Hagbard|hagbard]]'' 5168ad0b2e4f8ab22dbc0642218ab62d21b3410e MacOS absichern 0 190 950 949 2019-02-14T11:33:45Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Artikelreihe]] [[Kategorie:Sicherheit]] [[Kategorie:Betriebssystem]] [[Kategorie:Netzwerk]] {{Ausbaufähig}}{{Artikelsymbol|Finder.png}} Auch wenn das Mac OS X einen sehr guten Ruf hinsichtlich Sicherheit genießt, ist es dennoch ratsam, sich einige Gedanken zu diesem Thema zu machen. Schließlich ist bei einer Standardinstallation noch reichlich Optimierungspotential vorhanden, zumal das Betriebssystem dafür bereits recht umfangreiche Möglichkeiten mitbringt. Zudem ist auch zu erwarten, dass bei zunehmender Verbreitung des Mac OS auch das Gefahrenpotential durch Schadsoftware zunehmen und die Sicherheit auch auf dem Mac ein wichtiges und nicht zu unterschätzendes Thema sein wird. Die Artikelreihe "Mac OS X absichern" widmet sich daher diesem Thema, von der Betriebssystemkonfiguration bis hin zu Tipps und Tricks für die tägliche Nutzung. Die thematische Aufteilung der Unterartikel sieht dabei wie folgt aus: ----- {{Contentbox|width=100%|content=[[Bild:Finder.png|128px|right]]<big>'''Teil 1: [[Mac_OS_X_absichern_-_Betriebssystemkonfiguration|Betriebssystemkonfiguration]]'''</big> :&nbsp; :Dieser Teil widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen.}} {{Contentbox|width=100%|content=[[Bild:NetworkDiagnostics.png|128px|right]]<big>'''Teil 2: [[Mac_OS_X_absichern_-_Netzwerkkonfiguration|Netzwerkkonfiguration und Firewall]]'''</big> :&nbsp; :Dieser Teil der Artikelreihe widmet sich unter anderem der Netzwerkkonfiguration. Außerdem wird auf die Konfiguration der Mac OS X Firewall ({{Man|ipfw|ipfw}}, eigentlich ein Paketfilter) ebenso eingegangen wie aif die sichere Einrichtung der verschiedenen Serverdienste wie SSH ("entfernte Anmeldung"), httpd ("Personal Web Sharing") und AFP ("Personal File Sharing").}} {{Contentbox|width=100%|content=[[Bild:KeychainAccess.png|128px|right]]<big>'''Teil 3: [[Mac_OS_X_absichern_-_Security-Anwendungen|Applikationen für die Systemsicherheit]]'''</big> :&nbsp; :In diesem Artikel geht es um die Nutzung und Konfiguration von Anwendungen für die Systemsicherheit. Das umfasst neben der laufenden System- und Anwendungsaktualisierung auch die Nutzung von Dritthersteller-Software. Auch wenn die Viren- und Wurmschwemme (noch) am Mac vorbeizieht, lohnt sich dennoch ein Blick auf die in diesem Bereich bereits verfügbare Software. }} {{Contentbox|width=100%|content=[[Bild:ActivityMonitor.png|128px|right]]<big>'''Teil 4: [[Mac_OS_X_absichern_-_Sichere_Nutzung|Die alltägliche Nutzung]]'''</big> :&nbsp; :Hier sollen dem Anwender Hilfestellungen für die tägliche Arbeit am Mac gegeben werden. Gefahrenpotentiale werden aufgedeckt und bestimmte Verhaltensweisen für die sichere Nutzung beschrieben. Die dafür zu verwendenden Bordwerkzeuge des Betriebssystems werden dabei ebenso beschrieben wie wiederkehrende Aufgaben zur Bereinigung des Systems.}} {{Contentbox|width=100%|content=[[Bild:AirportAdmin.png|128px|right]]<big>'''Teil 5: [[Mac_OS_X_absichern_-_Mobile_Nutzung|Sicher unterwegs - mobile Nutzung]]'''</big> :&nbsp; :In diesem Artikel geht es hauptsächlich um die mobile Nutzung, z.B. mit einem Notebook. Dabei sollen Möglichkeiten für Diebstahlsicherung und den Schutz der persönlichen Daten aufgezeigt werden, wofür auch zu diesem Zweck verfügbare Software vorgestellt wird.}} ----- Links zu Artikeln im Internet und anderen weiterführenden Informationen sind thematisch sortiert am Ende des jeweiligen Artikels im Abschnitt "Weitere Informationen" zu finden. Wünsche, Anregungen, Kritik und Fehlerhinweise sind wie immer willkommen und auf der Diskussionsseite des jeweiligen Artikels zu vermerken. Ich habe diese Artikelreihe begonnen, um einmal einen Gesamtüberblick über alle Möglichkeiten zu schaffen, die das Mac OS so in Sachen Security bietet. Ich werde mich nach und nach den einzelnen Artikel widmen, Themenvorschläge und Anregungen sind bitte so lange auf der [[Diskussion:{{PAGENAME}}|Diskussionsseite dieses Artikels]] zu hinterlegen. Danke! Gruß, [[Benutzer:Hagbard|hagbard]] ----- ''Verfasser: [[Benutzer:Hagbard|Hagbard]]'' __NOTOC__ 02ae333de58c5d58dcc485c8ab5ce6555449f32c MacOS absichern/Betriebssystemkonfiguration 0 76 958 957 2019-02-14T11:33:46Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Sicherheit]] [[Kategorie:Betriebssystem]] [[Kategorie:Artikelreihe]]{{Artikelsymbol|Finder.png}} Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Bild:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Bild:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Kategorie:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [[mu:AutomountMaker|AutomountMaker]], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [[mu:Supinfo Share Manager|Supinfo Share Manager]] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Bild:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Bild:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Bild:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Bild:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Bild:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Bild:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Bild:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen [[Bild:MacOS10.3.png|16px]]{{Product_OSX_Version|10.3}} bis [[Bild:MacOS10.6.png|16px]]{{Product_OSX_Version|10.6}} * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs ----- ''Verfasser: [[Benutzer:Hagbard|Hagbard]]'' eda14aaa476600602d3d58cb9f738ac3ffae80c2 MacOS beschleunigen und ausmisten 0 191 1006 1005 2019-02-14T11:33:46Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Betriebssystem]]{{Artikelvorschlag}} ==Inhalte== '''Warnung:''' Nur durchführen, wenn man genau weiß was man tut! Außerdem sollten solche Änderungen dokumentiert werden, um bei späteren Fehlersituationen die hier durchgeführten Änderungen parat zu haben (zum Fehler einordnen) und sie ggf. rückgängig machen zu können. Alles '''mit Begründung und Erklärung, warum und wann bestimmte Maßnahmen ''wirklich'' etwas bringen'''. Einsortierung: [[:Kategorie:Systemwartung]] ===Performance optimieren=== * kaputte Fonts finden und deaktivieren/deinstallieren * überflüssige und nicht benutzte Schriften deaktivieren (Aktivieren nur bei Benutzung, beschleunigt die Darstellung im Auswahlfenster) * Wichtige Schriften (nicht deaktivieren!): Geneva, Monaco, Lucida Grande, Courier, Helvetica, Times, Symbol, Zapf Dingbats und ggf. zusätzliche Fonts von Drittanbietern (z.B. MS Office) * Caches löschen * Systemoptimierung * prebinding (vor 10.4) * Zugriffsrechte reparieren (Link) * Systemeigene Default-Cronjobs (befinden sich in {{Texttt|/etc/periodic/}}) * Manuelles aufrufen mit {{Texttt|sudo periodic daily weekly monthly}} (als admnin) oder mit [http://www.macupdate.com/info.php/id/5856 MacJanitor] bzw. anderen Tools, vor allem wichtig wenn der Mac nachts immer aus ist und die cronjobs somit ao gut wie nie laufen. * Ab Tiger läuft alles über {{Man|launchd|launchd}} / {{Man|launchctl|launchctl}} und nicht mehr über crond * immer genügend Platz auf den Festplatten (bzw. "Volumes") freihalten (5-10%), damit die HFS+ Selbstoptimierungsfunktionen greifen (aka Defragmentierung etc.) * zusätzlichen Platz für die Auslagerungsdatei frei halten (aka "virtueller Speicher"), kann schon mal 1-2 GB umfassen. * usw. ===Platzverschwendung verhindern=== * Bereits bei der Installation: angepasste Installation (Clean Install) * Fonts und Lokalisierungen/Sprachdateien * Demo-Filme und Medien (z.B. AIFF-Loops von GarageBand) * überflüssige Treiber (z.B. Druckertreiber) * temporäre Dateien nach einer Installation * ... ===Arbeitspeicher=== * '''beliebte Speicherschleudern''' sind vor allem Webbrowser (incl. Safari, Seamonkey/Firefox, Camino), vor allem wenn sie längere Zeit gestartet sind und häufiger benutzt werden. Dann belegen sie gern einmal 200-300 MB physikalischen RAM oder mehr. Diese Programme sollten also immer mal wieder beendet und neu gestartet werden. * '''Dashboard und die aktiven Widgets''' hängen hin und wieder auch einmal, manchmal gehen Widgets auch nicht in den Suspend Mode während Dashboard nicht aktiv ist und benötigen dann u.U. auch viel CPU-Last und Arbeitsspeicher. Empfehlung: das "DisableDashboard" Widget (siehe [[Dashboard]]) zum gelegentlichen Neustart von Dashboard verwenden. * Hin und wieder einmal abmelden, das gibt einiges an Arbeitsspeicher frei. Im Anmeldebildschirm kann dann auch durch die Eingabe von ">exit" im Benutzerfeld der WindowServer neu gestartet werden. Nach einer längeren Laufzeit belegt auch er unter Umständen relativ viel Arbeitsspeicher (siehe [[Spiele mit dem Login Screen]]). * Es können auch eine Reihe [[Deaktivieren ungenutzter Hintergrunddienste|unerwünschter Hintergrunddienste deaktiviert]] werden, allerdings auf eigene Gefahr! Man sollte genau wissen, was man hierbei tut, da durchaus Nebeneffekte auftreten könnten. ===Optimierungen kosmetischer Art=== * .DS_Store Dateien verhindern, lästig vor allem bei der parallelen Nutzung von Volumes unter Linux und/oder Windows * ... ===Häufige Probleme=== * PlugIns und Erweiterungen nach System-/Anwendungsupdates (z.b. Safari, Mail, ...) * ... ===Unnötige Aktionen / Was man besser bleiben lassen sollte=== * Logfiles löschen (siehe oben), diese werden ohnehin rotiert (gepackt und archiviert) und nehmen daher üblicherweise nicht viel Platz weg. Es sei denn man weiß genau, was man tut (z.B. Logfiles von Anwendungen, die gar nicht mehr installiert sind) * Receipts in {{Texttt|/Library/Receipts}} löschen (sollte man tunlichst unterlassen, da diese Dateien von Mac OS X unter anderem für die Zugriffsrechtereparatur verwendet werden. * ... ===verwendbare Tools=== * Kommandozeilentools wie {{Man|ps|ps}}, {{Man|top|top}}, {{Man|kill|kill}} (bordwerkzeug) * [[apfelwiki:Aktivitäts-Anzeige|Aktivitäts-Anzeige]] (bordwerkzeug / [[apfelwiki:Dienstprogramme|Dienstprogramme]]) * [[MU:OnyX|OnyX]] (free) * [http://www.macupdate.com/info.php/id/5856 MacJanitor] (free) * [[sourceforge:Monolingual|Monolingual]] (oss) * [http://www.macupdate.com/info.php/id/14393 Disk Inventory] * Applikations-Helferlein, z.B. für Safari (SafariEnhancer, SafariSpeed, SafariFixer, ...) * siehe auch Artikel [[Systemwartungstools]] 44dfa6e009347d7b401f6796e6a8f9f39368c99b Mail Bundles nach Systemupdate reaktivieren 0 192 1013 1012 2019-02-14T11:33:46Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Kurztipp]][[Kategorie:Internet]][[Kategorie:Betriebssystem]][[Kategorie:Programm]]{{Artikelsymbol|Mail.png}} Nach Systemupdates mit neuen Apple Mail Programmversionen werden Mail-Bundles (oft auch Plugins genannt) in der Regel deaktiviert, obwohl funktionell vielleicht gar keine Anpassungen seitens der Bundles notwendig wären. Dies geschieht anhand von Kompatibilitäts-IDs, die sich mit jedem Mail-Update ändern und daher von den Mail-Bundles entsprechend berücksichtigt werden müssen. Um also ein solches Plugin nach einem Systemupdate wieder lauffähig zu bekommen, genügt es in der Regel, diese UUID in der {{TT|Info.plist}}-Konfigurationsdatei des Bundles einzutragen. ===Die für die aktuelle Mail.app nowendige UUID finden:=== # Mail.app beenden # im "Programme" Ordner nach "Mail.app" suchen und dessen Inhalte anzeigen (Finder Rechtsklick -> "Paketinhalt zeigen)" # dort ins Verzeichnis {{TT|Contents}} wechseln und die Datei {{TT|Info.plist}} in einem Texteditor (oder besser: Xcode) öffnen # Diese Datei enthält einen Eintrag namens {{TT|PluginCompatibilityUUID}}, dessen Wert zu kopieren ist Alternativ kann dazu auch folgende Anweisung im {{Terminal}} verwendet werden: defaults read /Applications/Mail.app/Contents/Info PluginCompatibilityUUID ===In das jeweile Bundle eintragen:=== # Ins Verzeichnis {{TT|~/Library/Mail/Bundles (deaktiviert)/}} innerhalb des Benutzerverzeichnisses wechseln # im jeweils zu bearbeitenden Bundle-Verzeichnis die entsprechende {{TT|Info.plist}} finden und öffnen (z.B. {{TT|Herald.mailbundle/Contents/}}) # dort sollte ein Eintrag namens {{TT|SupportedPluginCompatibilityUUIDs}} vom Typ "Array" existieren # über den Pfeil links die Einträge anzeigen, den letzten Auswählen und durch Drücken von "Return" einen neuen Eintrag erzeugen # dort die aus Mail.app weiter oben kopierte UUID eintragen und die Datei speichern Anschließend ist das Bundle (hier: Herald.mailbundle) wieder (aus dem Ordner für deaktivierte Bundles heraus) in das Verzeichnis {{TT|Bundles}} zu verschieben und Mail neu zu starten. Nun sollte das Bundle auch mit der neuen Mail-Version funktionieren. ===Fertiges Skript=== Für das Ganze gibt es auch ein [https://gist.github.com/netj/930384 fertiges Skript], allerdings ohne Gewähr (vom Verfasser dieser Zeilen nicht getestet) ==Übersicht== {| style="border-spacing:0px; border-collapse:collapse; padding:0px;" |-- style="background-color:#c2c2c2;" ! width=120 | OS X Version || width=120 | Mail.app Version || width=300 | UUID |-- style="background-color:#efefef;" ! colspan="3" | OS X Mavericks Developer Previews |-- | 10.9.0 (13a476u) || 7.0 (1764) || 5C1C2B58-ADCC-4202-8BE9-3185EA50FE57 |-- | 10.9.0 (13a497d) || 7.0 (1780.1) || B9F62389-216B-4459-9F0C-2E379DB461C6 |-- | 10.9.0 (13a510d) || 7.0 (1784.1) || FAFAC824-B040-4302-938C-D3EBF2ED2DD6 |-- | 10.9.0 (13a524d) || 7.0 (1786.1) || BAF70BEF-2B7A-43CF-8C78-E5AE56543A4F |-- | 10.9.0 (13a538g) || 7.0 (1793.4) || 8683C61F-0A65-4118-A1A2-D000E7331AF2 |-- | 10.9.0 (13a558) || 7.0 (1800) || 4C90A872-9452-46B9-8229-A7B8A8E90C46 |-- | 10.9.0 (13a569) || 7.0 (1805) || CCF9E57F-98D8-4C64-82D1-5863A8F1C29C |-- | 10.9.0 (13a584) || 7.0 (1811) || 72F55B63-35E4-4323-8CA7-104774A0DE95 |-- | 10.9.0 (13A596) || 7.0 (1812) || 04D6EC0A-52FF-4BBE-9896-C0B5FB851BBA |-- | 10.9.0 (13A603) || 7.0 (1816) || 0941BB9F-231F-452D-A26F-47A43863C991 |-- style="background-color:#efefef;" ! colspan="3" | OS X Mavericks |-- | 10.9.0 || 7.0 (1822) || FBE5B158-5602-4A6D-9CC5-8461B9B7054E |-- | 10.9.1 || 7.1 (1827) || 1CD40D64-945D-4D50-B12D-9CD865533506 |-- | 10.9.2 || 7.2 (1874) || 88ED2D4C-D384-4BF5-8E94-B533455E6AAF |-- | 10.9.3 || 7.3 (1878.2) || F4C26776-22B3-4A0A-96E1-EA8E4482E0B5 |-- | 10.9.3 || 7.3 (1878.6) || D1EFE124-86FF-4751-BF00-80B2C0D6F2E4 |-- style="background-color:#efefef;" ! colspan="3" | OS X Yosemite |-- | 10.10.0 || -?- || 60D52D22-7491-4CA7-95BA-88215BD88F8E |-- | 10.10.1 || 8.0 (1988) ||7C051997-F45A-4523-B053-2D262F94C775 |-- | 10.10.2 || 8.1 (1988) || 800E5C92-87D3-429B-8740-5C6183CD13EA |-- | 10.10.3 || 8.2 (2098) || 60D52D22-7491-4CA7-95BA-88215BD88F8E |} <!-- https://github.com/AndreasVerhoeven/NoMailAppAnimationsOnMavericks/blob/master/Output/AveNoAnimationsInMailPlugin.mailbundle/Contents/Info.plist --> 323aaa26db5d40f8da5d352af8111d9c39c70b00 Mdcheckschema 0 193 1018 1017 2019-02-14T11:33:46Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Terminal]]{{Artikelsymbol|Tool.png}} {{Artikelvorschlag}} {{Legende|{{OSX|10.4}}}} ==mdcheckschema== <font face="courier">mdcheckschema</font> ist ein Validierungstool für Importschemata. Weitere Informationen gibt es in [http://developer.apple.com/documentation/Carbon/Conceptual/MDImporters/index.html diesem Artikel] der Apple Developer Reference. ===Offene Fragen für diesen Artikel=== * Was ist ein Importschema? * Wie sieht ein solches Schema aus? ==Weitere Informationen== * {{Man|mdcheckschema|manpage mdcheckschema}} 124a60ce95ccb4d7b0b941a35405b862e4bc8a8d Mdfind 0 194 1022 1021 2019-02-14T11:33:46Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Terminal]]{{Artikelsymbol|Tool.png}}{{Legende|{{OSX|10.4}}}} ==mdfind== <font style="font-face:courier">mdfind</font> stellt ein Kommandozeileninterface für die Spotlightsuche zur Verfügung, um in den Metadaten nach Dokumenten zu suchen. ===Grundlegende Benutzung=== mdfind <optionen> <verzeichnis> <suchtext> also beispielsweise mdfind "Geburtstag Oma" ==Optionen== ===nicht-determinierende Suche=== Mit der Option -live wird der Suchvorgang nicht abgebrochen und die Ergebnisliste wird laufend aktualisiert (wenn z.B. neue Mails empfangen und indiziert werden). Abgebrochen werden kann dies durch Drücken von <KB>ctrl + c</KB> Beispiel: mdfind -live "Geburtstag Oma" ===Suche auf einen Ordner eingrenzen=== Mit der Option -onlyin <verzeichnis> wird die Suche auf ein Verzeichnis inclusive der darin enthaltenen Unterverzeichnisse eingeschränkt, beispielswiese: mdfind -onlyin ~/Bilder/ "Geburtstag Oma" ==Weitere Informationen== * {{Man|mdfind|manpage mdfind}} * Artikel des O'Reilly macdevcenter: [http://www.macdevcenter.com/pub/a/mac/2006/01/04/mdfind.html "The Power of mdfind"] (Andy Lester) 155b8f41dc71488b36fda7e979c175b3a67466f4 Mtmd deaktivieren 0 195 1026 1025 2019-02-14T11:33:46Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Betriebssystem]][[Kategorie:Mac OS 10.7 Feature]][[Kategorie:Kurztipp]][[Kategorie:Terminal]]{{Artikelsymbol|TimeMachine.png}}{{Legende|1={{OSX|10.5}}[[Bild:Terminal.png|32px]]}} Bei {{Man|mtmd|mtmd}} handelt es sich um einen Time Machine Hintergrunddienst, der im mobilen Betrieb dafür zuständig ist, bestimmte Funktionen von Time Machine zur Verfügung zu stellen. Dieser Dienst ist demzufolge auch nur auf mobilen Geräten (vulgo Notebooks) aktiv. Wenn nun jedoch kein Time Machine Volume zur Verfügung steht, kann dieser Prozess durchaus die CPU-Last signifikant in die Höhe treiben und daher unter Umständen sehr störend sein. Um das abzustellen gibt es prinzipiell 2 Möglichkeiten: # Time Machine komplett deaktivieren (in den Systemeinstellungen) # Nur diesen mobilen Dienst deaktivieren Um zweiteres zu tun, ist folgende Anweisung im {{Terminal}} einzugeben: sudo tmutil disablelocal Um den Dienst wieder zu reaktivieren, ist folgendes einzugeben: sudo tmutil enablelocal a4ff68fd68e0e4bcb96be146ebaf957573ccf4e2 Open Source Anwendungen/Programmierung und Softwareentwicklung 0 301 1590 2019-02-14T11:33:48Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[Open Source Anwendungen/Programmierung und Entwicklung]] c1162127f5a4cc955d91ad368fc644f9dc727f70 PHP Security 0 163 780 779 2019-02-14T11:33:49Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Kategorie:Sicherheit]] [[Kategorie:Netzwerkdienst]]{{Ausbaufähig}} In diesem Artikel sollen Möglichkeiten vorgestellt Werden, PHP gegen Angriffe abzusichern. Dabei sollen neben einigen Konfigurationstipps auch auf Erweiterungen wie mod-Security, FASTCGI oder suexec vorgestellt und beschrieben werden. ==Konfigurationsdateien== PHP-Direktiven lassen sich prinzipiell auf 2 verschiedenen Wegen einstellen: * in der Konfigurationsdatei {{Texttt|php.ini}} * in einer {{Texttt|.htaccess}} Datei mit Hilfe der PHP Apache-Direktiven ===php.ini=== Es existieren üblicherweise verschiedene Exemplare der Datei {{Texttt|php.ini}} für verschiedene Einsatzzwecke, hier am Beispiel eines Debian-Systems: {|style="margin-top:10px; margin-bottom:10px; margin-left:10px;" |-- |bgcolor="#e2e2e2"|Ort||bgcolor="#e2e2e2"|Zweck |-- |{{Texttt|/etc/php.ini }} ||Globale Konfiguration |-- |{{Texttt|/etc/php4/apache/php.ini }} ||Konfiguration für das Apache-PHP-Modul |-- |{{Texttt|/etc/php4/cgi/php.ini }} ||Konfiguration für den CGI-Betrieb im Apache |-- |{{Texttt|/etc/php4/cli/php.ini }} ||Konfiguration für die Nutzung in Shell-Skripten |} Unter Mac OS X existiert in der Standardinstallation lediglich die folgende Datei: /private/etc/php.ini ===.htaccess=== Einige (nicht alle!) Konfigurationsdirektiven lassen sich auch innerhalb der sog. ".htaccess" Dateien verwenden. Das ermöglicht beispielsweise unterschiedliche Einstellungen für einzelne VirtualHosts oder Verzeichnisse - so sind Produktivinstallationen anders (wesentlich restriktiver) zu konfigurieren als Entwicklungssysteme. Weitere Informationen zur Verwendung von .htaccess Dateien sind in den [[#Weitere_Informationen|am Ende des Artikels verlinkten Seiten]] nachzulesen. ===Wichtige Einstellungen=== {|style="margin-top:10px; margin-bottom:10px; margin-left:10px;" |-- |bgcolor="#e2e2e2" width="220px" |Direktive||bgcolor="#e2e2e2" width="120px" |Wert||bgcolor="#e2e2e2"|Beschreibung |-- |{{Texttt|php_flag register_globals}}||off||EGPCS Variablen sind nicht mehr global zugänglich bzw. als globale Variablen registriert (EGPCS = Environment/Umgebung, GET, POST, Cookie, Server) |-- |{{Texttt|php_flag display_errors}}||off||Fehlermeldungen nicht im Client (Browser) darstellen |-- |{{Texttt|php_flag log_errors}}||on||Fehlermeldungen in ein Logfile schreiben |-- |{{Texttt|php_flag error_log}} ||$PFADANGABE||Pfadangabe für das Logfile, z.B. {{Texttt|/home/web/logs/php4.log}} |-- | || syslog || Fehlermeldungen werden durch syslogd protokolliert |} ==PHP safe mode== Der sog. "safe mode" von PHP dient in erster Linie dazu, Sicherheitsprobleme durch Dateizugriffe bei gemeinsam genutzten Server (sog. "shared server", wie sie beispielsweise bei handelsüblichen Web-Hosting Angeboten zum Einsatz kommen) zu verhindern. Sprich: Kunde A soll nicht auf die Dateien und Verzeichnisse des Kunden B zugreifen können. Anschließend überprüft der PHP-Parser, ob der Eigentümer der Datei identisch mit dem Benutzer ist, der das Skript aufruft. Außerdem ist im safe mode der Zugriff auf [http://de.php.net/manual/de/reserved.variables.php Umgebungsvariablen] nur lesend möglich. Dieser Ansatz hat jedoch den großen Nachteil erhebliche Nebenwirkungen auf verschiedenste PHP-Funktionen zu besitzen. Eine Übersicht der dadurch eingeschränkten Funktionen ist [http://de.php.net/manual/de/features.safe-mode.php#features.safe-mode.functions im PHP Handbuch] nachzulesen. ===safe mode aktivieren=== Aktiviert und konfiguriert wird der PHP safe mode in der Konfigurationsdatei {{Texttt|php.ini}} durch die folgenden Direktiven: {| |-- |bgcolor="#e2e2e2" width="250px"|Direktive||bgcolor="#e2e2e2"|Beschreibung |-- |safe_mode = on || safe mode anhand eines Benutzers |-- |safe_mode_gid = 0||safe mode anhand der Gruppenzugehörigkeit (anstatt safe-mode zu verwenden, unter Angabe der Group-ID) |-- |safe_mode_include_dir = || Freigabe von Verzeichnissen für die PHP-Funktionen include() und require(). Mehrere Verzeichnisse werden durch Kommata getrennt, die Freigabe gilt dabei für die angegebenen Verzeichnisse inklusive allen darin enthaltenen Unterverzeichnissen. |-- |safe_mode_exec_dir = || Freigabe von Verzeichnissen für Systemaufrufe durch Funktionen wie system() oder exec() (Handhabung siehe safe_mode_include_dir) |-- |safe_mode_allowed_env_vars = PHP_ ||Freigabe von Umgebungsvariablen für schreibenden Zugriff. Ist der Wert leer, werden ALLE Umgebungsvariablen freigegeben! Mehrere Variablen/Präfixe werden durch Kommata voneinander getrennt. |-- |safe_mode_protected_env_vars = LD_LIBRARY_PATH ||Enthält eine Liste aller Umgeungsvariablen, die <u>nicht</u> mit der Funktion putenv() veränderbar sein sollen. '''Hinweis:''' die Angabe safe_mode_allowed_env_vars hebt diesen Schutz wieder auf! |-- |} ===safe mode abfragen=== Mit den folgenden Zeilen PHP-Code kann abgefragt werden, ob der safe mode aktiviert ist: <?php if ( ini_get('safe_mode') ) { // safe mode aktiviert } else { // safe mode nicht aktiviert } ===Dateizugriffe mit {{Texttt|open_basedir}} einschränken=== Eine weitere Möglichkeit alternativ zum safe mode, Dateizugriffe einzuschränken, ist der Einsatz der PHP Direktive open_basedir Im Rahmen der Apache-Konfiguration. Dadurch ist es möglich, für jeden Benutzer des Servers Dateizugriffsopertationen auf ein bestimmtes Verzeichnis (üblicherweise dessen Document Root) einzuschränken, z.B.: <Directory /home/web/user0815/> php_admin_value open_basedir /home/web/user0815/ </Directory> Durch folgenden Eintrag: disable_functions readfile,system in der Datei {{Texttt|php.ini}} kann zusätzlich der Zugriff durch die PHP Funktionen readfile() und system() verhindert werden (siehe folgender Abschnitt). ===Direktiven unabhängig von {{Texttt|safe_mode}}=== {| |-- |bgcolor="#e2e2e2" width="200px"|Direktive||bgcolor="#e2e2e2"|Beschreibung |-- |open_basedir = || Freigabe eines Verzeichnisses für Dateioperationen, wirksam für das Verzeichnis mit allen Unterverzeichnissen, unabhängig von der safe_mode Konfiguration. Bei Angabe eines Punktes "." wird der Speicherort des gerade ausgeführten Skriptes als basedir verwendet (sicherheitstechnisch bedenklich, da durch chdir() veränderbar). Kann durch die Angabe von {{Texttt|php_admin_value open_basedir none}} in der {{Texttt|httpd.conf}} deaktiviert werden. |-- |disable_functions = || Eine Liste von Funktionen, die (aus Sicherheitsgründen) nicht ausgeführt werden dürfen. Kann auch in der Datei {{Texttt|php.ini}} konfiguriert werden, nicht jedoch in der Datei {{Texttt|httpd.conf}} |-- |disable_classes = || Angabe einer Liste von Klassen, die (aus Sicherheitsgründen) nicht verwendet werden dürfen. Kann auch in der Datei {{Texttt|php.ini}} konfiguriert werden, nicht jedoch in der Datei {{Texttt|httpd.conf}} |} ==suexec, FastCGI und suPHP== ''... kommt noch ...'' Web-Links: * [http://www.suphp.org/ suPHP Projekt] (Ausführen von PHP Skripten mit den Rechten des Dateibesitzers) * [http://httpd.apache.org/docs/1.3/suexec.html suexec] (apache.org) * FastCGI: [http://www.fastcgi.com/ Projektseite], [[wikipedia:de:FastCGI|Wikipedia-Artikel]] ==Apache-Hardening mit mod_security== mod-Security ist eine [[wikipedia:de:Web_Application_Firewall|Applikationsfirewall]] in Form eines Apache-Moduls. Dabei kann anhand von Regeln - in denen auch [[wikipedia:de:Regulärer Ausdruck|reguläre Ausdrücke]] zum Einsatz kommen können - definiert werden, welche GET- und POST-Aufrufe<ref name="HTTPrequest">GET und POST sind verschiedene Methoden für [[wikipedia:de:Hypertext_Transfer_Protocol|HTTP]]-Anragen an einen Server</ref> "böse" sind und daher blockiert werden sollen. Diese Regeln werden dann direkt in die Apache-Konfiguration integriert und sehen beispielsweise so aus: <nowiki>SecFilter "drop[[:space:]]table"</nowiki> Obiger Eintrag blockiert also den String "drop table" und soll damit das Löschen einer Tabelle via [[wikipedia:de:SQL|SQL-Query]] verhindern. Mit diese Modul können also recht einfach verschiedene Ziele verfolgt werden: * Verminderung der Gefahr von SQL-Injection (Einfügen von Datenbankabfragen durch mangelhafte Überprüfung eingegebener Daten, z.B. in Formularen oder über die URL) * Abfangen von Systemaufrufen über fehlerhafte Skripte * Protokollierung sicherheitsrelevanter Vorfälle * Absichern des WebServers durch die "chroot"-Funktion von mod_security (Kapseln der Laufzeitumgebung des Webservers, um bei Angriffen Übergriffe auf die Systemumgebung zu verhindern) Außerdem bietet mod_security noch einige nette "Security-by-Obscurity" Funktionen wie beispielsweise das Ändern der Serversignatur: SecServerSignature "Microsoft-IIS/5.0" Der Einsatz von mod_security empfiehlt sich vor allem in den folgenden Fällen: * Software, die nur ungenügend getestet wurde * Software, die bekanntermaßen recht häufig Sicherheitslücken aufweist * Eigenentwicklungen (Jeder macht Fehler) mod_security bietet also einige wertvolle Funktionen zur Absicherung eines Webservers und der darin laufenden Applikationen, ohne gleich auf schwergewichtigere Lösungen wie [[wikipedia:de:Intrusion_Detection_System|IDS]] (Intrusion Detection System, z.B. [[wikipedia:de:Snort|Snort]]), [[wikipedia:de:Proxy|Proxies]] oder [[wikipedia:de:Application_Layer_Gateway|ALG]] (Application Level Gateway) setzen zu müssen. Weitere Informationen zu mod_security finden sich [[#mod_security|am Ende dieses Artikels]]. ==Verschiedene Tipps== ===PHP Skripte vor direkter Ausführung sichern=== Eine einfache Möglichkeit, das Ausführen von PHP-Skripten - und auch allgemein auch das Auslesen von durch PHP-Skripte eingebundene Dateien - durch direkte Adressierung im Browser zu verhindern, ist das Erstellen einer .htaccess-Datei mit dem folgenden Inhalt: order allow,deny deny from all Dadurch wird der direkte Zugriff auf die Dateien verhindert, Skripte können diese Dateien jedoch weiterhin problemlos einbinden und verwenden. ==Weitere Informationen== ===PHP Ressourcen=== * Artikel [[Webentwicklungs-Ressourcen]] hier im Wiki * [http://de.php.net/manual/de/ PHP Handbuch] (offizielles Handbuch) * Apple Developer Connection: [[ADC:internet/opensource/php.html|PHP on Mac OS X]] * O'Reilly [http://www.onlamp.com/php/ ONLamp.com/php]: PHP devcenter * [http://www.hardened-php.net/ Hardened-PHP Project] * [http://www.phpsec.org/ PHP Security Consortium] ===PHP Konfiguration=== * PHP Handbuch: [http://de.php.net/manual/de/security.php Teil IV. Sicherheit] * php.net: [http://de2.php.net/manual/de/print/configuration.php#configuration.file Informationen zur Konfiguration] * php.net: [http://de2.php.net/manual/de/print/ini.php Übersicht aller php.ini Direktiven] und [http://de2.php.net/manual/de/print/ini.core.php deren Beschreibung] * Securityfocus: [http://www.securityfocus.com/infocus/1706 Securing PHP Step-by-Step] * [http://phpsec.org/projects/phpsecinfo/ PHPSecInfo] - gibt analog zu {{Texttt|phpinfo()}} sicherheitsrelevante Informationen zur aktuellen PHP-Konfiguration aus. ===PHP safe mode=== * PHP Handbuch: [http://de.php.net/manual/de/features.safe-mode.php Kapitel 42. Safe Mode] * domainepublic.net: [http://doc.domainepublic.net/php/doc.php.court/ini.sect.safe-mode.html Konfigurationsübersicht] (Sécurité et Safe Mode) ===Apache Web Server=== * [http://httpd.apache.org Projektseite] des Apache Server Project * [http://de.selfhtml.org/servercgi/server/apache.htm Kleine Apache-Einführung] bei SelfHTML.org * Securityfocus: [http://www.securityfocus.com/infocus/1694 Securing Apache Step-by-Step] * Securityfocus: [http://www.securityfocus.com/infocus/1786 Securing Apache 2 Step-by-Step] ===.htaccess=== * [http://de.selfhtml.org/servercgi/server/htaccess.htm SelfHTML Artikel] zu .htaccess Dateien * [[wikipedia:de:Htaccess|Wikipedia-Artikel]] zum Thema * Beschreibung in der Apache Dokumentation, für [http://httpd.apache.org/docs/1.3/howto/htaccess.html Apache 1.3] und [http://httpd.apache.org/docs/2.0/howto/htaccess.html Apache 2] * Ken Coar: [http://apache-server.com/tutorials/ATusing-htaccess.html Using .htaccess Files with Apache] ===mod_security=== * [http://www.modsecurity.org/ Projektseite] * modsecurity.org: [http://www.modsecurity.org/documentation/quick-examples.html Quick examples] * Securityfocus: [http://www.securityfocus.com/infocus/1739 Web Security Appliance With Apache and mod_security] * O'Reilly [http://www.onlamp.com/ ONLamp.com]: ** [http://www.onlamp.com/pub/a/apache/2003/11/26/mod_security.html Introducing mod_security] ** [http://www.onlamp.com/pub/a/onlamp/2005/06/09/wss_security.html Securing Web Services with mod_security] * Fedora News: [http://fedoranews.org/jorge/mod_security/ HOWTO: Enhancing Apache with mod_security] ===PHPIDS=== * [http://php-ids.org/ Projektseite] * PHPIDS [http://groups.google.de/group/php-ids/ Google Group] * [http://www.heise.de/security/Erste-Schritte-mit-der-Einbruchserkennung-PHPIDS--/artikel/136032 Artikel auf heise security] vom 24.04.2009] * [http://www.net-developers.de/2009/05/23/phpids-intrusion-detection-system/ Weiterer Artikel auf net-developers.de] ===Weitere Themen=== * Securityfocus: [http://www.securityfocus.com/infocus/1726 Securing MySQL Step-by-Step] ===Bücher=== * '''PHP-Sicherheit. PHP/MySQL-Webanwendungen sicher programmieren'''<br />von Christopher Kunz, Peter Prochaska (Dpunkt Verlag), ISBN 3898643697<br />Buchtipp des [http://www.phpmagazin.de/itr/buchtipps/psecom,id,503,nodeid,63.html PHP-Magazins] ----- <references/> ----- ''Verfasser: [[Benutzer:Hagbard|hagbard]]'' d3b71e35654089f9c275b67eecd530bd506085fb PPC-Linux von DVD-Brenner installieren 0 180 864 863 2019-02-14T11:33:49Z Hagbard 2 1 revision imported wikitext text/x-wiki {{Legende|{{Linux}}}} '''Betr.:''' Linux-Installation auf "New World Macs" (G3/G4/G5 PPC-Macs mit OpenFirmware) mit einem nachträglich eingebauten DVD-Brenner, der von Mac OS X nicht direkt unterstützt wird Eigentlich nichts besonderes, sollte man meinen ... nach einem Tag Bastelei allerdings war mir klar, dass man mit nachträglich eingebauten DVD-Brennern (und nach diversen Forenbeiträgen auch mit dem Apple Superdrive) mit sog. "[[wikipedia:de:Apple_Power_Macintosh#Power_Macintosh_mit_PCI-Steckpl.C3.A4tzen_.28.22New_World.22.29|New World Macs]]" aus der Open Firmware heraus (oder via OpenFirmware Boot Menü<ref name="OpenFirmware">Das Open Firmware Bootmenü erreicht man durch Drücken und Gedrückthalten der ALT Taste während des Starttons, direkt von CD/DVD booten kann man durch Gedrückthalten der Taste "C"</ref>) Linux nicht direkt von der CD aus starten kann<ref name="yaboot">zum Starten von Linux auf New World Macs wird der Linux Bootloader "[http://penguinppc.org/bootloaders/yaboot/doc/yaboot-howto.shtml/index.de.shtml yaboot]" benötigt</ref>. Also kann man wie folgt vorgehen, wobei im folgenden Beispiel [http://www.yellowdoglinux.com Yellow Dog Linux] 4.1 auf eine externe Firewire Festplatte installiert werden soll. Für die parallele Installation mit Mac OS X auf einer Platte sind noch weitere Dinge zu berücksichtigen, Links dazu sind ganz unten im Artikel zu finden. Für andere Distributionen sind dabei einige Angaben entsprechend anzupassen, prinzipiell ist die Vorgehensweise hier folgende: * kopieren des Linux Bootloaders auf Festplatte * Booten des Linux-Installationssystems von der Festplatte * Anschließende Installation von der CD Hinweise für die Installation von [http://fedora.redhat.com Fedora Core 5] sind jeweils entsprechend gekennzeichnet. === 1. Partitionierung === Die Festplatte muss zunächst unter Mac OS X partitioniert werden, dazu dient das Disk Utility (Festplatten Dienstprogramm). Dazu ist mindestens eine Partition als "freier Speicherbereich" (Format: "free space") anzulegen, und zwar als erste Partition. === 2. Bootloader kopieren === Dazu sind (für YDL) die Verzeichnisse "boot" und "images" von der Installations-CD auf die Festplatte kopieren, und zwar ins Wurzelverzeichnis einer Partition auf der 1. Festplatte des Systems. Bei Verwendung des MacOS Systemvolumes muss man dazu Root-Rechte besitzen<ref name="root aktivieren">Die Aktivierung des root Benutzers erfolgt durch Eingabe von {{Texttt|passwd root}} im Terminal oder alternativ im Netinfo Manager, Menü "Sicherheit"</ref>. Bei Fedora (hier: FC5) sieht das etwas anders aus, da hier die Dateien auf verschiedene Verzeichnisse verteilt sind. Ein einfaches Kopieren hat bei mir nicht funktioniert, es hat dann aber so geklappt: * Ein Verzeichnis auf der HDD erstellen, z.B. {{Texttt|boot}} * Die folgenden Dateien in dieses Verzeichnis {{Texttt|boot}} kopieren: ** {{Texttt|ppc\mac\ofboot.b}} ** {{Texttt|ppc\mac\yaboot}} ** {{Texttt|ppc\ppc32\ramdisk.image.gz}} ** {{Texttt|ppc\ppc32\vmlinuz}} ** {{Texttt|ppc\ppc32\yaboot.conf}} * bei einem G5 müssen dabei die Dateien aus dem Verzeichnis {{Texttt|ppc\ppc64}} verwendet werden (64Bit Code) === 3. yaboot.conf editieren === Im Verzeichnis {{Texttt|boot}} muss die Konfigurationsdatei des Booloaders {{Texttt|yaboot.conf}} angepasst werden, und zwar sind alle Einträge "cd:" durch "hd:" zu ersetzen. Bei Fedora sind dabei die Geräteangaben relativ, also z.B. {{Texttt|\boot\vmlinuz}} und müssen also nicht weiter angepasst werden. Die Pfadangaben sind jedoch anzupassen und auf das Verzeichnis zu setzen, in das man den Bootloader kopiert hat (also z.B. auf {{Texttt|\boot\...}}) === 4. Booten === Anschließend den Rechner in die Open Firmware booten. Dazu muss <KB>Apfel-Alt-O-F</KB> während des Startsounds solange gedrückt gehalten werden, bis die OpenFirmware (schwarzer Text auf weißem Hintergrund) mit dem Hinweis "Release keys to continue!" erscheint. Zum Booten folgendes eingeben (Achtung, englische Tastaturbelegung(("\" erreicht man mit einer deutschen Tastatur über die Raute-Taste (#), den Doppelpunkt über shift-ö, z und y sind vertauscht))): boot hd:X,\boot\yaboot X (z.B.: 11 oder 9) ist die Partition, auf die yaboot von der Installations-CD kopiert wurde. Bei einer MacOS-Standardinstallation braucht man eigentlich erst ab 9 durchzuprobieren, die übrigen werden normalerweise durch MacOS belegt. {{Texttt|\boot\yaboot}} ist bei anderen Distributionen entsprechend anzupassen, in diesem Verzeichnis liegen die Dateien des Bootloaders und das Linux Boot-Image, die man vorhin auf die Festplatte kopiert hat. Anschließend sollte das Auswahlmenü des Bootloaders {{Texttt|yaboot}} erscheinen, im Fall von YDL mit den folgenden Auswahlmöglichkeiten: {| |-- |'''install'''||graphischer Installer |-- |'''install text'''||textbasierter Installer |-- |'''install firewire'''||graphische Installer für ext. Firewire-Festplatte |-- |'''mediacheck'''||... hinzufügen für einen Test der Installationsmedien |} unter Fedora ist dazu einfach "{{Texttt|linux}}" einzugeben. Anschließend sollte sich Linux einwandfrei von CD/DVD aus installieren lassen, da ab jetzt die Zugriffe auf das Laufwerk über Linux laufen und nicht mehr über die Open Firmware. Die beim Starten vom YDL-yaboot erscheinende Warnung, die Bootstrap-Partition habe den falschen Typ, kann man in diesem Fall getrost ignorieren, da Linux ja nicht auf die Festplatte installiert werden soll, auf die man den Bootloader kopiert hat. Bei einer Installation auf dieselbe Platte jedoch muss diese (ca. 1MB große) Bootstrap-Partition (diese ist notwendig, um von einer Platte überhaupt booten zu können) existieren und vor allen anderen liegen. Bei einer parallelen Installation von Linux und MacOS X muss dabei die Linux-Partition mitsamt dem Bootloader ebenfalls vor der MacOS X Partition liegen, damit man anschließend über den {{Texttt|yaboot}} Bootloader zwischen den beiden Betriebssystemen wählen kann. Dazu mehr in den Links unten im Artikel. === Weitere Informationen === ===Yellow Dog Linux=== * [http://www.terrasoftsolutions.com/support/solutions/ydl_general/ Yellow Dog Linux How Tos] * [http://www.yellowdog-board.com/ Forum zu Yellow Dog Linux] ===Debian GNU/Linux=== * [http://www.debian.org/ports/powerpc/ Informationen zu Debian auf PowerPCs] * [http://www.pl-berichte.de/t_system/ibook-debian/ pro-linux.de: Installation von Debian auf einem iBook] ===Fedora (Core 5)=== * [http://fedora.redhat.com/docs/release-notes/fc5/ Fedora Core 5 Release Notes] * [http://stanton-finley.net/fedora_core_5_installation_notes.html Installation Notes] (recht vollständig) * [http://www.mjmwired.net/resources/mjm-fedora-fc5.html FC5 Installation Guide] (incl. non-GPL Treiber wie die von Nvidia) ===Distributionsunabhängig=== * [http://www.linux.com/article.pl?sid=06/03/17/0350228 Gnome 2.14 Review] * [http://www.freesoftwaremagazine.com/newsletters/accelerated_x/ Artikel über beschleunigte X-Server] (wie XGL oder AIGLX) und noch [http://fedoraproject.org/wiki/RenderingProject einer über XGL] ----- <references/> ----- ''Verfasser: [[Benutzer:Hagbard|hagbard]]'' c775963cea0ab4797f865368a7fc1770022823c4 Screenshots mit dem iPhone 0 317 1622 2019-02-14T11:33:50Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[Screenshots vom iPhone erstellen]] 1dee4719947aa568d191cdaccf02c922889c92a4 Versteckte Firefox-Konfiguration 0 330 1648 2019-02-14T11:33:53Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[Versteckte Firefox-Einstellungen]] ad730a81c153daf74c05e94b4f4dc5d7825fef23 Template:Terminal 10 12 1125 1124 2019-02-14T11:38:09Z Hagbard 2 2 revisions imported wikitext text/x-wiki <noinclude>[[Kategorie:Abkürzungsvorlage]]Abkürzungsvorlage für die Darstellung eines Links zur Kategorie "Terminal" mit zugehörigem Icon. Weitere Vorlagen für Produktlinks sind in der [[:Kategorie:Abkürzungsvorlage|Kategorie Abkürzungsvorlage]] zu finden. ;Vorschau: {{Terminal}} </noinclude><includeonly>[[Bild:Terminal.png|16px]] [[:Kategorie:Terminal|Terminal]]</includeonly> 1fae6362143dbadf5db194c59ae4a9c89b019543 Template:Man 10 30 1033 1032 2019-02-14T11:38:11Z Hagbard 2 4 revisions imported wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Erzeugung eines Links zum [[Macwrench:Manpage|Manpage-Browser.]] ;Verwendungsbeispiel <nowiki>{{Man|vi}}</nowiki> </noinclude><includeonly>[[Bild:Manpage.png|16px]] [{{SERVER}}{{localurl:macwrench:Manpage|manpage={{{1}}}}} {{{2}}}]</includeonly> e8ad6ccb87b2c2ec9923d0ada1596d229a6a185a 1034 1033 2019-02-14T13:23:21Z Hagbard 2 Hagbard moved page [[Vorlage:Man]] to [[Template:Man]] without leaving a redirect wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Erzeugung eines Links zum [[Macwrench:Manpage|Manpage-Browser.]] ;Verwendungsbeispiel <nowiki>{{Man|vi}}</nowiki> </noinclude><includeonly>[[Bild:Manpage.png|16px]] [{{SERVER}}{{localurl:macwrench:Manpage|manpage={{{1}}}}} {{{2}}}]</includeonly> e8ad6ccb87b2c2ec9923d0ada1596d229a6a185a 1035 1034 2019-02-14T13:23:50Z Hagbard 2 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Erzeugung eines Links zum [[Macwrench:Manpage|Manpage-Browser.]] ;Verwendungsbeispiel <nowiki>{{Man|vi}}</nowiki> </noinclude><includeonly>[[Image:Manpage.png|16px]] [{{SERVER}}{{localurl:macwrench:Manpage|manpage={{{1}}}}} {{{2}}}]</includeonly> 22923abcbb73133413516a1841d9ab53469526c4 1036 1035 2019-02-14T13:27:05Z Hagbard 2 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Erzeugung eines Links zum [[Macwrench:Manpage|Manpage-Browser.]] ;Verwendungsbeispiel <nowiki>{{Man|vi}}</nowiki> {{Man|vi}} </noinclude><includeonly>[[Image:Terminal.png|16px]] [https://manpages.debian.org/jump?q=groff{{{1}}}}} {{{2}}}]</includeonly> 7f6ab8af584a1de7cc8bfa158f6fe78de2f9ab5d 1037 1036 2019-02-14T13:27:45Z Hagbard 2 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Erzeugung eines Links zum [[Macwrench:Manpage|Manpage-Browser.]] ;Verwendungsbeispiel <nowiki>{{Man|vi|vi}}</nowiki> {{Man|vi|vi}} </noinclude><includeonly>[[Image:Terminal.png|16px]] [https://manpages.debian.org/jump?q={{{1}}} {{{2}}}]</includeonly> 7eb49ed1f528aa79cf7bbfeea5e88f9667cdec1b 1038 1037 2019-02-14T13:28:17Z Hagbard 2 wikitext text/x-wiki <noinclude>Vorlage zur Erzeugung eines Links zum Debian [https://manpages.debian.org/ Manpage-Browser.] ;Verwendungsbeispiel <nowiki>{{Man|vi|vi}}</nowiki> {{Man|vi|vi}} </noinclude><includeonly>[[Image:Terminal.png|16px]] [https://manpages.debian.org/jump?q={{{1}}} {{{2}}}]</includeonly> 40944021f60d099e3e8c786a23c0566d9ccf0792 Template:Contentbox 10 94 1059 1058 2019-02-14T11:38:11Z Hagbard 2 11 revisions imported wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="top"> <td id="topleft">&nbsp;</td> <td id="top"></td> <td id="topright"></td> </tr> <tr id="content> <td id="left"></td> <td id="content"> {{{content}}} </td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> 30637bba54832167ae4742311aafa48f47303ed6 Template:ContentboxWithIconAndTitle 10 91 1080 1079 2019-02-14T11:38:11Z Hagbard 2 4 revisions imported wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox mit Titel und Titelicon. '''Hinweis:''' Das Symbol wird immer auf 32 Pixel Breite herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIconText"> <td id="topleftIcon">&nbsp;</td> <td id="topIconText">[[Bild:{{{icon}}}|32px]]</td> <td id="topIconTitleText">{{{title}}}</td> <td id="topIconText"></td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td colspan="3" id="content"> {{{content}}} </td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td colspan="3" id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> fc455acb9edf17e38903879f7b00870305a4ac86 Template:ContentboxWithIcon 10 23 1104 1103 2019-02-14T11:38:11Z Hagbard 2 7 revisions imported wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel, mit Titelicon. '''Hinweis:''' Das Symbol wird immer auf 32 Pixel Breite herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIcon"> <td id="topleftIcon">&nbsp;</td> <td id="topIcon">[[Bild:{{{icon}}}|32px]]</td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td id="content">{{{content}}}</td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> 0cc2f2ac6a1add0addf157c240205efbbade0bbd Template:Info 10 18 1111 1110 2019-02-14T11:38:11Z Hagbard 2 3 revisions imported wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Einblendung eines einfachen Bausteins mit einem frei definierbaren Text für weitere Informationen zu einem gerade behandelten Thema. Weitere Bausteinvorlagen sind in der Kategorie [[:Kategorie:Elementvorlage|Elementvorlage]] zu finden. ;Beispiel: <nowiki>{{Information|Text}}</nowiki> </noinclude><includeonly> {{InfoboxWithIcon|icon=Info.png|width=100%|content={{{1}}}}}</includeonly> 7a28dc98aa37534c4b3dda25eb73019afba4cd1b 1112 1111 2019-02-14T14:22:31Z Hagbard 2 Hagbard moved page [[Vorlage:Information]] to [[Template:Information]] without leaving a redirect wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Einblendung eines einfachen Bausteins mit einem frei definierbaren Text für weitere Informationen zu einem gerade behandelten Thema. Weitere Bausteinvorlagen sind in der Kategorie [[:Kategorie:Elementvorlage|Elementvorlage]] zu finden. ;Beispiel: <nowiki>{{Information|Text}}</nowiki> </noinclude><includeonly> {{InfoboxWithIcon|icon=Info.png|width=100%|content={{{1}}}}}</includeonly> 7a28dc98aa37534c4b3dda25eb73019afba4cd1b Template:Hint 10 92 1088 1087 2019-02-14T11:38:14Z Hagbard 2 4 revisions imported wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für hilfreiche Tipps & Tricks zu einem gerade behandelten Thema. Weitere Bausteinvorlagen sind in der Kategorie [[:Kategorie:Elementvorlage|Elementvorlage]] zu finden. ;Beispiel: <nowiki>{{Tipp|Text}}</nowiki> </noinclude><includeonly> {{InfoboxWithIconAndTitle|title=Tipp|icon=Tipp.png|width=100%|content={{{1}}}}}</includeonly> 3fa05ddbf63b773491ffb4e709f0a551a40c791d 1089 1088 2019-02-14T13:16:42Z Hagbard 2 Hagbard moved page [[Vorlage:Tipp]] to [[Template:Hint]] without leaving a redirect wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für hilfreiche Tipps & Tricks zu einem gerade behandelten Thema. Weitere Bausteinvorlagen sind in der Kategorie [[:Kategorie:Elementvorlage|Elementvorlage]] zu finden. ;Beispiel: <nowiki>{{Tipp|Text}}</nowiki> </noinclude><includeonly> {{InfoboxWithIconAndTitle|title=Tipp|icon=Tipp.png|width=100%|content={{{1}}}}}</includeonly> 3fa05ddbf63b773491ffb4e709f0a551a40c791d 1090 1089 2019-02-14T13:16:57Z Hagbard 2 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für hilfreiche Tipps & Tricks zu einem gerade behandelten Thema. Weitere Bausteinvorlagen sind in der Kategorie [[:Kategorie:Elementvorlage|Elementvorlage]] zu finden. ;Beispiel: <nowiki>{{Hint|Text}}</nowiki> </noinclude><includeonly> {{InfoboxWithIconAndTitle|title=Tipp|icon=Tipp.png|width=100%|content={{{1}}}}}</includeonly> 98576509eca335a8be060119e3321b2e3dba660e 1091 1090 2019-02-14T13:17:25Z Hagbard 2 wikitext text/x-wiki <noinclude>Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für hilfreiche Tipps & Tricks zu einem gerade behandelten Thema. ;Beispiel: <nowiki>{{Hint|Text}}</nowiki> </noinclude><includeonly> {{InfoboxWithIconAndTitle|title=Tipp|icon=Tipp.png|width=100%|content={{{1}}}}}</includeonly> c505b3aa172ea8ec60180ff54df9ccbe0fa2f361 Template:Important 10 21 1136 1135 2019-02-14T11:38:14Z Hagbard 2 3 revisions imported wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für wichtige Informationen zu einem gerade behandelten Thema. Weitere Bausteinvorlagen sind in der Kategorie [[:Kategorie:Elementvorlage|Elementvorlage]] zu finden. ;Beispiel: <nowiki>{{Wichtig|Text}}</nowiki> </noinclude><includeonly> {{InfoboxWithIcon|icon=Wichtig.png|width=100%|content={{{1}}}}}</includeonly> 05d16d8550d58770f0c6be531dbae01426d75a36 Template:Tt 10 26 1042 1041 2019-02-14T11:38:15Z Hagbard 2 1 revision imported wikitext text/x-wiki <noinclude>[[Kategorie:Formatierungsvorlage]] Vorlage zur Ausgabe einer Zeichenfolge in Monospaced-Schrift (Typewriter), z.B. für kurze Codeschnippsel oder Variablennamen im Fließtext. ;Verwendung: <nowiki>{{Texttt|Monospaced Text}}</nowiki> ;Ausgabe: {{Texttt|Monospaced Text}} ;Alternativ: Kurzform über die Vorlage [[Vorlage:TT|TT]] </noinclude><includeonly><font style="font-family:courier,monospace; font-size:100%;">{{{1}}}</font></includeonly> c78e972445b12ff21645cc3c9c385b049d9b88e9 1043 1042 2019-02-14T11:40:51Z Hagbard 2 Hagbard moved page [[Vorlage:Texttt]] to [[Template:TT]] wikitext text/x-wiki <noinclude>[[Kategorie:Formatierungsvorlage]] Vorlage zur Ausgabe einer Zeichenfolge in Monospaced-Schrift (Typewriter), z.B. für kurze Codeschnippsel oder Variablennamen im Fließtext. ;Verwendung: <nowiki>{{Texttt|Monospaced Text}}</nowiki> ;Ausgabe: {{Texttt|Monospaced Text}} ;Alternativ: Kurzform über die Vorlage [[Vorlage:TT|TT]] </noinclude><includeonly><font style="font-family:courier,monospace; font-size:100%;">{{{1}}}</font></includeonly> c78e972445b12ff21645cc3c9c385b049d9b88e9 1044 1043 2019-02-14T11:41:48Z Hagbard 2 wikitext text/x-wiki <noinclude>[[Kategorie:Formatierungsvorlage]] Vorlage zur Ausgabe einer Zeichenfolge in Monospaced-Schrift (Typewriter), z.B. für kurze Codeschnippsel oder Variablennamen im Fließtext. ;Verwendung: <nowiki>{{TT|Monospaced Text}}</nowiki> ;Ausgabe: {{TT|Monospaced Text}} ;Alternativ: Kurzform über die Vorlage [[Template:Texttt|Texttt]] </noinclude><includeonly><font style="font-family:courier,monospace; font-size:100%;">{{{1}}}</font></includeonly> c3c09fdf8ef9b196745f640e1548a736d45f4ca5 1045 1044 2019-02-14T11:42:23Z Hagbard 2 wikitext text/x-wiki <noinclude>[[Kategorie:Formatierungsvorlage]] Vorlage zur Ausgabe einer Zeichenfolge in Monospaced-Schrift (Typewriter), z.B. für kurze Codeschnippsel oder Variablennamen im Fließtext. ;Verwendung: <nowiki>{{TT|Monospaced Text}}</nowiki> ;Ausgabe: {{TT|Monospaced Text}} </noinclude><includeonly><font style="font-family:courier,monospace; font-size:100%;">{{{1}}}</font></includeonly> 951d1b6b6197eaa7e39307088c245000e2711178 Template:InfoboxWithIconAndTitle 10 93 1094 1093 2019-02-14T11:38:15Z Hagbard 2 1 revision imported wikitext text/x-wiki <noinclude>[[Kategorie:Interne_Vorlage]]Diese Vorlage dient der Erzeugung verschiedener [[:Kategorie:Artikelbaustein|Artikelbausteine]], wie z.B. zur Kennzeichnung * ausbaufähiger Artikel * unvollständiger Artikel * unverständlicher Artikel * Löschkandidaten usw. Die Vorlage sollte '''nicht direkt verwendet werden''' sondern nur innerhalb der obigen [[:Kategorie:Artikelbaustein|Artikelbausteine]] zum Einsatz kommen. Für die Verwendung der Vorlage ohne Icon ist die Vorlage [[Vorlage:Infobox|Infobox]] zu verwenden. </noinclude><includeonly>{{ContentboxWithIconAndTitle|title={{{title}}}|icon={{{icon}}}|width={{{width}}}|content= {{{content}}}}}</includeonly> 2f7bddcf0c1800c72e1b3317af62c13c7b9d1857 Template:InfoboxWithIcon 10 20 1120 1119 2019-02-14T11:38:15Z Hagbard 2 2 revisions imported wikitext text/x-wiki <noinclude>[[Kategorie:Interne_Vorlage]]Diese Vorlage dient der Erzeugung verschiedener [[:Kategorie:Artikelbaustein|Artikelbausteine]], wie z.B. zur Kennzeichnung * ausbaufähiger Artikel * unvollständiger Artikel * unverständlicher Artikel * Löschkandidaten usw. Die Vorlage sollte '''nicht direkt verwendet werden''' sondern nur innerhalb der obigen [[:Kategorie:Artikelbaustein|Artikelbausteine]] zum Einsatz kommen. Für die Verwendung der Vorlage ohne Icon ist die Vorlage [[Vorlage:Infobox|Infobox]] zu verwenden. </noinclude><includeonly>{{ContentboxWithIcon|icon={{{icon}}}|width={{{width}}}|content= {{{content}}}}}</includeonly> 5a709366d57b0526d37357cb02a5671420a638ea Template:Translucent 10 196 1144 1143 2019-02-14T11:38:15Z Hagbard 2 3 revisions imported wikitext text/x-wiki <noinclude>[[Kategorie:Formatierungsvorlage]]Vorlage zur halbtrasnsparenten Darstellung von (beliebigen) Inhalten. ;Beispiel: <nowiki>{{Opaque|1=[[Bild:MacOS10.5.png|32px]]}}</nowiki> ;Ausgabe: :{{Opaque|1=[[Bild:MacOS10.5.png|32px]]}} </noinclude><includeonly><div class=opaque>{{{1}}}</div></includeonly> 07041ada3138d760845806944d3073006ef9e8de Jumping Wordwise in Terminal Commands 0 175 832 831 2019-02-14T13:05:27Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]][[Kategorie:Kurztipp]]{{Artikelsymbol|Terminal.png}}Unter Snow Leopard ist die Tastaturbelegung der [[:Kategorie:Terminal|Terminal]].app scheinbar etwas durcheinandergeraden, so bewirkt z.B. der wortweise Sprung in der Eingabe via <KB>ctrl + links</KB> beziehungsweise <KB>ctrl + rechts</KB> ein Einfügen der Großbuchstaben "D" bzw. "C". Um das zu ändern, sind die Einstellungen der Terminal App zu öffnen und im Abschnitt "Tastatur" die entsprechenden Belegungen zu ändern. So sehen sie (höchstwahrscheinlich) aus: {| |-- style="background-color:#f2f2f2;" | style="width:200px;" | Belegung || style="width:100px;" | ist || style="width:100px;" | soll |-- | Ctrl-Taste Linkspfeil || {{TT|\033[5D}} || {{TT|\033b}} |-- | Ctrl-Taste Rechtsspfeil || {{TT|\033[5C}} || {{TT|\033f}} |} Ggg. ist (unter OS X 10.7 und neuer) vorher die entsprechende Tastaturbelegung für den Wechsel von Spaces in den Systemeinstellungen (unter "Tastatur" > "Mission Control") zu deaktivieren f09b72432bb9ec0d6dafadd3e59660ba7acf5066 833 832 2019-02-14T13:07:28Z Hagbard 2 wikitext text/x-wiki [[Terminal]][[Kategorie:Kurztipp]]{{Artikelsymbol|Terminal.png}}Unter Snow Leopard ist die Tastaturbelegung der [[:Kategorie:Terminal|Terminal]].app scheinbar etwas durcheinandergeraden, so bewirkt z.B. der wortweise Sprung in der Eingabe via <KB>ctrl + links</KB> beziehungsweise <KB>ctrl + rechts</KB> ein Einfügen der Großbuchstaben "D" bzw. "C". Um das zu ändern, sind die Einstellungen der Terminal App zu öffnen und im Abschnitt "Tastatur" die entsprechenden Belegungen zu ändern. So sehen sie (höchstwahrscheinlich) aus: {| |-- style="background-color:#f2f2f2;" | style="width:200px;" | Belegung || style="width:100px;" | ist || style="width:100px;" | soll |-- | Ctrl-Taste Linkspfeil || {{TT|\033[5D}} || {{TT|\033b}} |-- | Ctrl-Taste Rechtsspfeil || {{TT|\033[5C}} || {{TT|\033f}} |} Ggg. ist (unter OS X 10.7 und neuer) vorher die entsprechende Tastaturbelegung für den Wechsel von Spaces in den Systemeinstellungen (unter "Tastatur" > "Mission Control") zu deaktivieren be11ad5f3607fb778913ad3bb949865af7de02a4 834 833 2019-02-14T13:07:42Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]][[Kategorie:Kurztipp]]{{Artikelsymbol|Terminal.png}}Unter Snow Leopard ist die Tastaturbelegung der [[:Kategorie:Terminal|Terminal]].app scheinbar etwas durcheinandergeraden, so bewirkt z.B. der wortweise Sprung in der Eingabe via <KB>ctrl + links</KB> beziehungsweise <KB>ctrl + rechts</KB> ein Einfügen der Großbuchstaben "D" bzw. "C". Um das zu ändern, sind die Einstellungen der Terminal App zu öffnen und im Abschnitt "Tastatur" die entsprechenden Belegungen zu ändern. So sehen sie (höchstwahrscheinlich) aus: {| |-- style="background-color:#f2f2f2;" | style="width:200px;" | Belegung || style="width:100px;" | ist || style="width:100px;" | soll |-- | Ctrl-Taste Linkspfeil || {{TT|\033[5D}} || {{TT|\033b}} |-- | Ctrl-Taste Rechtsspfeil || {{TT|\033[5C}} || {{TT|\033f}} |} Ggg. ist (unter OS X 10.7 und neuer) vorher die entsprechende Tastaturbelegung für den Wechsel von Spaces in den Systemeinstellungen (unter "Tastatur" > "Mission Control") zu deaktivieren f09b72432bb9ec0d6dafadd3e59660ba7acf5066 835 834 2019-02-14T13:11:02Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]][[Category:Hint]]Unter Snow Leopard ist die Tastaturbelegung der [[:Kategorie:Terminal|Terminal]].app scheinbar etwas durcheinandergeraden, so bewirkt z.B. der wortweise Sprung in der Eingabe via <KB>ctrl + links</KB> beziehungsweise <KB>ctrl + rechts</KB> ein Einfügen der Großbuchstaben "D" bzw. "C". Um das zu ändern, sind die Einstellungen der Terminal App zu öffnen und im Abschnitt "Tastatur" die entsprechenden Belegungen zu ändern. So sehen sie (höchstwahrscheinlich) aus: {| |-- style="background-color:#f2f2f2;" | style="width:200px;" | Belegung || style="width:100px;" | ist || style="width:100px;" | soll |-- | Ctrl-Taste Linkspfeil || {{TT|\033[5D}} || {{TT|\033b}} |-- | Ctrl-Taste Rechtsspfeil || {{TT|\033[5C}} || {{TT|\033f}} |} Ggg. ist (unter OS X 10.7 und neuer) vorher die entsprechende Tastaturbelegung für den Wechsel von Spaces in den Systemeinstellungen (unter "Tastatur" > "Mission Control") zu deaktivieren adb070e03f65a9fd41ea6d417826e60e6457aba5 836 835 2019-02-14T13:13:59Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]][[Category:Hint]]Unter Snow Leopard ist die Tastaturbelegung der [[:Category:Terminal|Terminal]].app scheinbar etwas durcheinandergeraden, so bewirkt z.B. der wortweise Sprung in der Eingabe via <KB>ctrl + links</KB> beziehungsweise <KB>ctrl + rechts</KB> ein Einfügen der Großbuchstaben "D" bzw. "C". Um das zu ändern, sind die Einstellungen der Terminal App zu öffnen und im Abschnitt "Tastatur" die entsprechenden Belegungen zu ändern. So sehen sie (höchstwahrscheinlich) aus: {| |-- style="background-color:#f2f2f2;" | style="width:200px;" | Belegung || style="width:100px;" | ist || style="width:100px;" | soll |-- | Ctrl-Taste Linkspfeil || {{TT|\033[5D}} || {{TT|\033b}} |-- | Ctrl-Taste Rechtsspfeil || {{TT|\033[5C}} || {{TT|\033f}} |} Ggg. ist (unter OS X 10.7 und neuer) vorher die entsprechende Tastaturbelegung für den Wechsel von Spaces in den Systemeinstellungen (unter "Tastatur" > "Mission Control") zu deaktivieren c0175e272694286b0b8e6633e2cd4bac7977fbe9 Template:Terminal 10 12 1126 1125 2019-02-14T13:19:53Z Hagbard 2 Hagbard moved page [[Vorlage:Terminal]] to [[Template:Terminal]] without leaving a redirect wikitext text/x-wiki <noinclude>[[Kategorie:Abkürzungsvorlage]]Abkürzungsvorlage für die Darstellung eines Links zur Kategorie "Terminal" mit zugehörigem Icon. Weitere Vorlagen für Produktlinks sind in der [[:Kategorie:Abkürzungsvorlage|Kategorie Abkürzungsvorlage]] zu finden. ;Vorschau: {{Terminal}} </noinclude><includeonly>[[Bild:Terminal.png|16px]] [[:Kategorie:Terminal|Terminal]]</includeonly> 1fae6362143dbadf5db194c59ae4a9c89b019543 1127 1126 2019-02-14T13:20:24Z Hagbard 2 wikitext text/x-wiki <noinclude>Abkürzungsvorlage für die Darstellung eines Links zur Kategorie "Terminal" mit zugehörigem Icon. ;Vorschau: {{Terminal}} </noinclude><includeonly>[[Bild:Terminal.png|16px]] [[:Kategorie:Terminal|Terminal]]</includeonly> 4b1fd4efb1aab368ffdf2564765397e33cac2213 1128 1127 2019-02-14T13:20:51Z Hagbard 2 wikitext text/x-wiki <noinclude>Abkürzungsvorlage für die Darstellung eines Links zur Kategorie "Terminal" mit zugehörigem Icon. ;Vorschau: {{Terminal}} </noinclude><includeonly>[[Image:Terminal.png|16px]] [[:Kategorie:Terminal|Terminal]]</includeonly> 165b669b436479ac15084af6c181584f75765826 1129 1128 2019-02-14T13:21:18Z Hagbard 2 wikitext text/x-wiki <noinclude>Abkürzungsvorlage für die Darstellung eines Links zur Kategorie "Terminal" mit zugehörigem Icon. ;Vorschau: {{Terminal}} </noinclude><includeonly>[[Image:Terminal.png|16px]] [[:Category:Terminal|Terminal]]</includeonly> 0b2590f051e4f143de65c84ed8ed7afe72734e90 Mount DMG Disk Images on Linux 0 177 850 849 2019-02-14T13:23:00Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Linux]] Da .dmg Images im Prinzip ganz normale Disk-Images mit dem HFS-Dateisystem sind, lassen sie sich auch unter Linux benutzen. Dazu muss die Linux Installation allerdings über HFS+ Treiber verfügen, die üblicherweise als Modul geladen werden. Da unter Mac OS X allerdings mehrere unterschiedliche Imageformate erzeugt werden können, kann ich hier nicht beurteilen, ob wirklich alle gelesen werden können. Das gilt insbesondere für verschlüsselte oder komprimierte Diskimages, aber auch für die mitwachsenden welchen (Sparse Image). ==dmg Image testen== Bei einem gültigen - d.h. für Linux nutzbaren - Image sollte das Kommando file <imagename>.dmg die folgende (oder eine vergleichbare) Ausgabe erzeugen: <imagename>.dmg: Macintosh HFS data (mounted) created: ....bla..., last modified: ...bla..., block size: ...bla..., number of blocks: ...bla..., volume name: <volumename> ==dmg Image mounten== Eingebunden wird es dann einfach mit {{Man|mount|mount}} -t hfs -o loop <imagefile> <mountpoint> ==Weitere Informationen== * Manpage zu {{Man|mount|mount}} * Manpage zu {{Man|hdiutil|hdiutil}} (für das Erstellen von Images unter Mac OS X) * Artikel zu [[hdiutil]] (incl. Liste der verschiedenen Imagetypen) ----- ''Verfasser: [[Benutzer:Hagbard|hagbard]]'' 04f4bf1fc4456f8661ae75308487c5cb3c41ddc2 851 850 2019-02-14T13:29:19Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Linux]] Da .dmg Images im Prinzip ganz normale Disk-Images mit dem HFS-Dateisystem sind, lassen sie sich auch unter Linux benutzen. Dazu muss die Linux Installation allerdings über HFS+ Treiber verfügen, die üblicherweise als Modul geladen werden. Da unter Mac OS X allerdings mehrere unterschiedliche Imageformate erzeugt werden können, kann ich hier nicht beurteilen, ob wirklich alle gelesen werden können. Das gilt insbesondere für verschlüsselte oder komprimierte Diskimages, aber auch für die mitwachsenden welchen (Sparse Image). ==dmg Image testen== Bei einem gültigen - d.h. für Linux nutzbaren - Image sollte das Kommando file <imagename>.dmg die folgende (oder eine vergleichbare) Ausgabe erzeugen: <imagename>.dmg: Macintosh HFS data (mounted) created: ....bla..., last modified: ...bla..., block size: ...bla..., number of blocks: ...bla..., volume name: <volumename> ==dmg Image mounten== Eingebunden wird es dann einfach mit {{Man|mount|mount}} -t hfs -o loop <imagefile> <mountpoint> ==Weitere Informationen== * Manpage zu {{Man|mount|mount}} * Manpage zu {{Man|hdiutil|hdiutil}} (für das Erstellen von Images unter Mac OS X) * Artikel zu [[hdiutil]] (incl. Liste der verschiedenen Imagetypen) e600cf810a711655248085e64458e881e65dc1a7 Kurztipp - Screenshots ohne Schatten erstellen 0 170 810 809 2019-02-14T14:09:01Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:OS]]Standardmäßig werden Screenshots von Einzelfenstern - entweder via "Bildschirmfoto.app" oder mit Hilfe der [[Mac Keyboard Shortcuts|Tastenkombination]] <KB>CMD + SHIFT + 4</KB> und anschließendem <KB>SPACE</KB> immer mit einem Schlagschatten versehen. Um dieses Verhalten abzustellen, ist folgende Eingabe im {{Terminal}} nötig: defaults write com.apple.screencapture disable-shadow -bool true Um diese Anweisung unmittelbar wirksam werden zu lassen, ist noch folgende Anweisung auszuführen: killall SystemUIServer Und um das Standardverhalten wiederherzustellen, kann folgende Anweisung verwendet werden: defaults delete com.apple.screencapture disable-shadow 6adf4fa4fc5d49d4525e661b17467a0114d80eef Create a DVD ISO disk image from a VIDEO TS folder 0 151 723 722 2019-02-14T14:10:18Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Hint]] Um aus einem VIDEO_TS Ordner ein DVD UDF ISO zu erzeugen reicht folgende Zeile: <pre> hdiutil makehybrid -udf -udf-volume-name <Name> -o <Name>.iso <Ordnername> </pre> Weitere Informationen sind im Artikel zu [[Hdiutil|hdiutil]] zu finden. c0f4be1ab6110f501c05d99b1212a802ef23a5c3 Konvertierung von Bilddateien im Terminal 0 147 700 699 2019-02-14T14:10:39Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Terminal]] Eine sehr einfache Möglichkeit, Bilddateien beispielsweise vom JPG-Format ins PNG-Format zu konvertieren oder auch andere Operationen durchzuführen, bietet das Kommandozeilenprogramm {{Man|sips|sips}} (scriptable image processing system): Folgende Zeile konvertiert die Datei {{TT|SOURCE.jpg}} in das PNG-Format: <source lang="bash"> sips -s format png SOURCE.jpg --out NEW.png </source> 382d0449d5a64d5a91b1dfd757ee3c5468aa6654 701 700 2019-02-14T14:10:51Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Terminal]] Eine sehr einfache Möglichkeit, Bilddateien beispielsweise vom JPG-Format ins PNG-Format zu konvertieren oder auch andere Operationen durchzuführen, bietet das Kommandozeilenprogramm {{Man|sips|sips}} (scriptable image processing system): Folgende Zeile konvertiert die Datei {{TT|SOURCE.jpg}} in das PNG-Format: <source lang="Bash"> sips -s format png SOURCE.jpg --out NEW.png </source> b25117100ac5c3a2249b2bd3b0cd271932ea3436 702 701 2019-02-14T14:11:03Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Terminal]] Eine sehr einfache Möglichkeit, Bilddateien beispielsweise vom JPG-Format ins PNG-Format zu konvertieren oder auch andere Operationen durchzuführen, bietet das Kommandozeilenprogramm {{Man|sips|sips}} (scriptable image processing system): Folgende Zeile konvertiert die Datei {{TT|SOURCE.jpg}} in das PNG-Format: <source> sips -s format png SOURCE.jpg --out NEW.png </source> 1638efb8c3f0f0db41ce6889dcd8819553420adc 703 702 2019-02-14T14:11:21Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Terminal]] Eine sehr einfache Möglichkeit, Bilddateien beispielsweise vom JPG-Format ins PNG-Format zu konvertieren oder auch andere Operationen durchzuführen, bietet das Kommandozeilenprogramm {{Man|sips|sips}} (scriptable image processing system): Folgende Zeile konvertiert die Datei {{TT|SOURCE.jpg}} in das PNG-Format: <syntaxhighlight> sips -s format png SOURCE.jpg --out NEW.png </syntaxhighlight> 30242db7a0b9cfef0dccf809c93c86891d1c1fd0 704 703 2019-02-14T14:11:39Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Terminal]] Eine sehr einfache Möglichkeit, Bilddateien beispielsweise vom JPG-Format ins PNG-Format zu konvertieren oder auch andere Operationen durchzuführen, bietet das Kommandozeilenprogramm {{Man|sips|sips}} (scriptable image processing system): Folgende Zeile konvertiert die Datei {{TT|SOURCE.jpg}} in das PNG-Format: <syntaxhighlight lang="Bash"> sips -s format png SOURCE.jpg --out NEW.png </syntaxhighlight> 88b023e7fb13e847ea9573699433c60e90faddc3 Quit app when closing the last window (Cocoa, Objc) 0 149 713 712 2019-02-14T14:12:23Z Hagbard 2 wikitext text/x-wiki [[Category:Development]][[Category:Hint]] Um eine ObjC-Cocoa-Applikation mit dem Schließen des letzten Fensters automatisch zu beenden, ist folgendes zu machen: in die Methode '''awakeFromNib''' folgende Zeilen einfügen, das sieht dann etwa so aus: - (void)awakeFromNib { ... [NSApp setDelegate:self]; ... } Anschließend eine Methode namens '''applicationShouldTerminateAfterLastWindowClosed''' erstellen, die wie folgt aussieht: - (BOOL)[http://www.cocoadev.com/index.pl?NSApplication applicationShouldTerminateAfterLastWindowClosed]:(NSApplication *)theApplication { return YES; } Fertig! Dazu gibt es auch eine ganze Reihe alternativer Vorgehensweisen, diese hier ist aber sehr einfach und funktioniert ... ;-) a644a1230025c52bf4a7df873704b5bc74b70530 Screencapture 0 316 1620 2019-02-14T14:17:02Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Terminal]] {{TT|1={{Man|screencapture|screencapture}}}} ist ein Kommandozeilenprogramm für das Erstellen von Screenshots, vergleichbar zum [[Dienstprogramme_und_ihre_Terminal-Äquivalente|Dienstprogramm]] "Grab" (Bildschirmfoto). Im Wesentlichen beherrscht es die folgenden Aufgaben: * Screenshot direkt in die Zwischenablage speichern * Mauszeiger im Screenshot anzeigen uvm. ==Optionen== <pre> usage: screencapture [-icMPmwsWxSCUto] [files] -c force screen capture to go to the clipboard -C capture the cursor as well as the screen. only in non-interactive modes -d display errors to the user graphically -i capture screen interactively, by selection or window control key - causes screen shot to go to clipboard space key - toggle between mouse selection and window selection modes escape key - cancels interactive screen shot -m only capture the main monitor, undefined if -i is set -M screen capture output will go to a new Mail message -o in window capture mode, do not capture the shadow of the window -P screen capture output will open in Preview -s only allow mouse selection mode -S in window capture mode, capture the screen not the window -t<format> image format to create, default is png (other options include pdf, jpg, tiff and other formats) -T<seconds> Take the picture after a delay of <seconds>, default is 5 -w only allow window selection mode -W start interaction in window selection mode -x do not play sounds files where to save the screen capture, 1 file per screen </pre> == Siehe auch== * [[Dienstprogramme und ihre Terminal-Äquivalente]] * [[Mac Keyboard Shortcuts]] * [[Kurztipp - Dateiformat von Screenshots ändern]] * [[Kurztipp - Screenshots ohne Schatten]] * [[Screenshots von Dashboard-Widgets erstellen]] * [[Screenshots vom iPhone erstellen]] 7130ded87e8c987cde3b849f52fa93c7e7716946 Activate HiDPI Screen Resolutions (Duplicate) 0 165 790 789 2019-02-14T14:17:33Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]] __NOEDITSECTION__ Um zu Testzwecken auch auf nicht-Retina-Geräten die entsprechenden Auflösungen zur Verfügung zu haben, ist im {{Terminal}} folgendes Kommando einzugeben: sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true Anschließend ist eine erneute Anmeldung notwendig, um diese Änderung wirksam werden zu lassen. Die Retina-Auflösungen sind in den Monitoreinstellungen am Zusatz (HDPI) zu erkennen. Das Deaktivieren kann auf zwei verschiedene Arten erfolgen: sudo defaults delete /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled oder sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool false 8ea2237d9892e4fdd94c1d478d47ad90a456c957 Auto-Rechtschreibkorrektur deaktivieren 0 45 170 2019-02-14T14:18:15Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:OS]] Mitunter sehr lästig kann die Tatsache sein, das OS X mittlerweile automatisch bereits während der Eingabe vermeintliche Rechtschreibfehler korrigiert, solange das jeweilige Programm dies nicht für alle entsprechenden Eingabefelder deaktiviert. Um diese Funktion nicht für jedes Programm einzeln (via Menü "Bearbeiten" > "Rechtschreibung und Grammatik") sondern global abzustellen, ist folgende Eingabe im {{Terminal}} erforderlich: defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false Anschließend ist eine erneute Anmeldung notwendig. Um diese Funktion wieder zu aktivieren, ist folgende Terminal-Anweisung zu verwenden: defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool true 30c3ddef8346ae38cf946286bf2930e5b72633c2 Informationen über ein Disk Image auslesen 0 89 317 2019-02-14T14:18:35Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Development]] Um diverse Informationen eines Disk Image auszulesen, kann folgendes Stückchen Quellcode verwendet werden. Dies ruft in einem NSTask das Kommandozeilendienstprogramm "[[Hdiutil|{{TT|hdiutil}}]]" auf, um an diese Informationen zu gelangen: <source lang="objc"> NSArray *args = [NSArray arrayWithObjects:@"imageinfo", @"-plist", @"/path/to/disk/image.dmg", nil]; NSTask *task = [[NSTask alloc] init]; [task setLaunchPath:@"/usr/bin/hdiutil"]; [task setArguments:args]; NSPipe *pipe = [NSPipe pipe]; [task setStandardOutput:pipe]; [task launch]; NSData *data = [[pipe fileHandleForReading] readDataToEndOfFile]; [task waitUntilExit]; //int result = [task terminationStatus]; // falls benoetigt einkommentieren [task release]; NSString *errorStr = nil; NSDictionary *imageinfo = (NSDictionary *)[NSPropertyListSerialization propertyListFromData:data mutabilityOption:NSPropertyListImmutable format:NULL errorDescription:&errorStr]; </source> e293b711d6b6d86ded0579569a2637cbe21d4700 Schnellen Wechsel zum zuletzt verwendeten Space aktivieren 0 315 1618 2019-02-14T14:19:41Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:OS]] Benutzer eines [https://www.apple.com/de/magictrackpad/ Magic Trackpad] können eine nicht über die Systemeinstellungen verfügbare Geste aktivieren, um mit einem Doppeltap von vier Fingern zum zuletzt verwendeten Space zu wechseln. Dazu ist im {{Terminal}} folgende Anweisung auszuführen: defaults write com.apple.dock double-tap-jump-back -bool TRUE Anschließend muss das Dock mit folgendem Kommando neu gestartet werden: killall Dock Um diese Option wieder zu deaktivieren, genügt folgende Terminal-Anweisung, wiederum gefolgt von einem Neustart des Dock: defaults delete com.apple.dock double-tap-jump-back killall Dock 7ddc8b20a771fb61462bccb07a9bd9e9e19e735a Prevent .DS Store files on network shares 0 148 708 707 2019-02-14T14:20:18Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]] __NOEDITSECTION__ Für alle, die sich jedesmal über die {{TT|.DS_Store}} Dateien auf Netzwerkvolumes ärgern (lästig vor allem bei Samba-Shares unter Linux/Win32) hier ein - zwar nicht mehr taufrischer, aber dennoch ganz hilfreicher - Tipp (funktioniert ab Mac OS X Tiger). Diese Files werden durch den Finder erstellt und speichern Darstellungseigenschaften für die einzelnen Ordner (z.B. Spaltenansicht etc.). Wer im Sinne besserer Optik / Ordnung drauf verzichten kann mache das folgende: Durch die Eigabe von defaults write com.apple.desktopservices DSDontWriteNetworkStores true im Terminal (muss für jeden Benutzer durchgeführt werden) erstellt der Finder diese Dateien nicht mehr. Das ist nur gültig für Netzwerkvolumes via ... * SMB/CIFS * AFP * NFS * WebDAV und hat keinen Einfluss auf lokale Volumes (sprich Festplatten, Wechselplatten, DVD-RAMs, ...). Anschließend muss (laut [http://docs.info.apple.com/article.html?artnum=301711 Apple]) der Rechner neu gebootet werden. Die Änderungen werden in der folgenden Datei gespeichert: ~/Library/Preferences/com.apple.desktopservices.plist Um die Änderungen auch für andere Benutzer wirksam zu machen, muss nur diese Datei an die entsprechende Stelle im Benutzerverzeichnis kopiert werden. Infos über mögliche daraus resultierende Fehlverhalten des Finders gibts unter anderem in [http://docs.info.apple.com/article.html?artnum=107822 diesem Artikel] der Apple Knowledge Base. {{Contentbox|content=Apple Knowledge Base Artikel zum Thema: [http://support.apple.com/kb/HT1629 Mac OS X v10.4 and later: How to prevent .DS_Store file creation over network connections]}} ===Löschen aller {{TT|.DS_Store}} Dateien=== [[Kategorie:Kurztipp]]Um rekursiv alle ''.DS_Store'' Dateien in einem Verzeichnis auf einmal zu löschen, genügt die Eingabe der folgenden Zeile im Terminal (im betreffenden Verzeichnis): <source lang="bash"> find . -name '*.DS_Store' -type f -delete </source> Für ein anderes Verzeichnis als das aktuelle ist dies an Stelle des Punktes nach "find" anzugeben. a5e785d0568bf401bc21e84b2bd9ce4e7fc27b9d Mount Network Shares on Login 0 160 768 767 2019-02-14T14:21:20Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:OS]] Netzwerkvolumes (z.B. AFP-, WebDAV- oder Windows-/SMB-Freigaben) bei der Anmeldung automatisch einzubinden ist erstaunlich einfach, dazu sind lediglich die folgenden wenigen Schritte notwendig: : [[Bild:SharedVolume.png|24px]] Das entsprechende Netzwerkvolume verbinden : [[Bild:SystemPreferences.png|24px]] Systemeinstellungen öffnen : [[Bild:Accounts.png|24px]] Zu "Benutzer & Gruppen" > "Anmeldeobjekte" wechseln Dort kann man über den "+" Button auch eine aktuell eingehängte Freigabe als Anmeldeobjekt hinzufügen, die fortan bei jeder Anmeldung dieses Benutzers eingehängt wird. Am einfachsten funktioniert das, wenn in den Finder-Einstellungen die Anzeige von "verbundenen Servern" in der Finder-Seitenleiste aktiviert ist; dadurch lässt sich die eingehängte Freigabe recht einfach auffinden und auswählen. 9603aaacc02f4707509597c39d5c326b6c0e3f00 Launch Safari in Private Mode 0 168 803 802 2019-02-14T14:21:36Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] Bekanntermaßen existiert in Safari eine Funktion "Privates Surfen", bei der keine Cookies oder Cache-Inhalte dauerhaft gespeichert werden. Dieser muss jedoch nach dem Start von Safari jedes Mal von Hand aktiviert und bestätigt werden, was unter Umständen recht lästig sein kann. Mit folgendem AppleScript lässt sich Safari jedoch auch direkt in diesem Modus starten: <source lang="AppleScript"> tell application "Safari" activate end tell tell application "System Events" to tell process "Safari" set hier_klicken to menu item 6 of menu 2 of menu bar 1 -- Menüpunkt "Privates Surfen" click hier_klicken click button "OK" of window 1 end tell </source> Dazu ist obiger Code einfach im AppleScript-Editor einzugeben und das Skript anschließend als Programm (.app Bundle) exportieren. b346bde4981a513eb14c1521044d2f9a4497c1c3 Template:InfoboxWithIcon 10 20 1121 1120 2019-02-14T14:23:02Z Hagbard 2 Hagbard moved page [[Vorlage:InfoboxWithIcon]] to [[Template:InfoboxWithIcon]] wikitext text/x-wiki <noinclude>[[Kategorie:Interne_Vorlage]]Diese Vorlage dient der Erzeugung verschiedener [[:Kategorie:Artikelbaustein|Artikelbausteine]], wie z.B. zur Kennzeichnung * ausbaufähiger Artikel * unvollständiger Artikel * unverständlicher Artikel * Löschkandidaten usw. Die Vorlage sollte '''nicht direkt verwendet werden''' sondern nur innerhalb der obigen [[:Kategorie:Artikelbaustein|Artikelbausteine]] zum Einsatz kommen. Für die Verwendung der Vorlage ohne Icon ist die Vorlage [[Vorlage:Infobox|Infobox]] zu verwenden. </noinclude><includeonly>{{ContentboxWithIcon|icon={{{icon}}}|width={{{width}}}|content= {{{content}}}}}</includeonly> 5a709366d57b0526d37357cb02a5671420a638ea 216 2019-02-14T14:23:26Z Hagbard 2 wikitext text/x-wiki <noinclude>Diese Vorlage dient der Erzeugung verschiedener Artikelbausteine, wie z.B. zur Kennzeichnung * ausbaufähiger Artikel * unvollständiger Artikel * unverständlicher Artikel * Löschkandidaten usw. Die Vorlage sollte '''nicht direkt verwendet werden''' sondern nur innerhalb der obigen Artikelbausteine zum Einsatz kommen. Für die Verwendung der Vorlage ohne Icon ist die Vorlage [[Vorlage:Infobox|Infobox]] zu verwenden. </noinclude><includeonly>{{ContentboxWithIcon|icon={{{icon}}}|width={{{width}}}|content= {{{content}}}}}</includeonly> bd0946aa8042eb0795a3696209fb38d9456d7eb1 Template:Important 10 21 1137 1136 2019-02-14T14:23:57Z Hagbard 2 Hagbard moved page [[Vorlage:Wichtig]] to [[Template:Important]] without leaving a redirect wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für wichtige Informationen zu einem gerade behandelten Thema. Weitere Bausteinvorlagen sind in der Kategorie [[:Kategorie:Elementvorlage|Elementvorlage]] zu finden. ;Beispiel: <nowiki>{{Wichtig|Text}}</nowiki> </noinclude><includeonly> {{InfoboxWithIcon|icon=Wichtig.png|width=100%|content={{{1}}}}}</includeonly> 05d16d8550d58770f0c6be531dbae01426d75a36 1138 1137 2019-02-14T14:24:12Z Hagbard 2 wikitext text/x-wiki <noinclude>Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für wichtige Informationen zu einem gerade behandelten Thema. ;Beispiel: <nowiki>{{Wichtig|Text}}</nowiki> </noinclude><includeonly> {{InfoboxWithIcon|icon=Wichtig.png|width=100%|content={{{1}}}}}</includeonly> fd10cf7e3d7a6d469850515fd532e44b330aa98d 1139 1138 2019-02-15T09:16:42Z Hagbard 2 wikitext text/x-wiki <noinclude>Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für wichtige Informationen zu einem gerade behandelten Thema. ;Beispiel: <nowiki>{{Wichtig|Text}}</nowiki> </noinclude><includeonly> {{InfoboxWithIcon|icon=Gefahrenzeichen_16.svg|width=100%|content={{{1}}}}}</includeonly> 765d1fbcf9d0f1aebf5b871b29c0656e730eccd2 226 2019-02-15T09:23:07Z Hagbard 2 wikitext text/x-wiki <noinclude>Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für wichtige Informationen zu einem gerade behandelten Thema. ;Beispiel: <nowiki>{{Important|Text}}</nowiki> ;Ausgabe: {{Important|Text}} </noinclude><includeonly> {{InfoboxWithIcon|icon=Gefahrenzeichen_16.svg|width=100%|content={{{1}}}}}</includeonly> 702a23f9120b4a3dc5aa2f93dce2ed5d8bb3db74 Template:Contentbox 10 94 1060 1059 2019-02-14T14:25:41Z Hagbard 2 Hagbard moved page [[Vorlage:Contentbox]] to [[Template:Contentbox]] without leaving a redirect wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="top"> <td id="topleft">&nbsp;</td> <td id="top"></td> <td id="topright"></td> </tr> <tr id="content> <td id="left"></td> <td id="content"> {{{content}}} </td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> 30637bba54832167ae4742311aafa48f47303ed6 327 2019-02-14T14:25:51Z Hagbard 2 wikitext text/x-wiki <noinclude>Vorlage für eine Inhaltsbox ohne Titel</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="top"> <td id="topleft">&nbsp;</td> <td id="top"></td> <td id="topright"></td> </tr> <tr id="content> <td id="left"></td> <td id="content"> {{{content}}} </td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> e6b723adfd944499b93175239501beea67b8fd55 Template:ContentboxWithIcon 10 23 1105 1104 2019-02-14T14:27:22Z Hagbard 2 Hagbard moved page [[Vorlage:ContentboxWithIcon]] to [[Template:ContentboxWithIcon]] wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox ohne Titel, mit Titelicon. '''Hinweis:''' Das Symbol wird immer auf 32 Pixel Breite herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIcon"> <td id="topleftIcon">&nbsp;</td> <td id="topIcon">[[Bild:{{{icon}}}|32px]]</td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td id="content">{{{content}}}</td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> 0cc2f2ac6a1add0addf157c240205efbbade0bbd 1106 1105 2019-02-14T14:27:33Z Hagbard 2 wikitext text/x-wiki <noinclude>Vorlage für eine Inhaltsbox ohne Titel, mit Titelicon. '''Hinweis:''' Das Symbol wird immer auf 32 Pixel Breite herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIcon"> <td id="topleftIcon">&nbsp;</td> <td id="topIcon">[[Bild:{{{icon}}}|32px]]</td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td id="content">{{{content}}}</td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> 38d9f6b80bb7640286c166e8a49d080aa48a40de 210 2019-02-15T09:17:52Z Hagbard 2 wikitext text/x-wiki <noinclude>Vorlage für eine Inhaltsbox ohne Titel, mit Titelicon. '''Hinweis:''' Das Symbol wird immer auf 32 Pixel Breite herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIcon"> <td id="topleftIcon">&nbsp;</td> <td id="topIcon">[[Image:{{{icon}}}|32px]]</td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td id="content">{{{content}}}</td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> cd00d7e8a8d64f7965b61e8d7d180411307d59f6 Activate Momentum Scrolling for a Magic Mouse 0 159 763 762 2019-02-14T14:32:18Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] Um den animierten Nachlauf beim Scrollen (Momentum Scrolling) mit der [http://www.apple.com/de/magicmouse/ Apple Magic Mouse], der unter Mac OS X Snow Leopard in den Maus-Einstellungen (de-)aktivierbar ist, auch unter Mac OS X Leopard (10.5) zu aktivieren, ist im [[:Category:Terminal|Terminal]] folgendes einzugeben: defaults write com.apple.driver.AppleBluetoothMultitouch.mouse MouseMomentumScroll -bool yes Anschließend ist die Scrolling-Funktion in den Maus-Einstellungen (Systemeinstellungen -> Maus) zu deaktivieren und unmittelbar danach gleich wieder zu aktivieren. Nun sollte der Nachlauf aktiv sein, auch wenn er in den Systemeinstellungen nicht direkt sicht- oder auswählbar ist. Zum Deaktivieren einfach folgendes Kommando im Terminal ausführen: defaults delete com.apple.driver.AppleBluetoothMultitouch.mouse MouseMomentumScroll b9346faca870a91bbb1a80c79b7977315ad8fd1f 764 763 2019-02-14T14:32:31Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Terminal]] Um den animierten Nachlauf beim Scrollen (Momentum Scrolling) mit der [http://www.apple.com/de/magicmouse/ Apple Magic Mouse], der unter Mac OS X Snow Leopard in den Maus-Einstellungen (de-)aktivierbar ist, auch unter Mac OS X Leopard (10.5) zu aktivieren, ist im [[:Category:Terminal|Terminal]] folgendes einzugeben: defaults write com.apple.driver.AppleBluetoothMultitouch.mouse MouseMomentumScroll -bool yes Anschließend ist die Scrolling-Funktion in den Maus-Einstellungen (Systemeinstellungen -> Maus) zu deaktivieren und unmittelbar danach gleich wieder zu aktivieren. Nun sollte der Nachlauf aktiv sein, auch wenn er in den Systemeinstellungen nicht direkt sicht- oder auswählbar ist. Zum Deaktivieren einfach folgendes Kommando im Terminal ausführen: defaults delete com.apple.driver.AppleBluetoothMultitouch.mouse MouseMomentumScroll 042e9b283fb367a03527beb26440165bfe820b89 SSD Reconditioning 0 166 794 793 2019-02-14T14:36:59Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] Nach einem längeren Zeitraum und dementsprechend vielen Schreibzugriffen neigen SSDs im Allgemeinen dazu, durch eine ungünstige Verteilung der belegten Speicherbereiche immer langsamer zu werden - insbesondere bei gleichzeitigen Zugriffen bei erhöhter CPU-Last. Dies zeigt sich dann beispielsweise in einem Geschwindigkeitstest mit dem kostenlosten (jedoch nicht Open Source) Programm [https://www.aja.com/de/products/aja-system-test AJA System Test]. Eine Abhilfe ist zwar rein technisch gesehen recht einfach, jedoch relativ zeitraubend und es wird ein weiterer Datenträger von mindestens der Größe der aufzufrischenden SSD benötigt. Im Wesentlichen wird dazu die SSD geleert - d.h. vollständig mit 0en "voll"-geschrieben und anschließend wieder mit den vorherigen Nutzdaten (Betriebssystem etc.) befüllt. Dazu sind die folgenden Schritten durchzuführen: # ein '''vollständiges Backup''' der gesamtem SSD, beispielsweise auf eine externe Festplatte (s.u.) # '''Löschen der Partitionen''' auf der SSD (via Festplattendienstprogram) # '''Wiederherstellen des Backups''' von der externen HDD auf der SSD Nun sollte der AJA System Test wieder deutlich höhere Werte ausgeben. Viele Anleitungen beschreiben auch das Löschen der gesamten SSD durch Überschreiben aller Speicherbereiche mit Nullen. Diese Funktion des Festplattendienstprogramms (über den Button "Freien Speicher löschen ...") ist für SSDs aus technischen Gründen nicht verfügbar (siehe [https://support.apple.com/en-us/HT201949 hier]). Alternativ kann das natürlich auch über ein Terminal-Kommando bewerkstelligt werden, wobei die Wirkung dessen wohl eher zweifelhaft zu sein scheint: dd if=/dev/zero of=/dev/<partition> bs=100k Die Datensicherung kann entweder über das OS X Festplattendienstprogramm oder (idealerweise) mit Programmen wie [http://www.bombich.com Carbon Copy Cloner] (kommerziell) oder [http://www.shirt-pocket.com/SuperDuper/ SuperDuper] (kostenlos mit eingeschränktem Funktionsumfang, hierfür jedoch ausreichend) durchgeführt werden; letztere beiden sind dabei deutlich komfortabler zu bedienen (im Vergleich zum OS X Bordwerkzeug) und bieten diverse Konfigurationsmöglichkeiten. '''''Anmerkung, etwas off-topic:''''' Die beiden genannten Programme ([[Benutzer:Hagbard|ich persönlich]] bevorzuge den CCC) bieten sich beispielsweise auch für laufende Hintergrundsicherungen der gesamten SSD an, so dass der Mac im Schadensfall einfach direkt von der externen Sicherung aus gestartet wird und man ohne Unterbruch und (hoffentlich Datenverluste) weiterarbeiten kann, da so immer ein vollständiges und lauffähiges System zur Verfügung steht. Für die Sicherung der allerwichtigsten und sich häufig ändernden Daten kann man dann immer noch zusätzlich Time Machine verwenden ... == Siehe auch== * arstechnica: [http://arstechnica.com/information-technology/2012/06/inside-the-ssd-revolution-how-solid-state-disks-really-work/ Solid-state revolution: in-depth on how SSDs really work] * Mac Performance Guide: [http://macperformanceguide.com/Storage-SSD-Reconditioning.html Reconditioning a solid state drive (SSD)] * Mac Performance Guide: [http://macperformanceguide.com/blog/2010/20100529_DiskTester--dlt-ssd.html Restoring solid state drive performance with DiskTester ‘recondition’] * Cnet: [http://www.cnet.com/news/maintaining-ssd-drives-in-os-x/ Maintaining SSD drives in OS X] 35687c557fdb52d89890d637afb9f4cb6e9fa53c Free unused disk cache 0 171 814 813 2019-02-14T14:37:45Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Terminal]][[Category:OS]] Gestarteten Applikationen zugewiesener Speicher wird in der Regel nicht sofort nach dem Beenden der jeweiligen Applikation wieder freigegeben, um einen erneuten Start zu beschleunigen. Falls die Applikation jedoch so schnell nicht wieder gestartet werden soll und (wie beispielsweise Bildbearbeitungen oder Virtualisierungsumgebungen wie Virtual Box) relativ viel Speicher benötigt, kann dieser auch manuell freigegeben werden. Zu diesem Zweck existieren im Mac App Store zwar verschiedene - teils kostenlose, teils kostenpflichtige - Apps, ein einfacher Aufruf im [[:Category:Terminal|Terminal]] genügt dafür jedoch ebenfalls: purge Durch dieses Kommando wird inaktiver (also derzeit nicht verwendeter) Speicher wieder freigegeben, üblicherweise eben durch Applikationen, die in letzter Zeit gestartet und bereits wieder beendet wurden. Ein vorher-nachher Vergleich ist über das Dienstprogramm "Aktivitätsanzeige" möglich. Der dort als "Inaktiv" bezeichnete Speicherbereich kann durch {{TT|purge}} in der Regel größtenteils freigegeben werden: * '''Reserviert (wired):''' Von Systemprozessen belegter Speicher (z.B. Kernel, Treiber usw.) * '''Aktiv:''' von aktuell gestarteten Programmen belegter Speicher * '''Inaktiv:''' für in der jüngeren Vergangenheit gestartete und bereits wieder beendete Programme reservierter Speicher * '''Benutzt:''' Die Summe dieser drei Werte {{Information|'''Hinweis:''' damit dieses Terminal-Kommando verfügbar ist, muss unter älteren OS X Versionen (bis incl. 10.6) das "BSD Subsystem" von OS X installiert sein. Dies ist Teil der OS X Systemdistribution und war bis Version 10.6 auf den Installationsmedien als extra Installationspaket enthalten. Seit OS X Lion ist es jedoch immer installiert.}} ==Siehe auch== * manpage zu {{Man|purge|purge}} * [http://support.apple.com/kb/HT1342?viewlocale=en_US&locale=en_US Using Activity Monitor to read System Memory and determine how much RAM is being used] (support.apple.com) * [http://blog.55minutes.com/2012/05/taming-the-lion-inactive-memory-problem/ Taming the Lion Inactive Memory Problem] (blog.55minutes.com) * [http://hints.macworld.com/article.php?story=20120410153721860 Automatically reclaim memory from leaky programs] (hints.macworld.com) ec2216ac8348042e27a91558092d25b6b780e0f8 SSH keep alive 0 167 799 798 2019-02-14T14:39:00Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Terminal]] Um im [[:Category:Terminal|Terminal]] SSH-Sessions automatische Verbindungsabbrüche (in der Regel durch Firewalls, Load Balancer o.Ä. verursacht) zu verhindern, genügt es, folgende Zeilen in die SSH-Konfiguration zu schreiben: == Client == <source> ServerAliveInterval 300 ServerAliveCountMax 3 </source> D.h. das bei ggf erst nach 3x300 Sekunden die Verbindung beendet wird. systemweite Konfiguration: /etc/ssh_config Benutzerspezifische Konfiguration: ~/.ssh/config == Server == <source> ClientAliveInterval 300 ClientAliveCountMax 3 </source> Anschließend muss der Server neu gestartet werden, entweder über die Systemeinstellungen oder mit Hilfe dieses Terminal-Kommandos: <source> launchctl stop org.openbsd.ssh-agent launchctl start org.openbsd.ssh-agent </source> eine Liste der laufenden Dienste ist über diese Anweisung erreichbar: <source> launchctl list </source> ==Siehe auch== * [http://drupal.star.bnl.gov/STAR/comp/sofi/facility-access/ssh-stable-con/ SSH connection stability] * Man pages: {{Man|ssh|ssh}}, {{Man|ssh_config|ssh_config}}, {{Man|sshd|sshd}}, {{Man|sshd_config|sshd_config}} 2fd1c471ebd95eb8b94d521d385b063f465d27ba Hdiutil 0 77 293 2019-02-14T15:24:46Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]]Mit dem Kommandozeilen-Tool hdiutil können Disk-Images erstellt, bearbeitet und verwendet werden. Für die grundlegenden Anwendungswzecke existiert als graphisches Frondend das Festplatten-Hilfsprogramm, für weitergehende und umfangreichere Operationen bietet sich der Weg über das Terminal an. In Mac OS X Versionen vor 10.3 existierte für die Erstellung Nutzung von DiskImages noch das Hilfsprogramm "DiskCopy.app", dessen Funktionen jedoch mit Version 10.3 auf das Festplatten-Dienstprogramm ([[diskutil|Disk Utility.app]]) und eine neue Hintergrundanwendung namens "DiskImageMounter.app" (zu finden unter /System/Library/CoreServices/") augfgeteilt wurden. Weitere Informationen gibt es auch in der entsprechenden {{Man|hdiutil|manpage von hdiutil}}. ==Syntax== Die grundlegende Syntax von hdiutil ist hdiutil <AKTION> [OPTIONEN] wobei eine Aktion z.B. das Erstellen eines neuen oder das Vergrößern eines existierenden Images sein kann. Mit verschiedenen Optionen lässt sich dabei die Funktionsweise beeinflussen ===Aktionen=== Im Folgenden eine Liste aller möglichen Aktionen mit den zugehörigen Minimalangaben. Weitere Optionen zu den jeweiligen Kommandos sind über die Aktion '''help''' zu erreichen und stehen {{Man|hdiutil|in der manpage}}. {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Aktion || width="400px" | Funktion |---- bgcolor="#FFFFFF" | '''help''' || Zeigt den Hilfetext von hdiutil an |---- bgcolor="#FFFFFF" | '''help''' AKTION -help || Zeigt den die zur angegebenen Aktion gültigen Optionen an |---- bgcolor="#FFFFFF" | '''attach''' image || Registriert das angegebene Image im System als Gerätedatei, z.B. "/dev/disk1" (Synonym: mount) |---- bgcolor="#FFFFFF" | '''detach''' devicename || Entfernt ein mit '''attach''' oder '''mount''' eingebundenes Disk Image (Synonym: eject) |---- bgcolor="#FFFFFF" | '''create''' groesse oder image|| Erstellt ein Image mit der gegebenen Größe oder aus einer angegebenen Imagedatei |---- bgcolor="#FFFFFF" | '''convert''' image -format -o zielimage || Wandelt das Format einer gegeben Imagedatei in ein anderes um und speichert diese in einer Zieldatei (siehe [[Dmg_Images_konvertieren|dmg Images konvertieren]]). |---- bgcolor="#FFFFFF" | '''makehybrid''' -o quellimage || Ermöglicht mit Hilfe des DiscRecording Frameworks die Erstellung eines hybriden Dateisystems (Mac/PC) als schreibgeschütztes Disk-Image. Die zu verwendenden Dateisysteme (iso und/oder hfs) können als Optionen angegeben werden. Angaben wie <nowiki>[yes|no]</nowiki> bedeuten dabei, dass ''entweder'' yes ''oder'' no angegeben werden kann. |---- bgcolor="#FFFFFF" | '''compact''' image || Entfernt nicht benutzte Bereiche aus einem sog. "SPARSE" Image (das sind Images, deren Größe sich dem Inhalt dynamisch anpasst. Sie wachsen also mit). |---- bgcolor="#FFFFFF" | '''info''' || Zeigt Informationen an über das DiskImages.framework, die verwendeten Treiber und alle aktuell eingebundenen (gemounteten) Images. |---- bgcolor="#FFFFFF" | '''load''' || Ermöglicht das manuelle Laden des Disk Image Treibers. Er wird benötigt, um Disk Images überhaupt benutzen zu können. Das erfolgt üblicherweise automatisch, seit 10.2 wird der Treiber auch wieder automatisch entladen, sobald das letzte eingebundene Image ausgeworfen wird. |---- bgcolor="#FFFFFF" | '''checksum''' image -type imagetyp|| Überprüft die Prüfsumme (checksum) eines Images, um eventuelle Fehler zu erkennen (erfolgt standardmäßig immer beim Einbinden von Imagedateien, die sich auf dem lokalen System befinden - also nicht auf Windows- oder AFS-Freigaben) |---- bgcolor="#FFFFFF" | '''unflatten''' image || (?) |---- bgcolor="#FFFFFF" | '''flatten''' image || (?) |---- bgcolor="#FFFFFF" | '''hfsanalyze''' || Gibt Informationen über ein vorhandenes HFS oder HFS+ Dateisystem einer Imagedatei aus. |---- bgcolor="#FFFFFF" | '''imageinfo''' || gibt verschiedenste Informationen über ein Disk Image aus |---- bgcolor="#FFFFFF" | '''mount''' || siehe '''attach''' |---- bgcolor="#FFFFFF" | '''mountvol''' devicename || Bindet ein Dateisystem (z.B. /dev/disk1) als Disk-Image ein, ähnlich dem Befehl "[[diskutil]] mount". |---- bgcolor="#FFFFFF" | '''unmount''' volume || entlädt ein mit '''mountvol''' eingebundenes Dateisystem. |---- bgcolor="#FFFFFF" | '''plugins''' || Gibt Informationen über die verschiedenen PlugIns des DiskImage Frameworks aus, über die selbiges funktionell erweitert werden kann. |---- bgcolor="#FFFFFF" | '''internet-enable''' [-yes|-no|-query] image || (De)Aktivierung des Postprocessing eines Images, z.B. nach dem Herunterladen aus dem Internet. Beim ersten Aktivieren des Images wird dadurch der Inhalt des Images in einen gleichnamigen Ordner im selben Verzeichnis kopiert und die Imagedatei wandert in den Papierkorb. |---- bgcolor="#FFFFFF" | '''resize''' groesse image|| Ermöglicht es, die Größe eines Images zu verändern, um sie beispielsweise anschließend mit "[[hdiutil]] burn" auf CD oder DVD schreiben zu können. |---- bgcolor="#FFFFFF" | '''segment''' || Teilt ein Disk Image in mehrere Teile auf, um beispielsweise große Imagedateien zum Download bereitzustellen. |---- bgcolor="#FFFFFF" | '''pmap''' quellimage || Zeigt die Partitionstabelle eines Disk Images an |---- bgcolor="#FFFFFF" | '''burn''' image || Disk Images mit Hilfe des DiscRecording Frameworks auf CD/DVD brennen |} Das Ausgabeformat vieler Aktionen lässt sich mit Hilfe folgender Parameter entsprechend verändern, beispielsweise werden bei folgendem Kommando die Informationen als XML-Plist ausgegeben, was besonders für Mac-/iOS-Entwickler [[Informationen über ein Disk Image auslesen|sehr praktisch]] ist: hdiutil imageinfo ./MyDiskImage.dmg -plist ===Optionen=== Eine vollständige Liste aller möglichen Optionen würden den Rahmen des Artikels hier sprengen, deswegen sei an dieser Stelle auf die {{Man|hdiutil|manpage von hdiutil}} verwiesen. ==Beispiele== ===erstellen=== ====.dmg Image (HFS+)==== [[hdiutil]] create -volname MeinBackup -srcfolder ./meineWichtigenDaten/ ./backup.dmg Falls im Volumenamen Leerzeichen vorkommen, muss der Name in doppelte Hochkommata (") eingeschlossen werden. ====ISO-Image==== [[hdiutil]] create -format UDTO -srcfolder ./meineWichtigenDaten/ ./backup.dmg ====für Windows lesbares Image==== Dazu wird erst - wie oben beschrieben - ein ganz normales .dmg Image erstellt, das anschließend konvertiert wird: [[hdiutil]] makehybrid -iso -joliet -o ~/Desktop/file.iso ~/Desktop/file.dmg [[hdiutil]] makehybrid -iso -joliet -o ~/Desktop/file.iso /Volumes/Disc mit den folgenden Optionen können noch Volume-Namen festgelegt werden: -joliet-volume-name MeineDaten -iso-volume-name MeineDaten ====Video-DVD-Image aus {{TT|VIDEO_TS}}-Verzeichnis erzeugen==== Um aus einem {{TT|VIDEO_TS}} Verzeichnis ein .ISO Image für das Brennen auf eine DVD zu erstellen, ist folgendes zu tun: # {{TT|VIDEO_TS}} Verzeichnis in ein Unterverzeichnis (z.B. {{TT|MY_DVD}}) verschieben # im [[:Category:Terminal|Terminal]] in dieses Verzeichnis wechseln und folgendes Kommando eingeben: [[hdiutil]] makehybrid -udf -udf-volume-name "<DVD-NAME>" -o <FILENAME>.iso ./ {{TT|<DVD_NAME>}} und {{TT|<FILENAME>}} sind entsprechend zu ersetzen ====Allgemein==== [[hdiutil]] create -type <UDIF|SPARSE> -fs <HFS+|HFS+J|HFSX|HFS|MS-DOS|UFS> -format <UDZO|UDRO|UDRW|UDTO|UDSP|...> -srcfolder<quelle> -volname <name> <image> ====Hybrid-Image==== [[hdiutil]] makehybrid ... ===bearbeiten=== *resize *flatten/unflatten *segment *compact (für sparse images) *chpass ===überprüfen=== *verify *imageinfo *hfsanalyze *checksum *info *pmap ===Freien Speicher freigeben=== Um bei mitwachsenden Images (sog. "Sparse Images", Dateiendung ".sparseimage") freien Speicher wieder freizugeben und somit deren Größe zu reduzieren, ist im Terminal folgende Anweisung zu verwenden: hdiutil compact image.sparsebundle Wenn {{TT|hdiutil}} die Anweisung mit der Meldung "... ist zeitweilig nicht verfügbar" quittiert, ist das Image höchstwahrscheinlich gerade gemountet. ===Disk Images konvertieren=== Mit Hilfe von hdiutil lassen sich Disk Images auch konvertieren, um sie beispielsweise auf einem PC weiterverwenden zu können, hier im Beispiel wird ein .ISO Image in ein .img Image konvertiert (z.B. zum Wiederherstellen auf einen USB-Stick): hdiutil convert -format UDRW -o ziel.img quelle.iso Mehr Informationen dazu gibt es im Artikel "[[Dmg_Images_konvertieren|dmg Images konvertieren]]". ===Disk Images brennnen=== Disk Images lassen sich ganz einfach mit dem folgenden Befehl brennen: '''hdiutil''' burn DiskImage.dmg ====Optionen==== Die wichtigsten Optionen sind dabei: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Option || width="400px" | Funktion |---- bgcolor="#FFFFFF" | '''-speed''' || Angabe der Brenngeschwindigkeit, z.B. 4, 16 oder max |---- bgcolor="#FFFFFF" | '''-device''' || Angabe einer Gerätedatei über den OpenFirmware Pfad, z.B. hd1: oder dvd: |---- bgcolor="#FFFFFF" | '''-list''' || Listet alle im System verfügbaren Brenner auf (für die Verwendung von -device) |---- bgcolor="#FFFFFF" | '''-testburn''' || Nur eine Simulation durchführen |---- bgcolor="#FFFFFF" | '''-sizequery''' || Nur den auf der CD/DVD benötigten Platz berechnen (kann durch ein anderes Dateisystem vom Platzbedarf auf der Festplatte variieren) |---- bgcolor="#FFFFFF" | '''-noeject''' || CD/DVD nach dem Brennen nicht auswerfen |---- bgcolor="#FFFFFF" | '''-noverifyburn''' || Medium nach dem Brennen nicht überprüfen |---- bgcolor="#FFFFFF" | '''-forceclose''' || Medium nach dem Brennen abschließen |---- bgcolor="#FFFFFF" | '''-optimizeimage''' || Disk Image für das brennen auf CD/DVD optimieren (bzw. für Zugriffe auf CD/DVD) |---- bgcolor="#FFFFFF" | '''-nounderrun''' || Buffer Underrun Schutz ausschalten |} Mehr Optionen erhält man durch die Eingabe von '''hdiutil''' burn -help ====DVD/CD-RW löschen==== Wiederbeschreibbare Rohlinge lassen sich mit dem hdiutil auch wahlweise schnell oder volständig löschen, und zwar mit Hilfe von '''hdiutil''' burn -erase oder '''hdiutil''' burn -fullerase ===Images verwenden=== * aktivieren (attach / mountvol) * Deaktivieren (detach / unmount) ==Hinweise== ===Gerätenamen von CD-/DVD-Laufwerken=== Die Gerätenamen ({{TT|/dev/xyz}}) von diesen Laufwerken werden dynamisch erzeugt, und zwar in der Reihenfolge, in der sie beim Systemstart eingebunden werden. Im Normalfall ist also das (erste) interne CD-/DVD-Laufwerk ... /dev/rdisk0 und alle folgenden CD-/DVD-/BD-/Floppy-Laufwerke ... /dev/rdisk1 /dev/rdisk2 ... /dev/rdiskN ==Weitere Informationen== Früher (bis Mac OS 10.2) erfolgte der Zugriff auf HDI Disk Images über die beiden Tools {{Man|hdid|hdid}} und {{Man|disktool|disktool}}, die mittlerweile jedoch nur noch aus Kompatibilitätsgründen verwendet werden. Anstatt dessen wird nun von hdid nur noch das entsprechende Framework aufgerufen, für die übrigen Funktionen und den Zugriff durch den Benutzer ist das Programm hdiutil zu verwenden. Manpages: * {{Man|hdiutil|hdiutil}} * {{Man|hdid|hdid}} (benutzt seit Mac OS X 10.3 das DiskImages.framework) * {{Man|disktool|disktool}} weitere Manpages: * {{Man|hdiutil|hdiutil}} für die Nutzung von .dmg Images * {{Man|drutil|drutil}} für die Verwendung von CD/DVD Brennern (verwendet das DiscRecording framework) Kurztipps: * [[Kurztipp - DVD ISO aus VIDEO TS|DVD ISO aus VIDEO_TS erzeugen]] * [[Dmg_Images_konvertieren|dmg Images konvertieren]] Sonstiges: * [http://dmgcreator.sourceforge.net dmgCreator] - Open Source Programm zum Erzeugen von Disk Images, incl. Hintergrundbild, Lizenztexten uvm. * Ubuntu: [http://www.ubuntu.com/download/help/create-a-usb-stick-on-mac-osx How to create a bootable USB stick on OS X] c210e1b853354689fdb8a311bdc69c94ff177974 Template:ContentboxWithIconAndTitle 10 91 1081 1080 2019-02-14T18:50:01Z Hagbard 2 Hagbard moved page [[Vorlage:ContentboxWithIconAndTitle]] to [[Template:ContentboxWithIconAndTitle]] wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage für eine Inhaltsbox mit Titel und Titelicon. '''Hinweis:''' Das Symbol wird immer auf 32 Pixel Breite herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIconText"> <td id="topleftIcon">&nbsp;</td> <td id="topIconText">[[Bild:{{{icon}}}|32px]]</td> <td id="topIconTitleText">{{{title}}}</td> <td id="topIconText"></td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td colspan="3" id="content"> {{{content}}} </td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td colspan="3" id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> fc455acb9edf17e38903879f7b00870305a4ac86 1082 1081 2019-02-14T18:50:13Z Hagbard 2 wikitext text/x-wiki <noinclude>Vorlage für eine Inhaltsbox mit Titel und Titelicon. '''Hinweis:''' Das Symbol wird immer auf 32 Pixel Breite herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIconText"> <td id="topleftIcon">&nbsp;</td> <td id="topIconText">[[Bild:{{{icon}}}|32px]]</td> <td id="topIconTitleText">{{{title}}}</td> <td id="topIconText"></td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td colspan="3" id="content"> {{{content}}} </td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td colspan="3" id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> 9c28a7c69505c5bb8ac65d311b669aee9dbad6f0 321 2019-02-15T09:56:20Z Hagbard 2 wikitext text/x-wiki <noinclude>Vorlage für eine Inhaltsbox mit Titel und Titelicon. '''Hinweis:''' Das Symbol wird immer auf 32 Pixel Breite herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIconText"> <td id="topleftIcon">&nbsp;</td> <td id="topIconText">[[Image:{{{icon}}}|32px]]</td> <td id="topIconTitleText">{{{title}}}</td> <td id="topIconText"></td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td colspan="3" id="content"> {{{content}}} </td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td colspan="3" id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> d16caa003bd1a92ca7b6a87f20a268f0dd5ef26b Hidden Features/Dock 0 331 1650 2019-02-15T08:57:13Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:OS]] Im Folgenden eine kleine Übersicht verschiedener versteckter Funktionen für das OS X Dock: ==Undokumentierte Funktionen== {| |-- ! Optionsname || Datentyp || Beschreibung |-- | {{TT|contents-immutable}} || boolean || Docksymbole können nicht mehr verändert werden |-- | style="min-width:200px;" | {{TT|double-tap-jump-back}} || boolean || [[Schnellen Wechsel zum zuletzt verwendeten Space aktivieren]] |-- | {{TT|mouse-over-hilite-stack}} || boolean || Fächerdarstellung mit einem mouse-over-Effekt versehen |-- | {{TT|no-glass}} || boolean || immer ein zweidimensionales Dock anzeigen (ohne Spiegelungseffekte) |-- | {{TT|pinning}} || string || Dock rechts- oder linksbündig anzeigen.<br />Gültige Werte: {{TT|start}} (linksbündig) oder {{TT|end}} (rechtsbündig)<br />Beispiel: {{TT|defaults write com.apple.dock pinning -string start}} |-- | {{TT|position-immutable}} || boolean || Positionsänderungen des (gesamten) Dock verhindern |-- | {{TT|showhidden}} || boolean || ausgeblendete Programme im Dock transparent darstellen |-- | {{TT|showshadow}} || boolean || Schlagschatten unter OS X 10.9 deaktivieren |-- | {{TT|single-app}} || boolean || "Single-App" Modus aktivieren (es wird immer nur das jeweils aktive Programm angezeigt) |-- | {{TT|static-only}} || boolean || Nur laufende Programme im Dock anzeigen |} ==Leerstellen in Dock einfügen== Um etwas mehr Ordnung ins Dock zu bekommen, kann man mit Hilfe folgender Anweisung einzelne Leerstellen in Dock einfügen, die sich dann anschließend wie "normale" Docksymbole verschieben und auch wieder daraus entfernen lassen: <source> defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}' </source> Wirksam wird diese Änderung erst nach einem Neustart des Dock oder einer erneuten Anmeldung: <source> killall Dock </source> ==Hinweise== Nach dem Durchführen einer Änderung ist jeweils folgende Anweisung im Terminal auszuführen, um diese wirksam werden zu lassen: killall Dock Boole'sche Werte werden dabei wie folgt aktiviert: defaults write com.apple.dock <optionsname> -bool TRUE bzw. zum Deaktivieren einer Funktion entsprechend defaults write com.apple.dock <optionsname> -bool FALSE Stringwerte sind der untenstehenden Tabelle zu entnehmen und wie folgt einzugeben: defaults write com.apple.dock <optionsname> -string <wert_aus_der_tabelle> Mit folgender Anweisung (der entsprechende Optionsname ist hier einzusetzen) wird eine zuvor aktivierte Funktion wieder deaktiviert bzw. in den Ursprungszustand (system default) zurückversetzt: defaults delete com.apple.dock <optionsname> 5f65e561c78fdded592273ef76332385d2366c1a Template:Info 10 18 1113 1112 2019-02-15T09:33:07Z Hagbard 2 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Einblendung eines einfachen Bausteins mit einem frei definierbaren Text für weitere Informationen zu einem gerade behandelten Thema. Weitere Bausteinvorlagen sind in der Kategorie [[:Kategorie:Elementvorlage|Elementvorlage]] zu finden. ;Beispiel: <nowiki>{{Information|Text}}</nowiki> ;Ausgabe: {{Information|Text}} </noinclude><includeonly> {{InfoboxWithIcon|icon=Info_Sign.svg|width=100%|content={{{1}}}}}</includeonly> d1a5d8dff3d7049cbcb4e18675a83f52b1e9ab73 1114 1113 2019-02-15T09:39:38Z Hagbard 2 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Einblendung eines einfachen Bausteins mit einem frei definierbaren Text für weitere Informationen zu einem gerade behandelten Thema. Weitere Bausteinvorlagen sind in der Kategorie [[:Kategorie:Elementvorlage|Elementvorlage]] zu finden. ;Beispiel: <nowiki>{{Information|Text}}</nowiki> ;Ausgabe: {{Information|Text}} </noinclude><includeonly> {{InfoboxWithIcon|icon=Info sign font awesome.svg|width=100%|content={{{1}}}}}</includeonly> 0f30ea8243474682082e271ec9cea496de99f9d4 1115 1114 2019-02-15T09:40:36Z Hagbard 2 wikitext text/x-wiki <noinclude>[[Kategorie:Elementvorlage]]Vorlage zur Einblendung eines einfachen Bausteins mit einem frei definierbaren Text für weitere Informationen zu einem gerade behandelten Thema. Weitere Bausteinvorlagen sind in der Kategorie [[:Kategorie:Elementvorlage|Elementvorlage]] zu finden. ;Beispiel: <nowiki>{{Information|Text}}</nowiki> ;Ausgabe: {{Information|Text}} </noinclude><includeonly> {{InfoboxWithIcon|icon=Logo informations.svg|width=100%|content={{{1}}}}}</includeonly> 40822fb198a793ca0f38ba99affd2ac01ac182ad 1116 1115 2019-02-15T09:40:54Z Hagbard 2 wikitext text/x-wiki <noinclude>Vorlage zur Einblendung eines einfachen Bausteins mit einem frei definierbaren Text für weitere Informationen zu einem gerade behandelten Thema. ;Beispiel: <nowiki>{{Information|Text}}</nowiki> ;Ausgabe: {{Information|Text}} </noinclude><includeonly> {{InfoboxWithIcon|icon=Logo informations.svg|width=100%|content={{{1}}}}}</includeonly> 84362ec794f2dc4b243d74e8d84b278fd9a53036 Template:MARK 10 95 329 2019-02-15T09:38:17Z Hagbard 2 wikitext text/x-wiki <noinclude> ;Verwendung: <nowiki>{{MARK}}</nowiki> ;Vorschau: {{MARK}} </noinclude><includeonly>[[Image:Gefahrenzeichen_16.svg|16px]]</includeonly> f85d67946eafd2c9adc6f5be5ebff7cf9b75bf18 Template:InfoboxWithIconAndTitle 10 93 1095 1094 2019-02-15T09:54:59Z Hagbard 2 Hagbard moved page [[Vorlage:InfoboxWithIconAndTitle]] to [[Template:InfoboxWithIconAndTitle]] without leaving a redirect wikitext text/x-wiki <noinclude>[[Kategorie:Interne_Vorlage]]Diese Vorlage dient der Erzeugung verschiedener [[:Kategorie:Artikelbaustein|Artikelbausteine]], wie z.B. zur Kennzeichnung * ausbaufähiger Artikel * unvollständiger Artikel * unverständlicher Artikel * Löschkandidaten usw. Die Vorlage sollte '''nicht direkt verwendet werden''' sondern nur innerhalb der obigen [[:Kategorie:Artikelbaustein|Artikelbausteine]] zum Einsatz kommen. Für die Verwendung der Vorlage ohne Icon ist die Vorlage [[Vorlage:Infobox|Infobox]] zu verwenden. </noinclude><includeonly>{{ContentboxWithIconAndTitle|title={{{title}}}|icon={{{icon}}}|width={{{width}}}|content= {{{content}}}}}</includeonly> 2f7bddcf0c1800c72e1b3317af62c13c7b9d1857 325 2019-02-15T09:55:26Z Hagbard 2 wikitext text/x-wiki <noinclude>Diese Vorlage dient der Erzeugung verschiedener Artikelbausteine, wie z.B. zur Kennzeichnung * ausbaufähiger Artikel * unvollständiger Artikel * unverständlicher Artikel * Löschkandidaten usw. Die Vorlage sollte '''nicht direkt verwendet werden''' sondern nur innerhalb der obigen Artikelbausteine zum Einsatz kommen. Für die Verwendung der Vorlage ohne Icon ist die Vorlage [[Vorlage:Infobox|Infobox]] zu verwenden. </noinclude><includeonly>{{ContentboxWithIconAndTitle|title={{{title}}}|icon={{{icon}}}|width={{{width}}}|content= {{{content}}}}}</includeonly> 74fbe7b7986226416727181a96b9af5fbd276c74 Template:Hint 10 92 323 2019-02-15T10:01:02Z Hagbard 2 wikitext text/x-wiki <noinclude>Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für hilfreiche Tipps & Tricks zu einem gerade behandelten Thema. ;Beispiel: <nowiki>{{Hint|Text}}</nowiki> ;Ausgabe: {{Hint|Text}} </noinclude><includeonly> {{InfoboxWithIconAndTitle|title=Tipp|icon=Light bulb icon tips.svg|width=100%|content={{{1}}}}}</includeonly> 304de9b4a3cc803efae581960d232758a029b6de Move windows across Spaces 0 153 732 731 2019-02-15T10:06:44Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Hint]] Um unter Mac OS X 10.5 (Leopard) ein Fenster auf einen anderen Desktop von Spaces zu verschieben, ohne umständlich die Fenster mit der Maus herumdraggen zu müssen, genügt folgendes: * Fenster in der Titelleiste anklicken und Maustaste gedrückt halten (als ob man es verschieben will) * Desktop wechseln (standardmäßig <KB>CTRL</KB> + Desktopnummer Auf dem gewünschten Desktop die Maustaste wieder loslassen Alternativ kann man auch über die Spaces-Übersicht (standardmäßig über <KB>F8</KB> erreichbar) die Fenster zwischen verschiedenen Spaces hin- und herverschieben. {{Tipp|Auf diese Weise lassen sich auch andere Drag'n'Drop Operationen durchführen, beispielsweise das Einfügen einer Grafikdatei aus einem Finder-Fenster von Desktop 1 in eine E-Mail auf Desktop 3.}} Unter Mac OS X 10.6 (Snow Leopard) lassen sich die Fenster auch direkt in der Spaces-Übersicht verschieben. 52c98e7bda4c9d711260080987d8c4f20e9514b6 733 732 2019-02-15T10:07:43Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Hint]] Um unter Mac OS X 10.5 (Leopard) ein Fenster auf einen anderen Desktop von Spaces zu verschieben, ohne umständlich die Fenster mit der Maus herumdraggen zu müssen, genügt folgendes: * Fenster in der Titelleiste anklicken und Maustaste gedrückt halten (als ob man es verschieben will) * Desktop wechseln (standardmäßig <KB>CTRL</KB> + Desktopnummer Auf dem gewünschten Desktop die Maustaste wieder loslassen Alternativ kann man auch über die Spaces-Übersicht (standardmäßig über <KB>F8</KB> erreichbar) die Fenster zwischen verschiedenen Spaces hin- und herverschieben. {{Hint|Auf diese Weise lassen sich auch andere Drag'n'Drop Operationen durchführen, beispielsweise das Einfügen einer Grafikdatei aus einem Finder-Fenster von Desktop 1 in eine E-Mail auf Desktop 3.}} Unter Mac OS X 10.6 (Snow Leopard) lassen sich die Fenster auch direkt in der Spaces-Übersicht verschieben. e05209271a982a624d7b5accf129728f88e79c19 734 733 2019-02-15T10:07:57Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Hint]] Um unter Mac OS X 10.5 (Leopard) ein Fenster auf einen anderen Desktop von Spaces zu verschieben, ohne umständlich die Fenster mit der Maus herumdraggen zu müssen, genügt folgendes: * Fenster in der Titelleiste anklicken und Maustaste gedrückt halten (als ob man es verschieben will) * Desktop wechseln (standardmäßig <KB>CTRL</KB> + Desktopnummer Auf dem gewünschten Desktop die Maustaste wieder loslassen Alternativ kann man auch über die Spaces-Übersicht (standardmäßig über <KB>F8</KB> erreichbar) die Fenster zwischen verschiedenen Spaces hin- und herverschieben. {{Hint|Auf diese Weise lassen sich auch andere Drag'n'Drop Operationen durchführen, beispielsweise das Einfügen einer Grafikdatei aus einem Finder-Fenster von Desktop 1 in eine E-Mail auf Desktop 3.}} Unter Mac OS X 10.6 (Snow Leopard) lassen sich die Fenster auch direkt in der Spaces-Übersicht verschieben. f867c886cd2f010f585345da997241c693acd0db Show Numbered Chapters in a TeX TOC 0 173 822 821 2019-02-15T10:13:27Z Hagbard 2 wikitext text/x-wiki [[Category:TeX]][[Kategorie:Kurztipp]] ==Verzeichnisse mit Kapitelnummern versehen== Standardmäßig werden im Dokumententyp ''book'' Verzeichnisse ohne Kapitelnummern dargestellt und tauchen nicht im Inhaltsverzeichnis auf. Das entspricht dem Effekt, den man durch die Verwendung von <source lang="latex"> \chapter*{} </source> anstatt von <source lang="latex"> \chapter{} </source> erreicht. Das kann aber durch Überladen einiger Anweisungen aus der Datei '''book.cls''' geändert werden, wobei der Code im Kopf des TeX-Dokumentes (also vor <font face="courier">\begin{document}</font>) zwischen den Tags <source lang="latex"> \makeatletter ... \makeatother </source> stehen sollte. Das sieht dann etwa so aus: ===Abbildungsverzeichnis=== <source lang="latex"> \renewcommand\listoffigures{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi %\chapter*{\listfigurename}% \chapter{\listfigurename}% \@mkboth{\MakeUppercase\listfigurename}% {\MakeUppercase\listfigurename}% \@starttoc{lof}% \if@restonecol\twocolumn\fi } </source> ===Tabellenverzeichnis=== <source lang="latex"> \renewcommand\listoftables{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi %\chapter{\listtablename}% \chapter{\listtablename}% \@mkboth{% \MakeUppercase\listtablename}% {\MakeUppercase\listtablename}% \@starttoc{lot}% \if@restonecol\twocolumn\fi } </source> ===Literaturverzeichnis=== <source lang="latex"> \renewenvironment{thebibliography}[1] %{\chapter*{\bibname}% {\chapter{\bibname}% \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% \list{\@biblabel{\@arabic\c@enumiv}}% {\settowidth\labelwidth{\@biblabel{#1}}% \leftmargin\labelwidth \advance\leftmargin\labelsep \@openbib@code \usecounter{enumiv}% \let\p@enumiv\@empty \renewcommand\theenumiv{\@arabic\c@enumiv}}% \sloppy \clubpenalty4000 \@clubpenalty \clubpenalty \widowpenalty4000% \sfcode`\.\@m} {\def\@noitemerr {\@latex@warning{Empty `thebibliography' environment}}% \endlist} </source> d87a0b427ed12ffaaf3dd9ddefe1250cc3ed4586 823 822 2019-02-15T10:25:35Z Hagbard 2 wikitext text/x-wiki [[Category:TeX]][[Category:Hint]] ==Verzeichnisse mit Kapitelnummern versehen== Standardmäßig werden im Dokumententyp ''book'' Verzeichnisse ohne Kapitelnummern dargestellt und tauchen nicht im Inhaltsverzeichnis auf. Das entspricht dem Effekt, den man durch die Verwendung von <source lang="latex"> \chapter*{} </source> anstatt von <source lang="latex"> \chapter{} </source> erreicht. Das kann aber durch Überladen einiger Anweisungen aus der Datei '''book.cls''' geändert werden, wobei der Code im Kopf des TeX-Dokumentes (also vor <font face="courier">\begin{document}</font>) zwischen den Tags <source lang="latex"> \makeatletter ... \makeatother </source> stehen sollte. Das sieht dann etwa so aus: ===Abbildungsverzeichnis=== <source lang="latex"> \renewcommand\listoffigures{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi %\chapter*{\listfigurename}% \chapter{\listfigurename}% \@mkboth{\MakeUppercase\listfigurename}% {\MakeUppercase\listfigurename}% \@starttoc{lof}% \if@restonecol\twocolumn\fi } </source> ===Tabellenverzeichnis=== <source lang="latex"> \renewcommand\listoftables{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi %\chapter{\listtablename}% \chapter{\listtablename}% \@mkboth{% \MakeUppercase\listtablename}% {\MakeUppercase\listtablename}% \@starttoc{lot}% \if@restonecol\twocolumn\fi } </source> ===Literaturverzeichnis=== <source lang="latex"> \renewenvironment{thebibliography}[1] %{\chapter*{\bibname}% {\chapter{\bibname}% \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% \list{\@biblabel{\@arabic\c@enumiv}}% {\settowidth\labelwidth{\@biblabel{#1}}% \leftmargin\labelwidth \advance\leftmargin\labelsep \@openbib@code \usecounter{enumiv}% \let\p@enumiv\@empty \renewcommand\theenumiv{\@arabic\c@enumiv}}% \sloppy \clubpenalty4000 \@clubpenalty \clubpenalty \widowpenalty4000% \sfcode`\.\@m} {\def\@noitemerr {\@latex@warning{Empty `thebibliography' environment}}% \endlist} </source> df0e6d617cf56b42b99d6d4222271a03c1029525 Disable Firefox History Navigation when swiping horizontally 0 155 744 743 2019-02-15T10:13:35Z Hagbard 2 wikitext text/x-wiki [[Kategorie:Internet]][[Kategorie:Kurztipp]] ==Horizontales History-Scrolling im Firefox== Im Firefox existieren ein paar Variablen, mit denen das Verhalten des Mausrades bestimmt werden kann. Dazu wird zwischen horizontalem und vertilkalem Scrolling unterschieden. ===Problem=== Insbesondere in Verbindung mit [[Maus am Mac|iScroll]] kann die horizontale Version dabei äußerst lästig sein, da bei nicht exakt vertikalen Bewegungen auf dem Touchpad der Firefox munter in der History herumspringt. ===Abhilfe=== Um die Funktion umzubelegen bzw. zu deaktivieren, kann man den Wert einer Konfigurationsvariablen auf der Konfigurationsseite about:config ändern (einfach genau so in die Adresszeile eingeben). Dazu muss der Variablen mousewheel.horizscroll.withnokey.action ein anderer Wert zugewiesen werden, standardmäßig ist dies mousewheel.horizscroll.withnokey.action = 2 Ein wert von 0 schafft beispielsweise Abhilfe. Dass der Wert der Variablen verändert wurde, ist am Status erkennbar - da steht nun "Vom Benutzer festgelegt" (oder das lokalisierte Pendant). Zu beachten ist, dass der Wert ein '''[[Wikipedia:de:Integer_(Datentyp)|integer]]''' sein muss, die Variable also nur ganzzahlige Werte aufnehmen kann. == Siehe auch == * [[Versteckte Firefox-Einstellungen]] c22a5690d9eb6fd2470ca687559b0b8b1931507e Adding Watermarks with LaTeX 0 174 827 826 2019-02-15T10:14:11Z Hagbard 2 wikitext text/x-wiki [[Category:TeX]][[Kategorie:Kurztipp]] ==Wasserzeichen in TeX-Dokumenten== Mit den folgenden Zeilen Code und einer Grafik lassen sich einfach TeX-Dokumente mit Wasserzeichen hinterlegen, z.B.: "Muster", "Draft" oder ähnliches. Dazu werden zuerst die folgenden Pakete benötigt: \usepackage{eso-pic,graphicx} Anschließend wird innerhalb der Tags \makeatletter ... \makeatother das Element \BackgroundPicture überladen: \newcommand\BackgroundPicture[3]{% \setlength{\unitlength}{1pt}% \put(0,\strip@pt\paperheight){% \parbox[t][\paperheight]{\paperwidth}{% \vfill \centering\includegraphics[<font color="orange">width=21.4cm</font>,<font color="orange">angle=45</font>]{<font color="orange">img/draft</font>} \vfill } } } und das Hintergrundbild vor dem einleitenden Tag \begin{document} eingefügt: \AddToShipoutPicture{\BackgroundPicture} '''Anm.:''' die <font color="orange">hervorgehobenen</font> Bereiche müssen ggf. an die eigene Grafik angepasst werden, im obigen Beispiel handelt es sich um ein DinA4 Format '''width:''' Breite<br /> '''height:''' Höhe<br /> '''angle:''' Drehungswinkel Beispielgrafik: ''DRAFT'' als [[media:tex-watermark-draft.pdf.zip|PDF]] oder [[media:tex-watermark-draft.ps.zip|PostScript]] 6a6d1c3daafa21c3a8be33427a38997df9697420 828 827 2019-02-15T10:25:54Z Hagbard 2 wikitext text/x-wiki [[Category:TeX]][[Category:Hint]] ==Wasserzeichen in TeX-Dokumenten== Mit den folgenden Zeilen Code und einer Grafik lassen sich einfach TeX-Dokumente mit Wasserzeichen hinterlegen, z.B.: "Muster", "Draft" oder ähnliches. Dazu werden zuerst die folgenden Pakete benötigt: \usepackage{eso-pic,graphicx} Anschließend wird innerhalb der Tags \makeatletter ... \makeatother das Element \BackgroundPicture überladen: \newcommand\BackgroundPicture[3]{% \setlength{\unitlength}{1pt}% \put(0,\strip@pt\paperheight){% \parbox[t][\paperheight]{\paperwidth}{% \vfill \centering\includegraphics[<font color="orange">width=21.4cm</font>,<font color="orange">angle=45</font>]{<font color="orange">img/draft</font>} \vfill } } } und das Hintergrundbild vor dem einleitenden Tag \begin{document} eingefügt: \AddToShipoutPicture{\BackgroundPicture} '''Anm.:''' die <font color="orange">hervorgehobenen</font> Bereiche müssen ggf. an die eigene Grafik angepasst werden, im obigen Beispiel handelt es sich um ein DinA4 Format '''width:''' Breite<br /> '''height:''' Höhe<br /> '''angle:''' Drehungswinkel Beispielgrafik: ''DRAFT'' als [[media:tex-watermark-draft.pdf.zip|PDF]] oder [[media:tex-watermark-draft.ps.zip|PostScript]] e2a63c146b6de20d027dcce1427d75cb2b74dbe8 Create Screen Shots in image formats other than PNG 0 152 727 726 2019-02-15T10:26:06Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Hint]] ==Ausgabeformat von Screenshots ändern== Mit den Tastenkombinationen :<KB>apfel + shift + 3</KB> :<KB>apfel + shift + 4</KB> lassen sich unter MacOS Screenshots erstellen. Diese landen seit MacOS 10.4 (aka Tiger) als PNG-Grafik auf der Platte (früher: PDF). Das Dateiformat lässt sich jedoch mit der folgenden Änderung ändern bzw. wieder auf PDF zurückstellen. Anmerkung: :<KB>ctrl + apfel + shift + 3</KB> :<KB>ctrl + apfel + shift + 4</KB> kopiert das Bild in die '''Zwischenablage''' ===Vorgehensweise im Terminal=== Im Terminal die folgende Zeile eingeben und mit <KB>return</KB> bestätigen: defaults write com.apple.screencapture type <nowiki><dateityp></nowiki> wobei <nowiki><dateityp></nowiki> durch das gewünschte Format zu ersetzen ist (z.B. PDF). Anschließend muss man sich neu anmelden, um die Änderungen wirksam werden zu lassen oder den folgenden Befehl im Terminal eingeben: killall SystemUIServer Prinzipiell lässt sich dort jedes von Quicktime unterstützte Bildformat angeben. ===fertige Tools=== Die Umstellung kann auch mit Hilfe eines graphischen Tools vonstatten gehen, z.b. mit * [http://www.imovieplugins.com/other%20products/savescreenie.html savescreenie] * [[mu:SCIT|SCIT]] * [[mu:shotChoice|shotChoice]] * [[mu:TinkerTool|TinkerTool]] ===Unterstützte Bildformate=== * [http://de.wikipedia.org/wiki/Windows_bitmap BMP] (Windows Bitmap) * [http://de.wikipedia.org/wiki/GIF GIF] (Graphics Interchange Format) * [http://de.wikipedia.org/wiki/JPG JPEG] (Joint Photographic Experts Group) * [http://de.wikipedia.org/wiki/JPG JPEG-2000] * [http://de.wikipedia.org/wiki/PDF PDF] <sup>*)</sup> (Portable Document Format) * [http://en.wikipedia.org/wiki/PICT PICT] * [http://de.wikipedia.org/wiki/Portable_Network_Graphics PNG] <sup>*)</sup> (Portable Network Graphics) * PSD (Adobe Photoshop) * SGI * [http://de.wikipedia.org/wiki/Targa_Image_File TGA] (Targa Image File, von Truevision Inc.) * [http://de.wikipedia.org/wiki/TIFF TIFF] (Tagged Image File Format) <sup>*)</sup> getestet (nicht alle sind verifiziert und getestet, Kommentare sind wie immer willkommen) f8794798d2afa9416471d426f785efc9d4d7f5c5 Diskutil 0 62 204 2019-02-15T10:26:23Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]] Disk Util - lokalisiert: Festplatten-Dienstprogramm - ist ein Werkzeug zum Bearbeiten, Löschen und Erzeugen von Partitionen auf Festplatten und anderen Datenträgern. Es besteht dabei aus zwei Komponenten: einerseits die graphische Benutzeroberfläche, die den meisten wohl bekannt sein dürfte. Hiermit lassen sich auch .dmg Images erstellen und CDs/DVDs brennen. Außerdem existiert das entsprechende Terminal-Pendant zu DiskUtil.app namens '''"diskutil"''', das noch weitere Optionen wie das Vergrößern und Verkleinern von Partitionen (macsprech: Volumes) bietet. Das Kommandozeilen-Pendant zum [[Dmg_Images_konvertieren|Erstellen und Manipulieren von dmg-Images]] ist übrigens [[hdiutil]]. ==Größe von Partitionen ändern== Seit Mac OS X 10.4.6 Update ist eine neue Option resize hinzugekommen. Im laufenden Betrieb kann eine Partition in der Größe verändert werden. Abfrage der aktuellen, der minimalen und maximalen Größe: diskutil resizeVolume disk1s2 limits Verändern der Größe einer Partition: diskutil resizeVolume disk1s2 75G ==Volume auswerfen== Per Kommandozeile kann ein Laufwerk auch ausgeworfen werden (unmount): diskutil eject /Volumes/NAMEDESLAUFWERKS == Weitere Informationen == * manpage zu {{Man|diskutil|diskutil}} * Mac OS X Server 10.4 [http://manuals.info.apple.com/en/System_Image_and_SW_Update_v10.4.pdf System Image and SW Update Manual] (PDF) * Mac OS X Server 10.4 [http://manuals.info.apple.com/en/Command_Line_v10.4.pdf Command Line Manual] (PDF) * Mac OS X Server 10.3 [http://manuals.info.apple.com/en/MacOSXSrvr10.3_CommandLineAdminGuide.pdf Command Line Administration] (PDF) * Mac OS X Server 10.3 [http://manuals.info.apple.com/en/MacOSXSrvr10.3_SystemImageAdmin.pdf Mac OS X Server (v10.3 or Later): System Image Administration Manual] (PDF) 9d05fd73d314a89c61a093c09d0fb88d9f5c4987 Add Inline Images to Continuous TeXt 0 156 750 749 2019-02-15T10:26:52Z Hagbard 2 wikitext text/x-wiki [[Category:TeX]][[Category:Hint]] Schön abgesetzte Grafiken und Abbildungen sind ja an sich in Ordnung; manchmal ist es aber zu Illustrationszwecken auch sehr praktisch, Grafiken vom Text umfließen zu lassen. Das geht mit TeX folgendermaßen: ===Package einbinden=== Zuerst ist das Package <font face="courier">wrapfig</font> notwendig, das wie folgt eingebunden wird: \usepackage{wrapfig} ===Grafiken erzeugen=== Anschließend wird beispielsweise wie folgt eine Grafik eingebunden: \begin{wrapfigure}[<font color="orange">$ZEILEN</font>]{<font color="orange">$AUSRICHTUNG</font>}{<font color="orange">$BEITE</font>} \includegraphics[<font color="orange">$IMAGEVARS</font>]{<font color="orange">$IMAGE</font>} \label{blah} \caption{blah} \end{wrapfigure} Wobei die obigen Variablen durch folgendes zu ersetzen sind: <font color="orange">$ZEILEN:</font> Anzahl der Zeilen Text, die die Grafiken umfließen sollen, z.B. 20 <font color="orange">$AUSRICHTUNG:</font> l (links) oder r (rechts) <font color="orange">$BREITE:</font> Breite des Textumflusses 4cm <font color="orange">$IMAGEVARS:</font> die sonst üblichen Optionen für Grafiken, z.B.: width=4cm <font color="orange">$IMAGE:</font> Grafikdatei ohne Endung, z.B. img01 Das kann dann ungefähr so aussehen: \begin{wrapfigure}[21]{r}{4cm} \includegraphics[width=4cm]{img/Siemens-sx1} \label{Mobiltelefon Siemens SX-1, Quelle: de.wikipedia.org} \caption{Mobil-telefon Siemens SX-1, Quelle: de.wikipedia.org} \end{wrapfigure} vielleicht nicht die eleganteste Lösung, aber sie funktioniert :) ===Alternative: {{TT|\parpic}}=== Alternativ kann für kleine Icons am Textrand auch das Package ''picins'' benutzt werden: <source lang="latex"> \usepackage{picins} \parpic{\includegraphics[width=1.6 cm]{pics/smallicons/MessageFilter}} </source> ccbd24c47651d9ebc0f55e74d01c2627f4ff5ebc PDF Bookmarks with pdftex 0 161 774 773 2019-02-15T10:29:20Z Hagbard 2 wikitext text/x-wiki [[Category:TeX]][[Category:Hint]] ==Links und Verweise mit pdftex== Mit dem pdfex Paket sind diverse PDF-Funktionen auch aus TeX-Dokumenten heraus verfügbar: ==Lesezeichen== Mit Hilfe von [http://www.tug.org/applications/pdftex/ pdftex] können bei der Generierung eines [[Wikipedia:de:PDF|PDF]] Dokuments Links und Verweise als PDF-Links und das Inhaltsverzeichnis in PDF-Bookmarks umgesetzt werden. Dazu werden unter anderem die Pakete '''pdftex''' und '''hyperref''' benötigt und mit entsprechenden Optionen eingebunden: \usepackage[pdftex,pagebackref,colorlinks, <font color="gray">% Farbe von TeX-Verweisen (URLs):</font> linkcolor=<font color="orange">black</font>, <font color="gray">% Farbe von Verweisen ins Web (URLs):</font> urlcolor=<font color="orange">black</font>, <font color="gray">% Farbe von Zitaten:</font> citecolor=<font color="orange">black</font>, <font color="gray">% Bookmarks mit Kapitelnummern versehen:</font> bookmarksnumbered=true, pdfauthor={<font color="orange">Autor</font>}, pdftitle={<font color="orange">Titel des Dokumentes</font>}, pdfsubject={<font color="orange">Thema</font>}, pdfkeywords={<font color="orange">Schlüsselwörter</font>} ] {hyperref} An das Dokument anzupassende Angaben sind jeweils <font color="orange">hervorgehoben</font> ==Hyperlinks== Um URL-Angaben als Hyperlink auszuführen, sind sie wie folgt anzugeben: \url{<font color="orange"><nowiki><link></nowiki></font>} also zum Beispiel: \url{[http://www.macwrench.de/wiki http://www.macwrench.de/wiki]} Formatiert werden (z.B. Schriftart und -größe) kann die Ausgabe dann wie oben beim Einbinden der Pakete oder durch Überladen der entsprechenden Funktionen. Im obigen Beispiel für die Lesezeichen sind das die Aangaben linkcolor=<font color="orange">black</font> und urlcolor=<font color="orange">black</font> Für eine vollständige Übersicht über die Syntax und mögliche Optionen gibts auf der [http://www.pdftex.org offiziellen Webseite] einiges an Dokumentation, weitere Links gibts in unserer [[TeX_Links|TeX-Linksammlung]]. 855b67fd2d59037cabefd24fa4863e1b8f131006 Dmg Images konvertieren 0 54 188 2019-02-15T10:30:41Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]]Wenn man auf einem Mac erzeugte Disk-Images auf einer PC-Dose weiterverwenden will steht man vor dem Problem, dass .dmg Images nicht benutzbar sind. Deshalb müssen sie vorher konvertiert werden, um sie auf der Dose weiterverwenden oder brennen zu können. ==Toast Images== ... lassen sich ja recht einfach durch Umbenennen z.B. mit [http://www.nero.com/deu/ Nero] brennen: image.toast > image.nrg wobei zum Brennen in obigem Programm bei der Imageauswahl als Dateisystem das entsprechend verwendete auszuwählen ist (im Regelfall wird das bei einer Mac-CD HFS sein). ==.dmg Images== DMG Images (wie sie z.B. mit dem Festplatten-Dienstprogramm erzeugt werden) müssen umgewandelt werden, das passiert mit dem Kommandozeilen-Tool [[hdiutil]] duch Eingabe von [[hdiutil]] <aktion> <optionen> ===Konvertierung=== Die Umwandlung von .dmg in .iso Images erfolgt durch Eingabe von hdiutil convert <quellimage.dmg> -format UDTO -o <zielimage.iso> Das Ergebnis ist dann ein ISO-File namens zielimage.iso.cdr Für eine weitere Verwendung auf PC-Dosen muss diese Datei ggf. noch um ihre Endung ''.cdr'' erleichtert werden werden zielimage.iso.cdr > zielimage.iso ===Zielformate=== Mögliche Formate für das Zielimage sind: * '''UDRW''' UDIF read/write image * '''UDRO''' UDIF read-only image * '''UDCO''' UDIF ADC-compressed image * '''UDZO''' UDIF zlib-compressed image * '''UFBI''' UDIF entire image with MD5 checksum * '''UDRo''' UDIF read-only (obsolete format) * '''UDCo''' UDIF compressed (obsolete format) * '''UDTO''' DVD/CD-R master for export * '''UDxx''' UDIF stub image * '''UDSP''' SPARSE (growable with content) * '''RdWr''' NDIF read/write image (deprecated) * '''Rdxx''' NDIF read-only image (Disk Copy 6.3.3 format) * '''ROCo''' NDIF compressed image (deprecated) * '''Rken''' NDIF compressed (obsolete format) * '''DC42''' Disk Copy 4.2 image ===Optionen für das erzeugte Image=== '''-readonly''' das Zielimage ist schreibgeschützt '''-readwrite''' auf das Image kann geschrieben werden '''-notremovable''' nur der Superuser root kann das gemountete Image unmounten ===Weitere Informationen=== Mit hdituil lassen sich Images auch erzeugen, überprüfen und Mounten, weitere Informationen dazu und mögliche Optionen für die Benutzung sind in der {{Man|hdiutil|manpage von hdiutil}} nachzulesen: man hdiutil oder hdiutil help sowie im entsprechenden [[Hdiutil|Artikel über hdiutil]]. d93ee0a0ec387ce9ea84125a69b3aef14e46245c Mac App Store Kurztipps 0 187 932 931 2019-02-15T10:34:16Z Hagbard 2 wikitext text/x-wiki [[Category:OS]] ==Deinstallierte Apps werden weiterhin angezeigt== Hin und wieder passiert es, dass bereits deinstallierte Programme weiterhin oder wieder in der Mac App Store Applikation angezeigt werden. Wenn seit der Deinstallation kein weiteres Update veröffentlicht wurde, ist also eine erneute Installation nicht möglich. Dies kann unterschiedliche Gründe haben, und in vielen Fällen genügt ein Reboot oder ein Ab- und wieder Anmelden, um das Problem zu lösen. Oftmals genügt das jedoch nicht und es ist eine der folgendenden Vorgehensweisen anzuwenden: ===App-Cache löschen=== In manchen Fällen ist einfach nur etwas im App-eigenen Cache durcheinandergekommen, was die App Store App darin hindert, selbigen korrekt zu aktualisieren. Um diesen Cache zu löschen, ist folgendes zu tun: * App Store beenden * im Finder in den "{{TT|Library}}" Ordner des Benutzer wechseln (bei gedrückter <KB>alt</KB>-Taste im Finder-Menü "Gehe zu" den entsprechenden Eintrag auswählen (dieser ist normalerweise nicht sichtbar und muss durch die <KB>alt</KB>-Taste aktiviert werden) * dort in das Unterverzeichnis "{{TT|Caches}}" wechseln * darin das Verzeichnis "{{TT|com.apple.appstore}}" löschen Falls das alleine nichts bewirkt, ist dieses Vorgehen zu wiederholen und direkt im Anschluss eine Ab- und Wiederanmeldung am System durchzuführen, ggf. ist auch ein Neustart des Rechners notwendig. '''Hinweis:''' Unter Mac OS X 10.6 ist dieser Cache unter {{TT|~/Library/Application Support/AppStore/}} zu finden. ===Externe Laufwerke=== ... können ebenfalls ein Grund für dieses Verhalten sein, beispielsweise ein eingehängtes '''TimeMachine'''-Sicherungslaufwerk. Dieser Fall scheint zwar recht selten aufzutreten, [[Benutzer:hagbard|ich]] konnte das jedoch schon mehrmals beobachten – insbesondere nach einer Neuinstallation des Systems. In diesem Fall ist folgendes zu tun: * obige Vorgehensweise zum App-Cache löschen wiederholen * vom System abmelden und erneut anmelden * nach dem Anmelden <u>alle</u> eingehängten, externen Laufwerke auswerfen * Mac App Store starten ===Weitere Möglichkeiten (unverifiziert)=== * "Receipts" installierter Apps unter einem der beiden folgenden Verzeichnisse werden nicht korrekt aktualisiert:<pre>/private/var/db/receipts/</pre><pre>/Library/Recipts/InstallHistory.plist</pre> * Löschen des "LaunchServices" Cache im [[:Kategorie:Terminal|Terminal]] mit folgendem Kommando:<pre>/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user</pre> * Debug-Menü anzeigen:<pre>defaults write com.apple.appstore ShowDebugMenu -bool true</pre> 89e977914936dc7b4cf208fa79f7338bf4692a0d 933 932 2019-02-15T10:34:38Z Hagbard 2 wikitext text/x-wiki [[Category:OS]] ==Deinstallierte Apps werden weiterhin angezeigt== Hin und wieder passiert es, dass bereits deinstallierte Programme weiterhin oder wieder in der Mac App Store Applikation angezeigt werden. Wenn seit der Deinstallation kein weiteres Update veröffentlicht wurde, ist also eine erneute Installation nicht möglich. Dies kann unterschiedliche Gründe haben, und in vielen Fällen genügt ein Reboot oder ein Ab- und wieder Anmelden, um das Problem zu lösen. Oftmals genügt das jedoch nicht und es ist eine der folgendenden Vorgehensweisen anzuwenden: ===App-Cache löschen=== In manchen Fällen ist einfach nur etwas im App-eigenen Cache durcheinandergekommen, was die App Store App darin hindert, selbigen korrekt zu aktualisieren. Um diesen Cache zu löschen, ist folgendes zu tun: * App Store beenden * im Finder in den "{{TT|Library}}" Ordner des Benutzer wechseln (bei gedrückter <KB>alt</KB>-Taste im Finder-Menü "Gehe zu" den entsprechenden Eintrag auswählen (dieser ist normalerweise nicht sichtbar und muss durch die <KB>alt</KB>-Taste aktiviert werden) * dort in das Unterverzeichnis "{{TT|Caches}}" wechseln * darin das Verzeichnis "{{TT|com.apple.appstore}}" löschen Falls das alleine nichts bewirkt, ist dieses Vorgehen zu wiederholen und direkt im Anschluss eine Ab- und Wiederanmeldung am System durchzuführen, ggf. ist auch ein Neustart des Rechners notwendig. '''Hinweis:''' Unter Mac OS X 10.6 ist dieser Cache unter {{TT|~/Library/Application Support/AppStore/}} zu finden. ===Externe Laufwerke=== ... können ebenfalls ein Grund für dieses Verhalten sein, beispielsweise ein eingehängtes '''TimeMachine'''-Sicherungslaufwerk. Dieser Fall scheint zwar recht selten aufzutreten, [[Benutzer:hagbard|ich]] konnte das jedoch schon mehrmals beobachten – insbesondere nach einer Neuinstallation des Systems. In diesem Fall ist folgendes zu tun: * obige Vorgehensweise zum App-Cache löschen wiederholen * vom System abmelden und erneut anmelden * nach dem Anmelden <u>alle</u> eingehängten, externen Laufwerke auswerfen * Mac App Store starten ===Weitere Möglichkeiten (nicht verifiziert)=== * "Receipts" installierter Apps unter einem der beiden folgenden Verzeichnisse werden nicht korrekt aktualisiert:<pre>/private/var/db/receipts/</pre><pre>/Library/Recipts/InstallHistory.plist</pre> * Löschen des "LaunchServices" Cache im [[:Kategorie:Terminal|Terminal]] mit folgendem Kommando:<pre>/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user</pre> * Debug-Menü anzeigen:<pre>defaults write com.apple.appstore ShowDebugMenu -bool true</pre> 5b8012a255394c72fb670bcd10753bacc48af210 Mail Bundles nach Systemupdate reaktivieren 0 192 1014 1013 2019-02-15T10:41:47Z Hagbard 2 wikitext text/x-wiki [[Category:HINT]][[Category:OS]]Nach Systemupdates mit neuen Apple Mail Programmversionen werden Mail-Bundles (oft auch Plugins genannt) in der Regel deaktiviert, obwohl funktionell vielleicht gar keine Anpassungen seitens der Bundles notwendig wären. Dies geschieht anhand von Kompatibilitäts-IDs, die sich mit jedem Mail-Update ändern und daher von den Mail-Bundles entsprechend berücksichtigt werden müssen. Um also ein solches Plugin nach einem Systemupdate wieder lauffähig zu bekommen, genügt es in der Regel, diese UUID in der {{TT|Info.plist}}-Konfigurationsdatei des Bundles einzutragen. ===Die für die aktuelle Mail.app nowendige UUID finden:=== # Mail.app beenden # im "Programme" Ordner nach "Mail.app" suchen und dessen Inhalte anzeigen (Finder Rechtsklick -> "Paketinhalt zeigen)" # dort ins Verzeichnis {{TT|Contents}} wechseln und die Datei {{TT|Info.plist}} in einem Texteditor (oder besser: Xcode) öffnen # Diese Datei enthält einen Eintrag namens {{TT|PluginCompatibilityUUID}}, dessen Wert zu kopieren ist Alternativ kann dazu auch folgende Anweisung im {{Terminal}} verwendet werden: defaults read /Applications/Mail.app/Contents/Info PluginCompatibilityUUID ===In das jeweile Bundle eintragen:=== # Ins Verzeichnis {{TT|~/Library/Mail/Bundles (deaktiviert)/}} innerhalb des Benutzerverzeichnisses wechseln # im jeweils zu bearbeitenden Bundle-Verzeichnis die entsprechende {{TT|Info.plist}} finden und öffnen (z.B. {{TT|Herald.mailbundle/Contents/}}) # dort sollte ein Eintrag namens {{TT|SupportedPluginCompatibilityUUIDs}} vom Typ "Array" existieren # über den Pfeil links die Einträge anzeigen, den letzten Auswählen und durch Drücken von "Return" einen neuen Eintrag erzeugen # dort die aus Mail.app weiter oben kopierte UUID eintragen und die Datei speichern Anschließend ist das Bundle (hier: Herald.mailbundle) wieder (aus dem Ordner für deaktivierte Bundles heraus) in das Verzeichnis {{TT|Bundles}} zu verschieben und Mail neu zu starten. Nun sollte das Bundle auch mit der neuen Mail-Version funktionieren. ===Fertiges Skript=== Für das Ganze gibt es auch ein [https://gist.github.com/netj/930384 fertiges Skript], allerdings ohne Gewähr (nicht getestet) ==Übersicht== {| style="border-spacing:0px; border-collapse:collapse; padding:0px;" |-- style="background-color:#c2c2c2;" ! width=120 | OS X Version || width=120 | Mail.app Version || width=300 | UUID |-- style="background-color:#efefef;" ! colspan="3" | OS X Mavericks Developer Previews |-- | 10.9.0 (13a476u) || 7.0 (1764) || 5C1C2B58-ADCC-4202-8BE9-3185EA50FE57 |-- | 10.9.0 (13a497d) || 7.0 (1780.1) || B9F62389-216B-4459-9F0C-2E379DB461C6 |-- | 10.9.0 (13a510d) || 7.0 (1784.1) || FAFAC824-B040-4302-938C-D3EBF2ED2DD6 |-- | 10.9.0 (13a524d) || 7.0 (1786.1) || BAF70BEF-2B7A-43CF-8C78-E5AE56543A4F |-- | 10.9.0 (13a538g) || 7.0 (1793.4) || 8683C61F-0A65-4118-A1A2-D000E7331AF2 |-- | 10.9.0 (13a558) || 7.0 (1800) || 4C90A872-9452-46B9-8229-A7B8A8E90C46 |-- | 10.9.0 (13a569) || 7.0 (1805) || CCF9E57F-98D8-4C64-82D1-5863A8F1C29C |-- | 10.9.0 (13a584) || 7.0 (1811) || 72F55B63-35E4-4323-8CA7-104774A0DE95 |-- | 10.9.0 (13A596) || 7.0 (1812) || 04D6EC0A-52FF-4BBE-9896-C0B5FB851BBA |-- | 10.9.0 (13A603) || 7.0 (1816) || 0941BB9F-231F-452D-A26F-47A43863C991 |-- style="background-color:#efefef;" ! colspan="3" | OS X Mavericks |-- | 10.9.0 || 7.0 (1822) || FBE5B158-5602-4A6D-9CC5-8461B9B7054E |-- | 10.9.1 || 7.1 (1827) || 1CD40D64-945D-4D50-B12D-9CD865533506 |-- | 10.9.2 || 7.2 (1874) || 88ED2D4C-D384-4BF5-8E94-B533455E6AAF |-- | 10.9.3 || 7.3 (1878.2) || F4C26776-22B3-4A0A-96E1-EA8E4482E0B5 |-- | 10.9.3 || 7.3 (1878.6) || D1EFE124-86FF-4751-BF00-80B2C0D6F2E4 |-- style="background-color:#efefef;" ! colspan="3" | OS X Yosemite |-- | 10.10.0 || -?- || 60D52D22-7491-4CA7-95BA-88215BD88F8E |-- | 10.10.1 || 8.0 (1988) ||7C051997-F45A-4523-B053-2D262F94C775 |-- | 10.10.2 || 8.1 (1988) || 800E5C92-87D3-429B-8740-5C6183CD13EA |-- | 10.10.3 || 8.2 (2098) || 60D52D22-7491-4CA7-95BA-88215BD88F8E |} <!-- https://github.com/AndreasVerhoeven/NoMailAppAnimationsOnMavericks/blob/master/Output/AveNoAnimationsInMailPlugin.mailbundle/Contents/Info.plist --> 84adc43c45607f80e7b4e945c4897d56560d488e 1015 1014 2019-02-15T10:42:06Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:OS]]Nach Systemupdates mit neuen Apple Mail Programmversionen werden Mail-Bundles (oft auch Plugins genannt) in der Regel deaktiviert, obwohl funktionell vielleicht gar keine Anpassungen seitens der Bundles notwendig wären. Dies geschieht anhand von Kompatibilitäts-IDs, die sich mit jedem Mail-Update ändern und daher von den Mail-Bundles entsprechend berücksichtigt werden müssen. Um also ein solches Plugin nach einem Systemupdate wieder lauffähig zu bekommen, genügt es in der Regel, diese UUID in der {{TT|Info.plist}}-Konfigurationsdatei des Bundles einzutragen. ===Die für die aktuelle Mail.app nowendige UUID finden:=== # Mail.app beenden # im "Programme" Ordner nach "Mail.app" suchen und dessen Inhalte anzeigen (Finder Rechtsklick -> "Paketinhalt zeigen)" # dort ins Verzeichnis {{TT|Contents}} wechseln und die Datei {{TT|Info.plist}} in einem Texteditor (oder besser: Xcode) öffnen # Diese Datei enthält einen Eintrag namens {{TT|PluginCompatibilityUUID}}, dessen Wert zu kopieren ist Alternativ kann dazu auch folgende Anweisung im {{Terminal}} verwendet werden: defaults read /Applications/Mail.app/Contents/Info PluginCompatibilityUUID ===In das jeweile Bundle eintragen:=== # Ins Verzeichnis {{TT|~/Library/Mail/Bundles (deaktiviert)/}} innerhalb des Benutzerverzeichnisses wechseln # im jeweils zu bearbeitenden Bundle-Verzeichnis die entsprechende {{TT|Info.plist}} finden und öffnen (z.B. {{TT|Herald.mailbundle/Contents/}}) # dort sollte ein Eintrag namens {{TT|SupportedPluginCompatibilityUUIDs}} vom Typ "Array" existieren # über den Pfeil links die Einträge anzeigen, den letzten Auswählen und durch Drücken von "Return" einen neuen Eintrag erzeugen # dort die aus Mail.app weiter oben kopierte UUID eintragen und die Datei speichern Anschließend ist das Bundle (hier: Herald.mailbundle) wieder (aus dem Ordner für deaktivierte Bundles heraus) in das Verzeichnis {{TT|Bundles}} zu verschieben und Mail neu zu starten. Nun sollte das Bundle auch mit der neuen Mail-Version funktionieren. ===Fertiges Skript=== Für das Ganze gibt es auch ein [https://gist.github.com/netj/930384 fertiges Skript], allerdings ohne Gewähr (nicht getestet) ==Übersicht== {| style="border-spacing:0px; border-collapse:collapse; padding:0px;" |-- style="background-color:#c2c2c2;" ! width=120 | OS X Version || width=120 | Mail.app Version || width=300 | UUID |-- style="background-color:#efefef;" ! colspan="3" | OS X Mavericks Developer Previews |-- | 10.9.0 (13a476u) || 7.0 (1764) || 5C1C2B58-ADCC-4202-8BE9-3185EA50FE57 |-- | 10.9.0 (13a497d) || 7.0 (1780.1) || B9F62389-216B-4459-9F0C-2E379DB461C6 |-- | 10.9.0 (13a510d) || 7.0 (1784.1) || FAFAC824-B040-4302-938C-D3EBF2ED2DD6 |-- | 10.9.0 (13a524d) || 7.0 (1786.1) || BAF70BEF-2B7A-43CF-8C78-E5AE56543A4F |-- | 10.9.0 (13a538g) || 7.0 (1793.4) || 8683C61F-0A65-4118-A1A2-D000E7331AF2 |-- | 10.9.0 (13a558) || 7.0 (1800) || 4C90A872-9452-46B9-8229-A7B8A8E90C46 |-- | 10.9.0 (13a569) || 7.0 (1805) || CCF9E57F-98D8-4C64-82D1-5863A8F1C29C |-- | 10.9.0 (13a584) || 7.0 (1811) || 72F55B63-35E4-4323-8CA7-104774A0DE95 |-- | 10.9.0 (13A596) || 7.0 (1812) || 04D6EC0A-52FF-4BBE-9896-C0B5FB851BBA |-- | 10.9.0 (13A603) || 7.0 (1816) || 0941BB9F-231F-452D-A26F-47A43863C991 |-- style="background-color:#efefef;" ! colspan="3" | OS X Mavericks |-- | 10.9.0 || 7.0 (1822) || FBE5B158-5602-4A6D-9CC5-8461B9B7054E |-- | 10.9.1 || 7.1 (1827) || 1CD40D64-945D-4D50-B12D-9CD865533506 |-- | 10.9.2 || 7.2 (1874) || 88ED2D4C-D384-4BF5-8E94-B533455E6AAF |-- | 10.9.3 || 7.3 (1878.2) || F4C26776-22B3-4A0A-96E1-EA8E4482E0B5 |-- | 10.9.3 || 7.3 (1878.6) || D1EFE124-86FF-4751-BF00-80B2C0D6F2E4 |-- style="background-color:#efefef;" ! colspan="3" | OS X Yosemite |-- | 10.10.0 || -?- || 60D52D22-7491-4CA7-95BA-88215BD88F8E |-- | 10.10.1 || 8.0 (1988) ||7C051997-F45A-4523-B053-2D262F94C775 |-- | 10.10.2 || 8.1 (1988) || 800E5C92-87D3-429B-8740-5C6183CD13EA |-- | 10.10.3 || 8.2 (2098) || 60D52D22-7491-4CA7-95BA-88215BD88F8E |} <!-- https://github.com/AndreasVerhoeven/NoMailAppAnimationsOnMavericks/blob/master/Output/AveNoAnimationsInMailPlugin.mailbundle/Contents/Info.plist --> d0378c642ac386c358df1955d23102f5f04f4876 MacOS absichern 0 190 951 950 2019-02-15T10:42:39Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]Auch wenn das Mac OS X einen sehr guten Ruf hinsichtlich Sicherheit genießt, ist es dennoch ratsam, sich einige Gedanken zu diesem Thema zu machen. Schließlich ist bei einer Standardinstallation noch reichlich Optimierungspotential vorhanden, zumal das Betriebssystem dafür bereits recht umfangreiche Möglichkeiten mitbringt. Zudem ist auch zu erwarten, dass bei zunehmender Verbreitung des Mac OS auch das Gefahrenpotential durch Schadsoftware zunehmen und die Sicherheit auch auf dem Mac ein wichtiges und nicht zu unterschätzendes Thema sein wird. Die Artikelreihe "Mac OS X absichern" widmet sich daher diesem Thema, von der Betriebssystemkonfiguration bis hin zu Tipps und Tricks für die tägliche Nutzung. Die thematische Aufteilung der Unterartikel sieht dabei wie folgt aus: ----- {{Contentbox|width=100%|content=[[Bild:Finder.png|128px|right]]<big>'''Teil 1: [[Mac_OS_X_absichern_-_Betriebssystemkonfiguration|Betriebssystemkonfiguration]]'''</big> :&nbsp; :Dieser Teil widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen.}} {{Contentbox|width=100%|content=[[Bild:NetworkDiagnostics.png|128px|right]]<big>'''Teil 2: [[Mac_OS_X_absichern_-_Netzwerkkonfiguration|Netzwerkkonfiguration und Firewall]]'''</big> :&nbsp; :Dieser Teil der Artikelreihe widmet sich unter anderem der Netzwerkkonfiguration. Außerdem wird auf die Konfiguration der Mac OS X Firewall ({{Man|ipfw|ipfw}}, eigentlich ein Paketfilter) ebenso eingegangen wie aif die sichere Einrichtung der verschiedenen Serverdienste wie SSH ("entfernte Anmeldung"), httpd ("Personal Web Sharing") und AFP ("Personal File Sharing").}} {{Contentbox|width=100%|content=[[Bild:KeychainAccess.png|128px|right]]<big>'''Teil 3: [[Mac_OS_X_absichern_-_Security-Anwendungen|Applikationen für die Systemsicherheit]]'''</big> :&nbsp; :In diesem Artikel geht es um die Nutzung und Konfiguration von Anwendungen für die Systemsicherheit. Das umfasst neben der laufenden System- und Anwendungsaktualisierung auch die Nutzung von Dritthersteller-Software. Auch wenn die Viren- und Wurmschwemme (noch) am Mac vorbeizieht, lohnt sich dennoch ein Blick auf die in diesem Bereich bereits verfügbare Software. }} {{Contentbox|width=100%|content=[[Bild:ActivityMonitor.png|128px|right]]<big>'''Teil 4: [[Mac_OS_X_absichern_-_Sichere_Nutzung|Die alltägliche Nutzung]]'''</big> :&nbsp; :Hier sollen dem Anwender Hilfestellungen für die tägliche Arbeit am Mac gegeben werden. Gefahrenpotentiale werden aufgedeckt und bestimmte Verhaltensweisen für die sichere Nutzung beschrieben. Die dafür zu verwendenden Bordwerkzeuge des Betriebssystems werden dabei ebenso beschrieben wie wiederkehrende Aufgaben zur Bereinigung des Systems.}} {{Contentbox|width=100%|content=[[Bild:AirportAdmin.png|128px|right]]<big>'''Teil 5: [[Mac_OS_X_absichern_-_Mobile_Nutzung|Sicher unterwegs - mobile Nutzung]]'''</big> :&nbsp; :In diesem Artikel geht es hauptsächlich um die mobile Nutzung, z.B. mit einem Notebook. Dabei sollen Möglichkeiten für Diebstahlsicherung und den Schutz der persönlichen Daten aufgezeigt werden, wofür auch zu diesem Zweck verfügbare Software vorgestellt wird.}} ----- Links zu Artikeln im Internet und anderen weiterführenden Informationen sind thematisch sortiert am Ende des jeweiligen Artikels im Abschnitt "Weitere Informationen" zu finden. Wünsche, Anregungen, Kritik und Fehlerhinweise sind wie immer willkommen und auf der Diskussionsseite des jeweiligen Artikels zu vermerken. Ich habe diese Artikelreihe begonnen, um einmal einen Gesamtüberblick über alle Möglichkeiten zu schaffen, die das Mac OS so in Sachen Security bietet. Ich werde mich nach und nach den einzelnen Artikel widmen, Themenvorschläge und Anregungen sind bitte so lange auf der [[Diskussion:{{PAGENAME}}|Diskussionsseite dieses Artikels]] zu hinterlegen. __NOTOC__ f36a5a4c776e21deb0e5d5c33242b7e4eb005511 952 951 2019-02-15T10:50:45Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]Auch wenn das Mac OS X einen sehr guten Ruf hinsichtlich Sicherheit genießt, ist es dennoch ratsam, sich einige Gedanken zu diesem Thema zu machen. Schließlich ist bei einer Standardinstallation noch reichlich Optimierungspotential vorhanden, zumal das Betriebssystem dafür bereits recht umfangreiche Möglichkeiten mitbringt. Zudem ist auch zu erwarten, dass bei zunehmender Verbreitung des Mac OS auch das Gefahrenpotential durch Schadsoftware zunehmen und die Sicherheit auch auf dem Mac ein wichtiges und nicht zu unterschätzendes Thema sein wird. Die Artikelreihe "Mac OS X absichern" widmet sich daher diesem Thema, von der Betriebssystemkonfiguration bis hin zu Tipps und Tricks für die tägliche Nutzung. Die thematische Aufteilung der Unterartikel sieht dabei wie folgt aus: ----- {{Contentbox|width=100%|content=[[Image:Finder icon macOS Yosemite.png|128px|right]]<big>'''Teil 1: [[Mac_OS_X_absichern_-_Betriebssystemkonfiguration|Betriebssystemkonfiguration]]'''</big> :&nbsp; :Dieser Teil widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen.}} {{Contentbox|width=100%|content=[[Image:Crystal Project Connect to network.png|128px|right]]<big>'''Teil 2: [[Mac_OS_X_absichern_-_Netzwerkkonfiguration|Netzwerkkonfiguration und Firewall]]'''</big> :&nbsp; :Dieser Teil der Artikelreihe widmet sich unter anderem der Netzwerkkonfiguration. Außerdem wird auf die Konfiguration der Mac OS X Firewall ({{Man|ipfw|ipfw}}, eigentlich ein Paketfilter) ebenso eingegangen wie aif die sichere Einrichtung der verschiedenen Serverdienste wie SSH ("entfernte Anmeldung"), httpd ("Personal Web Sharing") und AFP ("Personal File Sharing").}} {{Contentbox|width=100%|content=[[Image:Keychain Access Icon.png|128px|right]]<big>'''Teil 3: [[Mac_OS_X_absichern_-_Security-Anwendungen|Applikationen für die Systemsicherheit]]'''</big> :&nbsp; :In diesem Artikel geht es um die Nutzung und Konfiguration von Anwendungen für die Systemsicherheit. Das umfasst neben der laufenden System- und Anwendungsaktualisierung auch die Nutzung von Dritthersteller-Software. Auch wenn die Viren- und Wurmschwemme (noch) am Mac vorbeizieht, lohnt sich dennoch ein Blick auf die in diesem Bereich bereits verfügbare Software. }} {{Contentbox|width=100%|content=[[Image:Softies-icons-meter 256px.png|128px|right]]<big>'''Teil 4: [[Mac_OS_X_absichern_-_Sichere_Nutzung|Die alltägliche Nutzung]]'''</big> :&nbsp; :Hier sollen dem Anwender Hilfestellungen für die tägliche Arbeit am Mac gegeben werden. Gefahrenpotentiale werden aufgedeckt und bestimmte Verhaltensweisen für die sichere Nutzung beschrieben. Die dafür zu verwendenden Bordwerkzeuge des Betriebssystems werden dabei ebenso beschrieben wie wiederkehrende Aufgaben zur Bereinigung des Systems.}} {{Contentbox|width=100%|content=[[Image:Laptop icon.svg|128px|right]]<big>'''Teil 5: [[Mac_OS_X_absichern_-_Mobile_Nutzung|Sicher unterwegs - mobile Nutzung]]'''</big> :&nbsp; :In diesem Artikel geht es hauptsächlich um die mobile Nutzung, z.B. mit einem Notebook. Dabei sollen Möglichkeiten für Diebstahlsicherung und den Schutz der persönlichen Daten aufgezeigt werden, wofür auch zu diesem Zweck verfügbare Software vorgestellt wird.}} ----- Links zu Artikeln im Internet und anderen weiterführenden Informationen sind thematisch sortiert am Ende des jeweiligen Artikels im Abschnitt "Weitere Informationen" zu finden. Wünsche, Anregungen, Kritik und Fehlerhinweise sind wie immer willkommen und auf der Diskussionsseite des jeweiligen Artikels zu vermerken. Ich habe diese Artikelreihe begonnen, um einmal einen Gesamtüberblick über alle Möglichkeiten zu schaffen, die das Mac OS so in Sachen Security bietet. Ich werde mich nach und nach den einzelnen Artikel widmen, Themenvorschläge und Anregungen sind bitte so lange auf der [[Diskussion:{{PAGENAME}}|Diskussionsseite dieses Artikels]] zu hinterlegen. __NOTOC__ fb27069d877243f0b2f51d90763560ce10cbc103 Ruhezustand im Terminal aktivieren 0 314 1616 2019-02-15T10:52:28Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]]Um den Mac in den Ruhezustand zu versetzen, genügt allgemein ein beherzter Druck auf die entsprechende [[MacOS_Keyboard_Shortcuts|Tastenkombination]] :<KB>apfel + alt + eject</KB> oder wahlweise die Aktivierung per Apfel-Menü bzw. der Druck auf den Einschaltknopf <KB>power</KB> (während man angemeldet ist). Gelegentlich jedoch ist es vonnöten, auch über das [[:Category:Terminal|Terminal]] - z.B. aus der Entfernung via SSH - den Rechner schlafen zu legen. Dazu gibt es verschiedene Möglichkeiten, wobei beider Verwendung einer SSH-Verbindung logischerweise der entsprechende Dienst ("entfernte Anmeldung") in den Systemeinstellungen (PrefPane "Sharing") aktiviert sein und eine Verbindung zum Mac bestehen muss. ==per SSH bei eingeloggtem Benutzer== Mit Hilfe von AppleScript kann ein Mac recht einfach in den Ruhezustand versetzt werden, der Aufruf erfolgt dabei über das Kommandozeilentool {{Man|osascript|osascript}} und sieht wie folgt aus: osascript -e 'tell application "Finder" to sleep' oder osascript -e 'tell application "System Events" to sleep' In Verbindung mit dem Kommandozeilentool {{Man|ssh|SSH}} kann das Kommando in einem Rutsch abgesetzt werden: ssh USERNAME@HOSTNAME osascript -e 'tell application "Finder" to sleep' wobei "USERNAME" und "HOSTNAME" entsprechend zu ersetzen sind. Das funktioniert jedoch nur, wenn der Benutzer (der dieses Kommando ausführt), aktuell bereits am System - also über die GUI - angemeldet ist; andernfalls erscheint eine Fehlermeldung. Dabei ist es empfehlenswert, den Rechner per Passwort zu schützen. Das erreicht man durch Aktivieren der Option "Kennwort verlangen beim Beenden des Ruhezustandes oder des Bildschirmschoners" im PrefPane "Sicherheit" der Systemeinstellungen, wodurch verhindert wird, dass sich bei angemeldetem Benutzer jemand lokal am Mac zu schaffen machen kann. ==per SSH mit SleepNow== [http://www.snoize.com/SleepNow/ SleepNow] (OpenSource) ist ein kleines [[:Category:Terminal|Terminal]]-Progrämmchen, um den Mac in den Ruhezustand zu versetzen. Der Benutzer muss dazu allerdings über Administratorrechte verfügen, also in der Gruppe "admin" sein. In den Benutzereinstellungen ist das an der Option "Der Benutzer darf diesen Computer verwalten" zu erkennen. '''Hinweis:''' Im Allgemeinen genügt es völlig, mit einem weniger privilegierten Benutzer zu arbeiten. Es sollten keine Administratorprivilegien vergeben werden, nur um diese Funktion nutzen zu können! Mehr Informationen dazu sind in der Artikelreihe "[[Mac_OS_X_absichern_-_Betriebssystemkonfiguration|Mac OS X absichern / Betriebssystemkonfiguration]]" verfügbar. Um den Ruhezustand zu aktivieren, ist nur der Aufruf von "SleepNow" durch die Eingabe von SleepNow im Terminal nötig, alternativ kann - wenn man root-Anmeldungen via SSH erlaubt (nicht zu empfehlen!) auch das folgende Kommando verwendet werden: ssh root@HOSTNAME SleepNow ==Automatisiert via {{Man|pmset|pmset}}== Eine weitere Möglichkeit bietet sich mit dem Kommandozeilentool {{Man|pmset|pmset}}, das im Prinzip die Funktionen der graphischen Benutzeroberfläche (Systemeinstellungen, PrefPane "Energie sparen") auf der Kommandozeile zur Verfügung stellt. Dabei können sowohl einmalige als auch wiederkehrende Vorgänge automatisiert werden, beispielsweise das tägliche Aufwachen um eine bestimmte Uhrzeit. Da es in diesem Artikel jedoch primär um die sofortige Nutzung des Ruhezustands geht, wird auf diese Möglichkeit an dieser Stelle nicht weiter eingegangen. Weiterführende Informationen dazu sind {{Man|pmset|in der Manpage von pmset}} sowie im [[Pmset|Macwrench-Artikel zu pmset]] verfügbar, bei [http://www.macosxhints.com macosxhints.com] sind außerdem [http://www.macosxhints.com/search.php?query=pmset&type=stories&mode=search&keyType=all einige Artikel zum Thema] verfügbar. ==Weitere Informationen== Wie man den Mac aus der Entfernung ganz ausschaltet, wird [http://www.macworld.com/weblogs/macosxhints/2006/12/remoteshut/index.php in diesem Macworld Artikel] beschrieben. d492d523e112b23ad503cc7c2849e084aeef4f6b JavaScript Quickies für Einsteiger 0 90 319 2019-02-15T10:54:24Z Hagbard 2 wikitext text/x-wiki [[Category:Development]] In diesem Artikel sollen (sowohl für den Einstieg dieser Sprache als auch zum Nachschlagen) die wichtigsten Eigenheiten von JavaScript, Unterschiede zu anderen Programmiersprachen sowie wichtige Funktionen und Operatoren gesammelt werden. Weitere Links und Infos zu JavaScript sind im Artikel [[Webentwicklungs-Ressourcen]] zu finden. ==Datentypen und ihre Wertebereiche== Da die Typisierung in JavaScript (wie auch in PHP) nicht besonders streng (genau genommen: nicht existent) ist, kann damit eigentlich recht lasch umgegangen werden - eine Unterscheidung in float, int usw. wie in anderen Programmiersprachen existiert praktisch nicht Es gibt jedoch einige weitere Datentypen, die in der folgenden Übersicht aufgelistet werden: ===Übersicht der Datentypen=== {| |-- bgcolor="#e2e2e2" ! width="120px" | Datentyp || Beschreibung |-- | {{TT|number}} || Zahlenwerte, es existiert bei der Deklaration/Initialisierung keine explizite Unterscheidung in int, float etc. |-- | {{TT|boolean}} || Wahrheitswert, entweder "true" oder "false" |-- | {{TT|null}} || Nullwert, enthält den wert "null" (sonst nix, eigentlich kein "[[wikipedia:de:Datentyp|Datentyp]]" im eigentlichen Sinne, da jer ja keinen Wert oder Wertebereich hat) |-- | {{TT|object}} || Enthält die einem Objekt untergeordnete Menge an Attributen (Eigenschaften) |} Die Typumwandlung (Typecasting) erfolgt mit Hilfe verschiedener, [[#Objektunabhängige_Funktionen|objektunabhängiger Funktionen]]. Weitere Informationen über die verschiedenen, gebräuchlichen Datentypen gibts [[wikipedia:de:Datentyp|in der Wikipedia]], ===Besondere Datentypen=== In JavaScript gibt es noch 2 weitere, besonders erwähnenswerte Datentypen: {| |-- bgcolor="#e2e2e2" ! width="120px" | Datentyp || Beschreibung |-- | {{TT|NaN}} || "Not a Number", d.h. es handelt sich um keinen gültgen Wert des jeweiligen Wertebereiches. Das passiert beispielsweise, falls Operationen solche Ergebnisse liefern (Beispiel: Rückgabewert einer Qudrawurzelfunktion ist ein Integer). Kann mit der Funktion {{TT|[[#Objektunabhängige_Funktionen|IsNaN()]]}} abgefragt werden |-- | {{TT|Infinity}} || Beschreibt eine Überschreitung des Wertebereiches (Pufferüberlauf) bei numerischen Operationen |-- | {{TT|undefined}} || wird für nicht initialisierte Variablen und nicht existierende Objekteigenschafte (Attribute) zurückgegeben |} ==Operatoren== ===Rechenoperatoren=== {| |-- bgcolor="#e2e2e2" ! width="120px" | Operator || width="120px" | Datentyp || Beschreibung |-- |<nowiki>+</nowiki> || Zahlen || Addition |-- |<nowiki>–</nowiki> || Zahlen || Subtraktion |-- |<nowiki>*</nowiki> || Zahlen || Multiplikation |-- |<nowiki>/</nowiki> || Zahlen || Division |-- |<nowiki>%</nowiki> || Zahlen ||Modulo (Restangabe) |} ===Inkrement und Dekrement=== {| |-- bgcolor="#e2e2e2" ! width="120px" | Operator || width="120px" | Datentyp || Beschreibung |-- |<nowiki>++</nowiki> || Zahl / Variable || Inkrement |-- |<nowiki>––</nowiki> || Zahl / Variable || Dekrement |} ===Zuweisungsoperatoren=== {| |-- bgcolor="#e2e2e2" ! width="120px" | Operator || Beschreibung |-- |<nowiki>+=</nowiki> || Addition eines Wertes zu einer Variablen |-- |<nowiki>–=</nowiki> || Subtraktion eines Wertes von einer Variablen |-- |<nowiki>*=</nowiki> || Multiplikation einer Variable mit einem Wert |-- |<nowiki>/=</nowiki> || Division einer Variablen durch einen Wert |-- |<nowiki>%=</nowiki> || Restwert der Division einer Variablen durch einen Wert |} ===Weitere wichtige Operatoren=== {| |-- bgcolor="#e2e2e2" ! width="120px" | Operator || Beschreibung |-- | {{TT|<nowiki>.</nowiki>}} || Punktoperator für den Zugriff auf Objekteigenschaften (z.B. meinObjekt.Eigenschaft1) und Collections (z.B. document.meinFormular.eingabeFeld.value) |-- | {{TT|<nowiki> + </nowiki>}} || Operator zur Verkettung (Verknüpfung) von Zeichenketten |-- | {{TT|typeof}} || Ermittlung des Datentyps, z.B.: {{TT|alert(typeof MeineVariable);}} |-- | {{TT|void}} || Wird verwendet wenn verhindert werden soll, dass ein Rückgabewert erzeugt wird.<br />Beispiel: {{TT|void meinInteger++;}} |-- | {{TT|delete}} || dient dem Löschen von Objekten, z.B.: {{TT|delete meinObjekt;}} |} Weitere Operatoren und detailliertere Beschreibungen sind [http://de.selfhtml.org/javascript/sprache/operatoren.htm hier zu finden]. ==Wichtige Funktionen== ===Objektunabhängige Funktionen=== {| |-- bgcolor="#e2e2e2" ! width="120px" | Funktionsname || Beschreibung |-- | {{TT|eval()}} || Übergabewert wird als JavaScript-Code interpretiert und ausgeführt |-- | {{TT|parseInt()}} || Umwandlung (Typecasting) in eine Ganzzahl ([[wikipedia:de:Integer_(Datentyp)|integer]]) |-- | {{TT|parseFloat()}} || Umwandlung (Typecasting) in eine Gleitkommazahl ([[wikipedia:de:Gleitkommazahl|float]]) |-- | {{TT|isNaN()}} || Überprüft den Variableninhalt daraufhin, ob er nicht-numerisch ist. |-- | {{TT|isFinite()}} || Überprüft einen Wert auf Endlichkeit bzw. Gültigkeit (z.B. bei Pufferüberläufen oder einer Division durch 0), steht seit Javascript 1.3 zur Verfügung |-- | {{TT|Number()}} || Überprüft den Variableninhalt auf einen numerischen Wert |-- | {{TT| String()}} || Wandelt den Wert in einen String (alphanumerische Zeichenkette) um |-- | {{TT|escape()}} || Umwandlung von ASCII-Zeichen in Zahlenwerte |-- | {{TT|unescape()}} || Mit escape() kodierte Zahlenwerte in ASCII-Werte umwandeln |-- | {{TT|encodeURI()}} || [[wikipedia:de:Uniform_Resource_Identifier|URI]] für die Weiterverarbeitung kodieren (Sonderzeichen werden umgewandelt). Alle außer den folgenden Zeichen werden umgewandelt: {{TT|0 - 9}}, {{TT|A - Z}}, {{TT|a bis z}} sowie {{TT|<nowiki>- _ . ! ~ * ' ( ) / ? : @ & = + $</nowiki>}} |-- | {{TT|encodeURIComponent()}} || vergleichbar mit {{TT|encodeURI}}, es werden jedoch auch die folgenden Zeichen umgewandelt: {{TT|<nowiki>, / ? : @ & = + $</nowiki>}} |-- | {{TT|decodeURI()}} || decodiert einen mittels {{TT|encodeURI}} erzeugten URI |-- | {{TT|decodeURIComponent()}} || decodiert einen mittels {{TT|encodeURIComponent}} erzeugten URI und sollte auch nur auf diese URIs angewendet werden. |} Eine detailliertere Beschreibung dieser Funktionen mitsamt Beispielen ist [http://de.selfhtml.org/javascript/objekte/unabhaengig.htm hier zu finden]. ==Weitere Informationen== ... sind im Artikel [[Webentwicklungs-Ressourcen#JavaScript_/_ECMAScript|Webentwicklungs-Ressourcen]] zu finden. 4347a848ce754d60d8b7cf8c9a36eb5e7daa620f Source Code Listings with LaTeX 0 164 786 785 2019-02-15T10:55:09Z Hagbard 2 wikitext text/x-wiki [[Category:TeX]][[Category:Hint]] ==Listings in TeX Dokumenten== Um in [[Wikipedia:de:TeX|TeX]] Dokumenten Quelltexte (Programmlistings) einzufügen, bietet sich die Verwendung des Pakets '''listings''' an. Dazu muss das Paket zuerst mit <source lang="latex"> \usepackage{listings} </source> eingebunden werden, außerdem empfiehlt sich für farbiges Syntax-Highlighting die Verwendung des Pakets ''color'' <source lang="latex"> \usepackage{color} </source> ==Quellcode einbinden== Dazu gib es 2 Möglichkeiten, entweder direkt im TeX Dokument (inline) oder als eigenständige Datei: ===inline=== <source lang="latex"> \begin{lstlisting} [caption={ein paar Zeilen code}\label{lst:test123},captionpos=t] for i:=maxint to 0 do begin j:=square(root(i)); end; \end{lstlisting} </source> ===externe Datei=== Hier im Beispiel eine Datei namens <font face="courier">beispiel.java</font> <source lang="latex"> \lstinputlisting [caption={Ein kleines Programm in Java} \label{lst:javaclass}, captionpos=t,language=JAVA] {listings/beispiel.java} </source> ===Hinweise=== '''label:''' Label für Referenzen auf das Listing mit \ref{lst:xyz}<br /> '''caption:''' Beschreibungstext<br /> '''captionpos:''' Position des Beschreibungstextes (t=top, b=bottom)<br /> '''language:''' [Dialekt]Sprache - Angabe einer Programmiersprache (z.B. JAVA, XML, C, C++) oder eines Dialekts (z.B. [LaTeX]TeX) ==Formatierung== ===Farben=== Mit Hilfe des Pakets ''color'' lassen sich mit Hilfe von <source lang="latex"> \color{<colour>} </source> Farbwerte verwenden sowie eigene definieren, z.B.: <source lang="latex"> \definecolor{middlegray}{rgb}{0.5,0.5,0.5} \definecolor{lightgray}{rgb}{0.8,0.8,0.8} \definecolor{orange}{rgb}{0.8,0.3,0.3} \definecolor{yac}{rgb}{0.6,0.6,0.1} </source> ===Quellcode=== Die Darstellung der Quellcodeabschnitte wird über \lstset{} formatiert, dabei stehen mehrere Variablen zur Verfügung, z.B.: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em;" ! background:#e3e3e3; width="200px" | Variable || width="200px" | Beschreibung || Beispiel |- | backgroundcolor || Hintergrundfarbe || \color{lightgray} |- | basicstyle || Schriftformatierung || \scriptsize\ttfamily |- | keywordstyle || Schlüsselwörter || \bfseries\ttfamily\color{orange}, |- | stringstyle || Variablen || \color{green}\ttfamily, |- | commentstyle || Kommentare || \color{middlegray}\ttfamily, |- | emph<br />emphstyle<br />emph<br />emphstyle | Variablen | square<br />\color{blue}\texttt<br />[2]root,base<br />[2]\color{yac}\texttt |- | showstringspaces || leerzeichen in Strings darstellen || true / false |- | flexiblecolumns || Spaltenbreite dynamisch/fest || true / false |- | tabsize || Tabulatorenbreite || 2, |- | numbers || Position der Zeilennummern || left / right |- | numberstyle || Größe der Zeilennummern || \tiny |- | numberblanklines || leere Zeilen durchnummerieren || true / false |- | stepnumber || Beginn der Nummerierung || 1 |- | numbersep || Abstand zwischen Zeilennummern und Quellcode || 10pt |- | xleftmargin || Abstand zum Rand || 15pt |} '''Anm.:'''<br /> Formatierung immer $key={$value}, Trennung mehrerer Definitionen durch Kommata<br /> <source lang="latex"> \bfseries: '''fettgedruckt'''<br /> \ttfamily: <font face="courier">typewriter</font><br /> \tiny: <small>klein</small> </source> Beispiel: <source lang="latex"> \lstset{ basicstyle=\scriptsize\ttfamily, keywordstyle=\bfseries\ttfamily\color{orange}, stringstyle=\color{green}\ttfamily, commentstyle=\color{middlegray}\ttfamily, emph={square}, emphstyle=\color{blue}\texttt, emph={[2]root,base}, emphstyle={[2]\color{yac}\texttt}, showstringspaces=false, flexiblecolumns=false, tabsize=2, numbers=left, numberstyle=\tiny, numberblanklines=false, stepnumber=1, numbersep=10pt, xleftmargin=15pt } </source> ==Quellcodeverzeichnis== Analog zu Abbildungs- und Tabellenverzeichnis kann auch ein Quellcodeverzeichnis eingebunden werden, das funktioniert mit <source lang="latex"> \lstlistoflistings </source> Um einen Eintrag im Inhaltsverzeichnis zu ermöglichen, sind jedoch einige Handgriffe erforderlich, so sind im TeX-Kopf (also vor <font face="courier">\begin{document}</font>) einige Elemente aus dem Dokumentenstyle (hier book.cls) und listings.sty zu überladen. Zur Info: die beiden Dateien befinden sich üblicherweise an den Orten /usr/local/teTeX/share/texmf.tetex/tex/latex/base/book.cls bzw. /usr/local/teTeX/share/texmf.tetex/tex/latex/listings/listings.sty wobei diese Dateien ja nicht editiert werden. Das erfolgt durch Einfügen des Code in das TeX-Dokument, und zwar zwischen die Tags <source lang="latex"> \makeatletter ... \makeatother </source> mit Hilfe der Anweisungen <source lang="latex"> \renewcommand (einen existierenden Befehl überschreiben) \newcommand (einen neuen Befehl erzeugen) </source> Das sieht dann - analog zu den [[Kurztipp - Verzeichnisse mit Kapitelnummern|Verzeichnissen]] etwa so aus: <source lang="latex"> \makeatletter % Festlegen des Kapitelnamen (nicht unbedingt notwendig): % aus listing.sty \renewcommand\lstlistlistingname{Quellcode} % Erzeugen eines Eintrags im Inhaltsverzeichnis: % aus book.cls \newcommand\loltableofcontents{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi \chapter*{\contentsname % \@mkboth{% % \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% \chapter{\lstlistlistingname} \@starttoc{toc}% \if@restonecol\twocolumn\fi } % Erzeugen des Quellcodeverzeichnisses: % aus listing.sty \renewcommand\lstlistoflistings{\bgroup \let\contentsname\lstlistlistingname \let\lst@temp\@starttoc \def\@starttoc##1{\lst@temp{lol}}% \loltableofcontents \egroup} \makeatother </source> c86460933ff871e8278433b4a18658405e9e6bc2 MacOS Login Screen 0 189 945 944 2019-02-15T10:55:32Z Hagbard 2 wikitext text/x-wiki [[Category:OS]] ==Verhalten des Login-Fensters beeinflussen== === Eingabefeld "Benutzername" === Für den Anmeldebildschirm von Mac OS X existieren einige "hidden features", die mitunter recht praktisch sind. Über folgende Kommandos lassen sich diverse Aktionen ausführen, das Login-Fenster muss dazu natürlich in den Systemeinstellungen (Panel "Benutzer" > "Anmeldeoptionen") auf "Name und Kennwort" gesetzt sein. {| |-- bgcolor=#e2e2e2 ! width=100px|Kommando || width=200px|Wirkung || getestet mit Mac OS Version |-- | >shutdown || den Mac herunterfahren || [[Bild:MacOS10.4.png|32px]] |-- | >restart || den Mac neustarten || [[Bild:MacOS10.3.png|32px]] [[Bild:MacOS10.4.png|32px]] |-- | >sleep || Ruhezustand || [[Bild:MacOS10.4.png|32px]] |-- | >power || den Mac herunterfahren || [[Bild:MacOS10.3.png|32px]] [[Bild:MacOS10.4.png|32px]] {{Opaque|1=[[Bild:MacOS10.2.png|32px|Unter 10.2 nicht getestet, sollte aber auch funktionieren]]}} |-- | >exit || den WindowServer neu starten || [[Bild:MacOS10.3.png|32px]] [[Bild:MacOS10.4.png|32px]] {{Opaque|1=[[Bild:MacOS10.2.png|32px|Unter 10.2 nicht getestet, sollte aber auch funktionieren]]}} |-- | >console || in den Darwin Text-Mode wechseln ||[[Bild:MacOS10.3.png|32px]] [[Bild:MacOS10.4.png|32px]] {{Opaque|1=[[Bild:MacOS10.2.png|32px|Unter 10.2 nicht getestet, sollte aber auch funktionieren]]}} |} Danke an [[Benutzer:MacForian|Flo]] und Tanja fürs Durchtesten mit Mac OS 10.3! Herunterfahren und Neu starten kann man jedoch nicht im Login-Screen zum Benutzerwechsel sondern nur, wenn aktuell kein weiterer Benutzer angemeldet ist. === Script beim Anmelden ausführen === http://www.macosxhints.com/article.php?story=20050517210406483 === Systeminformationen anzeigen === Keine Ahnung in welchen Systemen das genau funktioniert, aber in 10.4.1 tut es: Bei click auf den Systemnamen unter dem Apfel und über der Userliste, wechselt die Anzeige auf: Hostname -> Version -> Build -> Seriennummer -> Datum -> Hostname Der Sinn dahinter ist wohl, dass der Applesupport direkt helfen kann, auch wenn der Benutzer sagt: "Ich kann mich nicht einloggen!" Das Funktioniert auch im Finder-Info-Fenster "Über diesen Mac" (erster Eintrag im Apfel-Menü) === Spracheinstellungen === Die Sprache im Anmeldebildschirm richtet sich nach der systemweiten Spracheinstellung, die bei der Installation von OS X gesetzt wird. Diese lässt sich mit Admin-Rechten und folgendem Terminal-Kommando jedoch jederzeit ändern und ist sofort wirksam: sudo languagesetup ==Login Tweaks== === Login Style ändern === Wie kann man von der Userliste auf User/Password wechseln per Shortcut? Die angegebene Kombination <KB>shift + opt + return</KB> funktioniert bei mir nicht! Die Umschaltung mittels <KB>shift + opt + return</KB> gibt es erst seit Tiger, unter 10.3 und davor existiert ein extra Button zum Umschalten. Außerdem funktioniert es offensichtlich nicht mit aktivem [http://wincent.com/a/products/winswitch/ WinSwitch]. ===Hintergrundbild ändern=== Das Login-Fenster benutzt als Hintergrundbild immer "Aqua Blue", das als 2560x1600 Pixel (Mac OS 10.4) große Grafikdatei dort zu finden ist: /Library/Desktop Pictures/Aqua Blue.jpg Um das Bild zu ändern, ist einfach diese Datei durch eine andere zu ersetzen. Alternativ lässt sich das auch in der Konfigurationsdatei /Library/Preferences/com.apple.loginwindow.plist ändern, indem ein Schlüssel namens "DesktopPicture" hinzugefügt wird. Das kann auch durch die Eingabe des folgenden Kommandos im Terminal erfolgen (alles in einer Zeile): sudo defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture -string "/Library/Desktop Pictures/Nature/Stones.jpg" Falls die Änderungen nicht sofort sichtbar werden, muss entweder der Mac neu gestartet oder der Prozess des loginwindow gekillt werden. ===Aktuelle Konfiguration des Login Fensters=== Die aktuellen Einstellungen des Login-Fensters befinden sich im Library-Ordner, und zwar z.B. dort: /Library/Preferences/com.apple.loginwindow.plist Dort sind unter anderem auch die folgenden Informationen zu finden: * Name des zuletzt angemeldeten Benutzers * Der aktuelle Status des Benutzers (z.B. "loggedIn") Außerdem lassen sich dort folgende Einstellungen vornehmen: * '''AdminHostInfo''': Info-Anzeige im Login-Fenster beeinflussen (default: Time) * '''HideAdminUsers''': Administratoren in der Benutzerliste verbergen (default: false) * '''HideLocalUsers''': Lokale Benutzer verbergen (default: false) * '''IncludeNetworkUser''': Netzwerkbenutzer anzeigen (default: false) * '''Kiosk''': Kiosk Mode (default: false - habe ich noch nicht getestet, keine Ahnung was das bewirkt) * '''PowerOffDisabled''': Button "Ausschalten" nicht anzeigen (default: no) * '''RetriesUntilHint''': Anzahl der Login Versuche, bis der Hinweistext erscheint (so denn der Benutzer einen in den Benutzereinstellungen angegeben hat; default: 0) * '''SHOWFULLNAME''': den vollständigen Namen anzeigen (default: yes) Wie sich die Werte im Pendant des Benutzerverzeichnisses genau zusammensetzen, konnte ich auf die Schnelle nicht ermitteln. die Datei befindet sich dort: /Users/BENUTZERNAME/Library/Preferences/com.apple.loginwindow.plist und beinhaltet die folgenden Schlüssel: * NSWindow Frame About This Mac * NSWindow Frame ProcessPanel Außerdem existiert noch die folgende Konfigurationsdatei, die offensichtlich für die beim Login automatisch zu startenden Anwendungen (Key AutoLaunchedApplicationDictionary) zuständig ist: /Users/BENUTZERNAME/Library/Preferences/loginwindow.plist Außerdem wird hier wohl auch die Darstellungsform der aktuellen Systemversion (Build Version und System Version) abgelegt ... ==Tools== Es existieren auch fertige Tools, die einige Login-Tweaks in einer graphischen Oberfläche zugänglich machen: * [http://www.bombich.com/software/lwm.html LoginWindow Manager] 2.0 (Freeware) 01eab9e8d8a0382249accd0685411ba0c0933195 PPC-Linux von DVD-Brenner installieren 0 180 865 864 2019-02-15T10:58:46Z Hagbard 2 wikitext text/x-wiki [[Category:Linux]]'''Betr.:''' Linux-Installation auf "New World Macs" (G3/G4/G5 PPC-Macs mit OpenFirmware) mit einem nachträglich eingebauten DVD-Brenner, der von Mac OS X nicht direkt unterstützt wird Eigentlich nichts besonderes, sollte man meinen ... nach einem Tag Bastelei allerdings war mir klar, dass man mit nachträglich eingebauten DVD-Brennern (und nach diversen Forenbeiträgen auch mit dem Apple Superdrive) mit sog. "[[wikipedia:de:Apple_Power_Macintosh#Power_Macintosh_mit_PCI-Steckpl.C3.A4tzen_.28.22New_World.22.29|New World Macs]]" aus der Open Firmware heraus (oder via OpenFirmware Boot Menü<ref name="OpenFirmware">Das Open Firmware Bootmenü erreicht man durch Drücken und Gedrückthalten der ALT Taste während des Starttons, direkt von CD/DVD booten kann man durch Gedrückthalten der Taste "C"</ref>) Linux nicht direkt von der CD aus starten kann<ref name="yaboot">zum Starten von Linux auf New World Macs wird der Linux Bootloader "[http://penguinppc.org/bootloaders/yaboot/doc/yaboot-howto.shtml/index.de.shtml yaboot]" benötigt</ref>. Also kann man wie folgt vorgehen, wobei im folgenden Beispiel [http://www.yellowdoglinux.com Yellow Dog Linux] 4.1 auf eine externe Firewire Festplatte installiert werden soll. Für die parallele Installation mit Mac OS X auf einer Platte sind noch weitere Dinge zu berücksichtigen, Links dazu sind ganz unten im Artikel zu finden. Für andere Distributionen sind dabei einige Angaben entsprechend anzupassen, prinzipiell ist die Vorgehensweise hier folgende: * kopieren des Linux Bootloaders auf Festplatte * Booten des Linux-Installationssystems von der Festplatte * Anschließende Installation von der CD Hinweise für die Installation von [http://fedora.redhat.com Fedora Core 5] sind jeweils entsprechend gekennzeichnet. === 1. Partitionierung === Die Festplatte muss zunächst unter Mac OS X partitioniert werden, dazu dient das Disk Utility (Festplatten Dienstprogramm). Dazu ist mindestens eine Partition als "freier Speicherbereich" (Format: "free space") anzulegen, und zwar als erste Partition. === 2. Bootloader kopieren === Dazu sind (für YDL) die Verzeichnisse "boot" und "images" von der Installations-CD auf die Festplatte kopieren, und zwar ins Wurzelverzeichnis einer Partition auf der 1. Festplatte des Systems. Bei Verwendung des MacOS Systemvolumes muss man dazu Root-Rechte besitzen<ref name="root aktivieren">Die Aktivierung des root Benutzers erfolgt durch Eingabe von {{Texttt|passwd root}} im Terminal oder alternativ im Netinfo Manager, Menü "Sicherheit"</ref>. Bei Fedora (hier: FC5) sieht das etwas anders aus, da hier die Dateien auf verschiedene Verzeichnisse verteilt sind. Ein einfaches Kopieren hat bei mir nicht funktioniert, es hat dann aber so geklappt: * Ein Verzeichnis auf der HDD erstellen, z.B. {{Texttt|boot}} * Die folgenden Dateien in dieses Verzeichnis {{Texttt|boot}} kopieren: ** {{Texttt|ppc\mac\ofboot.b}} ** {{Texttt|ppc\mac\yaboot}} ** {{Texttt|ppc\ppc32\ramdisk.image.gz}} ** {{Texttt|ppc\ppc32\vmlinuz}} ** {{Texttt|ppc\ppc32\yaboot.conf}} * bei einem G5 müssen dabei die Dateien aus dem Verzeichnis {{Texttt|ppc\ppc64}} verwendet werden (64Bit Code) === 3. yaboot.conf editieren === Im Verzeichnis {{Texttt|boot}} muss die Konfigurationsdatei des Booloaders {{Texttt|yaboot.conf}} angepasst werden, und zwar sind alle Einträge "cd:" durch "hd:" zu ersetzen. Bei Fedora sind dabei die Geräteangaben relativ, also z.B. {{Texttt|\boot\vmlinuz}} und müssen also nicht weiter angepasst werden. Die Pfadangaben sind jedoch anzupassen und auf das Verzeichnis zu setzen, in das man den Bootloader kopiert hat (also z.B. auf {{Texttt|\boot\...}}) === 4. Booten === Anschließend den Rechner in die Open Firmware booten. Dazu muss <KB>Apfel-Alt-O-F</KB> während des Startsounds solange gedrückt gehalten werden, bis die OpenFirmware (schwarzer Text auf weißem Hintergrund) mit dem Hinweis "Release keys to continue!" erscheint. Zum Booten folgendes eingeben (Achtung, englische Tastaturbelegung(("\" erreicht man mit einer deutschen Tastatur über die Raute-Taste (#), den Doppelpunkt über shift-ö, z und y sind vertauscht))): boot hd:X,\boot\yaboot X (z.B.: 11 oder 9) ist die Partition, auf die yaboot von der Installations-CD kopiert wurde. Bei einer MacOS-Standardinstallation braucht man eigentlich erst ab 9 durchzuprobieren, die übrigen werden normalerweise durch MacOS belegt. {{Texttt|\boot\yaboot}} ist bei anderen Distributionen entsprechend anzupassen, in diesem Verzeichnis liegen die Dateien des Bootloaders und das Linux Boot-Image, die man vorhin auf die Festplatte kopiert hat. Anschließend sollte das Auswahlmenü des Bootloaders {{Texttt|yaboot}} erscheinen, im Fall von YDL mit den folgenden Auswahlmöglichkeiten: {| |-- |'''install'''||graphischer Installer |-- |'''install text'''||textbasierter Installer |-- |'''install firewire'''||graphische Installer für ext. Firewire-Festplatte |-- |'''mediacheck'''||... hinzufügen für einen Test der Installationsmedien |} unter Fedora ist dazu einfach "{{Texttt|linux}}" einzugeben. Anschließend sollte sich Linux einwandfrei von CD/DVD aus installieren lassen, da ab jetzt die Zugriffe auf das Laufwerk über Linux laufen und nicht mehr über die Open Firmware. Die beim Starten vom YDL-yaboot erscheinende Warnung, die Bootstrap-Partition habe den falschen Typ, kann man in diesem Fall getrost ignorieren, da Linux ja nicht auf die Festplatte installiert werden soll, auf die man den Bootloader kopiert hat. Bei einer Installation auf dieselbe Platte jedoch muss diese (ca. 1MB große) Bootstrap-Partition (diese ist notwendig, um von einer Platte überhaupt booten zu können) existieren und vor allen anderen liegen. Bei einer parallelen Installation von Linux und MacOS X muss dabei die Linux-Partition mitsamt dem Bootloader ebenfalls vor der MacOS X Partition liegen, damit man anschließend über den {{Texttt|yaboot}} Bootloader zwischen den beiden Betriebssystemen wählen kann. Dazu mehr in den Links unten im Artikel. === Weitere Informationen === ===Yellow Dog Linux=== * [http://www.terrasoftsolutions.com/support/solutions/ydl_general/ Yellow Dog Linux How Tos] * [http://www.yellowdog-board.com/ Forum zu Yellow Dog Linux] ===Debian GNU/Linux=== * [http://www.debian.org/ports/powerpc/ Informationen zu Debian auf PowerPCs] * [http://www.pl-berichte.de/t_system/ibook-debian/ pro-linux.de: Installation von Debian auf einem iBook] ===Fedora (Core 5)=== * [http://fedora.redhat.com/docs/release-notes/fc5/ Fedora Core 5 Release Notes] * [http://stanton-finley.net/fedora_core_5_installation_notes.html Installation Notes] (recht vollständig) * [http://www.mjmwired.net/resources/mjm-fedora-fc5.html FC5 Installation Guide] (incl. non-GPL Treiber wie die von Nvidia) ===Distributionsunabhängig=== * [http://www.linux.com/article.pl?sid=06/03/17/0350228 Gnome 2.14 Review] * [http://www.freesoftwaremagazine.com/newsletters/accelerated_x/ Artikel über beschleunigte X-Server] (wie XGL oder AIGLX) und noch [http://fedoraproject.org/wiki/RenderingProject einer über XGL] ----- <references/> 22627f281f56bb834be1bb08c7ce1ffa70d0a47e 866 865 2019-02-17T08:14:23Z Hagbard 2 wikitext text/x-wiki [[Category:Linux]]'''Betr.:''' Linux-Installation auf "New World Macs" (G3/G4/G5 PPC-Macs mit OpenFirmware) mit einem nachträglich eingebauten DVD-Brenner, der von Mac OS X nicht direkt unterstützt wird Eigentlich nichts besonderes, sollte man meinen ... nach einem Tag Bastelei allerdings war mir klar, dass man mit nachträglich eingebauten DVD-Brennern (und nach diversen Forenbeiträgen auch mit dem Apple Superdrive) mit sog. "[[wikipedia:de:Apple_Power_Macintosh#Power_Macintosh_mit_PCI-Steckpl.C3.A4tzen_.28.22New_World.22.29|New World Macs]]" aus der Open Firmware heraus (oder via OpenFirmware Boot Menü<ref name="OpenFirmware">Das Open Firmware Bootmenü erreicht man durch Drücken und Gedrückthalten der ALT Taste während des Starttons, direkt von CD/DVD booten kann man durch Gedrückthalten der Taste "C"</ref>) Linux nicht direkt von der CD aus starten kann<ref name="yaboot">zum Starten von Linux auf New World Macs wird der Linux Bootloader "[http://penguinppc.org/bootloaders/yaboot/doc/yaboot-howto.shtml/index.de.shtml yaboot]" benötigt</ref>. Also kann man wie folgt vorgehen, wobei im folgenden Beispiel [http://www.yellowdoglinux.com Yellow Dog Linux] 4.1 auf eine externe Firewire Festplatte installiert werden soll. Für die parallele Installation mit Mac OS X auf einer Platte sind noch weitere Dinge zu berücksichtigen, Links dazu sind ganz unten im Artikel zu finden. Für andere Distributionen sind dabei einige Angaben entsprechend anzupassen, prinzipiell ist die Vorgehensweise hier folgende: * kopieren des Linux Bootloaders auf Festplatte * Booten des Linux-Installationssystems von der Festplatte * Anschließende Installation von der CD Hinweise für die Installation von [http://fedora.redhat.com Fedora Core 5] sind jeweils entsprechend gekennzeichnet. === 1. Partitionierung === Die Festplatte muss zunächst unter Mac OS X partitioniert werden, dazu dient das Disk Utility (Festplatten Dienstprogramm). Dazu ist mindestens eine Partition als "freier Speicherbereich" (Format: "free space") anzulegen, und zwar als erste Partition. === 2. Bootloader kopieren === Dazu sind (für YDL) die Verzeichnisse "boot" und "images" von der Installations-CD auf die Festplatte kopieren, und zwar ins Wurzelverzeichnis einer Partition auf der 1. Festplatte des Systems. Bei Verwendung des MacOS Systemvolumes muss man dazu Root-Rechte besitzen<ref name="root aktivieren">Die Aktivierung des root Benutzers erfolgt durch Eingabe von {{TT|passwd root}} im Terminal oder alternativ im Netinfo Manager, Menü "Sicherheit"</ref>. Bei Fedora (hier: FC5) sieht das etwas anders aus, da hier die Dateien auf verschiedene Verzeichnisse verteilt sind. Ein einfaches Kopieren hat bei mir nicht funktioniert, es hat dann aber so geklappt: * Ein Verzeichnis auf der HDD erstellen, z.B. {{TT|boot}} * Die folgenden Dateien in dieses Verzeichnis {{TT|boot}} kopieren: ** {{TT|ppc\mac\ofboot.b}} ** {{TT|ppc\mac\yaboot}} ** {{TT|ppc\ppc32\ramdisk.image.gz}} ** {{TT|ppc\ppc32\vmlinuz}} ** {{TT|ppc\ppc32\yaboot.conf}} * bei einem G5 müssen dabei die Dateien aus dem Verzeichnis {{TT|ppc\ppc64}} verwendet werden (64Bit Code) === 3. yaboot.conf editieren === Im Verzeichnis {{TT|boot}} muss die Konfigurationsdatei des Booloaders {{TT|yaboot.conf}} angepasst werden, und zwar sind alle Einträge "cd:" durch "hd:" zu ersetzen. Bei Fedora sind dabei die Geräteangaben relativ, also z.B. {{TT|\boot\vmlinuz}} und müssen also nicht weiter angepasst werden. Die Pfadangaben sind jedoch anzupassen und auf das Verzeichnis zu setzen, in das man den Bootloader kopiert hat (also z.B. auf {{TT|\boot\...}}) === 4. Booten === Anschließend den Rechner in die Open Firmware booten. Dazu muss <KB>Apfel-Alt-O-F</KB> während des Startsounds solange gedrückt gehalten werden, bis die OpenFirmware (schwarzer Text auf weißem Hintergrund) mit dem Hinweis "Release keys to continue!" erscheint. Zum Booten folgendes eingeben (Achtung, englische Tastaturbelegung(("\" erreicht man mit einer deutschen Tastatur über die Raute-Taste (#), den Doppelpunkt über shift-ö, z und y sind vertauscht))): boot hd:X,\boot\yaboot X (z.B.: 11 oder 9) ist die Partition, auf die yaboot von der Installations-CD kopiert wurde. Bei einer MacOS-Standardinstallation braucht man eigentlich erst ab 9 durchzuprobieren, die übrigen werden normalerweise durch MacOS belegt. {{TT|\boot\yaboot}} ist bei anderen Distributionen entsprechend anzupassen, in diesem Verzeichnis liegen die Dateien des Bootloaders und das Linux Boot-Image, die man vorhin auf die Festplatte kopiert hat. Anschließend sollte das Auswahlmenü des Bootloaders {{TT|yaboot}} erscheinen, im Fall von YDL mit den folgenden Auswahlmöglichkeiten: {| |-- |'''install'''||graphischer Installer |-- |'''install text'''||textbasierter Installer |-- |'''install firewire'''||graphische Installer für ext. Firewire-Festplatte |-- |'''mediacheck'''||... hinzufügen für einen Test der Installationsmedien |} unter Fedora ist dazu einfach "{{TT|linux}}" einzugeben. Anschließend sollte sich Linux einwandfrei von CD/DVD aus installieren lassen, da ab jetzt die Zugriffe auf das Laufwerk über Linux laufen und nicht mehr über die Open Firmware. Die beim Starten vom YDL-yaboot erscheinende Warnung, die Bootstrap-Partition habe den falschen Typ, kann man in diesem Fall getrost ignorieren, da Linux ja nicht auf die Festplatte installiert werden soll, auf die man den Bootloader kopiert hat. Bei einer Installation auf dieselbe Platte jedoch muss diese (ca. 1MB große) Bootstrap-Partition (diese ist notwendig, um von einer Platte überhaupt booten zu können) existieren und vor allen anderen liegen. Bei einer parallelen Installation von Linux und MacOS X muss dabei die Linux-Partition mitsamt dem Bootloader ebenfalls vor der MacOS X Partition liegen, damit man anschließend über den {{TT|yaboot}} Bootloader zwischen den beiden Betriebssystemen wählen kann. Dazu mehr in den Links unten im Artikel. === Weitere Informationen === ===Yellow Dog Linux=== * [http://www.terrasoftsolutions.com/support/solutions/ydl_general/ Yellow Dog Linux How Tos] * [http://www.yellowdog-board.com/ Forum zu Yellow Dog Linux] ===Debian GNU/Linux=== * [http://www.debian.org/ports/powerpc/ Informationen zu Debian auf PowerPCs] * [http://www.pl-berichte.de/t_system/ibook-debian/ pro-linux.de: Installation von Debian auf einem iBook] ===Fedora (Core 5)=== * [http://fedora.redhat.com/docs/release-notes/fc5/ Fedora Core 5 Release Notes] * [http://stanton-finley.net/fedora_core_5_installation_notes.html Installation Notes] (recht vollständig) * [http://www.mjmwired.net/resources/mjm-fedora-fc5.html FC5 Installation Guide] (incl. non-GPL Treiber wie die von Nvidia) ===Distributionsunabhängig=== * [http://www.linux.com/article.pl?sid=06/03/17/0350228 Gnome 2.14 Review] * [http://www.freesoftwaremagazine.com/newsletters/accelerated_x/ Artikel über beschleunigte X-Server] (wie XGL oder AIGLX) und noch [http://fedoraproject.org/wiki/RenderingProject einer über XGL] ----- <references/> 8baf6ef7b490ce3638280037bb38ae4edc39bae1 MacOS absichern/Betriebssystemkonfiguration 0 76 959 958 2019-02-15T10:59:38Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Bild:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Bild:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Kategorie:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [[mu:AutomountMaker|AutomountMaker]], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [[mu:Supinfo Share Manager|Supinfo Share Manager]] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Bild:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Bild:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Bild:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Bild:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Bild:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Bild:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Bild:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen [[Bild:MacOS10.3.png|16px]]{{Product_OSX_Version|10.3}} bis [[Bild:MacOS10.6.png|16px]]{{Product_OSX_Version|10.6}} * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 23447c70a5913d3e8d5a501228c11bf78c0a844d QuickLook 0 312 1612 2019-02-15T11:03:46Z Hagbard 2 wikitext text/x-wiki [[Category:OS]] QuickLook ist ein neues Feature von Mac OS X Leopard zur Vorschau verschiedenster Dateiformate und -typen. Es lässt sich über Plugins erweitern, um noch mehr verschiedene Dateiformate lesen zu können. ==Quicklook neu starten== Nach der Installation benötigt das System etwas, bis es die Anwesenheit neuer Plugins (= Quicklook Generator) bemerkt. Das kann man auf folgende Arten beschleunigen: * Quicklook im [[:Category:Terminal|Terminal]] mit {{Man|1=qlmanage|2={{TT|qlmanage}}}} zurücksetzen:<pre>qlmanage -r</pre>Dadurch wird der QuickLook Server neu gestartet und der Cache gelöscht. * Den Finder neu starten, dazu einfach <KB>alt</KB> drücken und gedrückt halten und dann das Finder-Dockicon rechtsklicken. Dann erscheint ein zusätzlicher Menüeintrag "Neu starten" ==Kopieren von Text== {{Contentbox|content='''Hinweis:''' funktioniert erst ab OS X 10.7 (Lion) !}} Um aus Finder-QuickLook-Fenstern Texte via Tastaturkürzel herauskopieren zu können, ist folgender Aufruf im [[:Category:Terminal|Terminal]] abzusetzen: defaults write com.apple.finder QLEnableTextSelection -bool TRUE Zurückgesetzt wird dies via defaults delete com.apple.finder QLEnableTextSelection Um die Änderung wirksam werden zu lassen, ist anschließend ist der Finder entweder via TinkerTool & Co. oder im Terminal über die folgende Anweisung neu zu starten: killall Finder Um dasselbe in Apple Mail zu erreichen, ist zusätzlich zu obiger Anweisung die folgende auszuführen: defaults write com.apple.Mail QLEnableTextSelection -bool TRUE Die Deaktivierung erfolgt via defaults delete com.apple.Mail QLEnableTextSelection Um dasselbe in Microsoft Office 2011 zu erreichen, ist zusätzlich zu obiger Anweisung die folgende auszuführen: defaults write com.microsoft.Outlook QLEnableTextSelection -bool TRUE; Die Deaktivierung erfolgt via defaults delete com.microsoft.Outlook QLEnableTextSelection ==Links== * [http://www.quicklookplugins.com/ www.quicklookplugins.com] - Verzeichnis für QuickLook Plugins * [http://d.hatena.ne.jp/t_trace/20071124 QuickLook Folder Plugin] * [http://macitbetter.com/BetterZipQL-1.0 BetterZip QuickLook Plugin] für Archive (ZIP, TAR, GZip, BZip2, ARJ, LZH, ISO, CHM, CAB, CPIO, RAR, 7-Zip, DEB, RPM, StuffIt's SIT, DiskDoubler, BinHex, und MacBinary) * [http://www.apfelquak.de/2007/11/26/sammelsurium-quicklook-plugins/ apfelquak - Sammelsurium: QuickLook-Plugins] * Macworld.com: [http://www.macworld.com/article/132443/2008/03/leopardsurvival1.html Tipps&Tricks zu Finder und Quick Look] 9e1659deace691523d83bbba3338a0e40e35d31b MacOS absichern 0 190 953 952 2019-02-15T12:18:12Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]Auch wenn das Mac OS X einen sehr guten Ruf hinsichtlich Sicherheit genießt, ist es dennoch ratsam, sich einige Gedanken zu diesem Thema zu machen. Schließlich ist bei einer Standardinstallation noch reichlich Optimierungspotential vorhanden, zumal das Betriebssystem dafür bereits recht umfangreiche Möglichkeiten mitbringt. Zudem ist auch zu erwarten, dass bei zunehmender Verbreitung des Mac OS auch das Gefahrenpotential durch Schadsoftware zunehmen und die Sicherheit auch auf dem Mac ein wichtiges und nicht zu unterschätzendes Thema sein wird. Die Artikelreihe "Mac OS X absichern" widmet sich daher diesem Thema, von der Betriebssystemkonfiguration bis hin zu Tipps und Tricks für die tägliche Nutzung. Die thematische Aufteilung der Unterartikel sieht dabei wie folgt aus: ----- {{Contentbox|width=100%|content=[[Image:Finder icon macOS Yosemite.png|128px|right]]<big>'''Teil 1: [[Mac_OS_X_absichern_-_Betriebssystemkonfiguration|Betriebssystemkonfiguration]]'''</big> :&nbsp; :Dieser Teil widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen.}} {{Contentbox|width=100%|content=[[Image:Crystal Project Connect to network.png|128px|right]]<big>'''Teil 2: [[Mac_OS_X_absichern_-_Netzwerkkonfiguration|Netzwerkkonfiguration und Firewall]]'''</big> :&nbsp; :Dieser Teil der Artikelreihe widmet sich unter anderem der Netzwerkkonfiguration. Außerdem wird auf die Konfiguration der Mac OS X Firewall ({{Man|ipfw|ipfw}}, eigentlich ein Paketfilter) ebenso eingegangen wie aif die sichere Einrichtung der verschiedenen Serverdienste wie SSH ("entfernte Anmeldung"), httpd ("Personal Web Sharing") und AFP ("Personal File Sharing").}} {{Contentbox|width=100%|content=[[Image:Gnome-dialog-password.svg|128px|right]]<big>'''Teil 3: [[Mac_OS_X_absichern_-_Security-Anwendungen|Applikationen für die Systemsicherheit]]'''</big> :&nbsp; :In diesem Artikel geht es um die Nutzung und Konfiguration von Anwendungen für die Systemsicherheit. Das umfasst neben der laufenden System- und Anwendungsaktualisierung auch die Nutzung von Dritthersteller-Software. Auch wenn die Viren- und Wurmschwemme (noch) am Mac vorbeizieht, lohnt sich dennoch ein Blick auf die in diesem Bereich bereits verfügbare Software. }} {{Contentbox|width=100%|content=[[Image:Softies-icons-meter 256px.png|128px|right]]<big>'''Teil 4: [[Mac_OS_X_absichern_-_Sichere_Nutzung|Die alltägliche Nutzung]]'''</big> :&nbsp; :Hier sollen dem Anwender Hilfestellungen für die tägliche Arbeit am Mac gegeben werden. Gefahrenpotentiale werden aufgedeckt und bestimmte Verhaltensweisen für die sichere Nutzung beschrieben. Die dafür zu verwendenden Bordwerkzeuge des Betriebssystems werden dabei ebenso beschrieben wie wiederkehrende Aufgaben zur Bereinigung des Systems.}} {{Contentbox|width=100%|content=[[Image:Laptop icon.svg|128px|right]]<big>'''Teil 5: [[Mac_OS_X_absichern_-_Mobile_Nutzung|Sicher unterwegs - mobile Nutzung]]'''</big> :&nbsp; :In diesem Artikel geht es hauptsächlich um die mobile Nutzung, z.B. mit einem Notebook. Dabei sollen Möglichkeiten für Diebstahlsicherung und den Schutz der persönlichen Daten aufgezeigt werden, wofür auch zu diesem Zweck verfügbare Software vorgestellt wird.}} ----- Links zu Artikeln im Internet und anderen weiterführenden Informationen sind thematisch sortiert am Ende des jeweiligen Artikels im Abschnitt "Weitere Informationen" zu finden. Wünsche, Anregungen, Kritik und Fehlerhinweise sind wie immer willkommen und auf der Diskussionsseite des jeweiligen Artikels zu vermerken. Ich habe diese Artikelreihe begonnen, um einmal einen Gesamtüberblick über alle Möglichkeiten zu schaffen, die das Mac OS so in Sachen Security bietet. Ich werde mich nach und nach den einzelnen Artikel widmen, Themenvorschläge und Anregungen sind bitte so lange auf der [[Diskussion:{{PAGENAME}}|Diskussionsseite dieses Artikels]] zu hinterlegen. __NOTOC__ 5fd2a4cd08b82836b2c88ff937c6d53cf3cabcef Template:Terminal 10 12 1130 1129 2019-02-15T12:24:15Z Hagbard 2 wikitext text/x-wiki <noinclude>Abkürzungsvorlage für die Darstellung eines Links zur Kategorie "Terminal" mit zugehörigem Icon. ;Vorschau: {{Terminal}} </noinclude><includeonly>[[Image:Terminal icon by Rezonansowy.svg|16px]] [[:Category:Terminal|Terminal]]</includeonly> fc895fc71b75dc205349f2d28b758e0ee5c45507 1131 1130 2019-02-15T12:27:05Z Hagbard 2 wikitext text/x-wiki <noinclude>Abkürzungsvorlage für die Darstellung eines Links zur Kategorie "Terminal" mit zugehörigem Icon. ;Vorschau: {{Terminal}} </noinclude><includeonly>[[Image:Font Awesome 5 solid terminal.svg|16px]] [[:Category:Terminal|Terminal]]</includeonly> 1005ffb8cbc1c4977c7dcce8ddfdbc11cc223319 Template:Man 10 30 1039 1038 2019-02-15T12:28:55Z Hagbard 2 wikitext text/x-wiki <noinclude>Vorlage zur Erzeugung eines Links zum Debian [https://manpages.debian.org/ Manpage-Browser.] ;Verwendungsbeispiel <nowiki>{{Man|vi|vi}}</nowiki> {{Man|vi|vi}} </noinclude><includeonly>[[Image:Font Awesome 5 solid terminal.svg|16px]] [https://manpages.debian.org/jump?q={{{1}}} {{{2}}}]</includeonly> 573f45712111eb4459215f75d7d5347c4754ab91 Template:Key press 10 3 1062 2019-02-15T12:43:24Z Hagbard 2 Created page with "{{key press/core|{{{1|}}}}}<!-- -->{{#if:{{{2|}}}|{{{chain first|{{{chain|+}}}}}}{{key press/core|{{{2}}}}}}}<!-- -->{{#if:{{{3|}}}|{{{chain second|{{{chain|+}}}}}}{{key press..." wikitext text/x-wiki {{key press/core|{{{1|}}}}}<!-- -->{{#if:{{{2|}}}|{{{chain first|{{{chain|+}}}}}}{{key press/core|{{{2}}}}}}}<!-- -->{{#if:{{{3|}}}|{{{chain second|{{{chain|+}}}}}}{{key press/core|{{{3}}}}}}}<!-- -->{{#if:{{{4|}}}|{{{chain third|{{{chain|+}}}}}}{{key press/core|{{{4}}}}}}}<!-- -->{{#if:{{{5|}}}|{{{chain fourth|{{{chain|+}}}}}}{{key press/core|{{{5}}}}}}}<!-- -->{{#if:{{{6|}}}|{{{chain fifth|{{{chain|+}}}}}}{{key press/core|{{{6}}}}}}}<!-- -->{{#if:{{{7|}}}|{{{chain sixth|{{{chain|+}}}}}}{{key press/core|{{{7}}}}}}}<!-- -->{{#if:{{{8|}}}|{{{chain seventh|{{{chain|+}}}}}}{{key press/core|{{{8}}}}}}}<!-- -->{{#if:{{{9|}}}|{{{chain eighth|{{{chain|+}}}}}}{{key press/core|{{{9}}}}}}}<!-- -->{{#if:{{{10|}}}|{{{chain ninth|{{{chain|+}}}}}}{{key press/core|{{{10}}}}}}}<!-- -->{{#if:{{{11|}}}|[[Category:Wikipedia keypress template parameter needs fixing]]}}<noinclude> {{documentation}} <!-- add category and language links to the /doc sub-page, not here --> </noinclude> ec13a6d48bf0d5a168557926c766b9bc533d0506 1063 1062 2019-02-15T12:44:22Z Hagbard 2 wikitext text/x-wiki {{key press/core|{{{1|}}}}}<!-- -->{{#if:{{{2|}}}|{{{chain first|{{{chain|+}}}}}}{{key press/core|{{{2}}}}}}}<!-- -->{{#if:{{{3|}}}|{{{chain second|{{{chain|+}}}}}}{{key press/core|{{{3}}}}}}}<!-- -->{{#if:{{{4|}}}|{{{chain third|{{{chain|+}}}}}}{{key press/core|{{{4}}}}}}}<!-- -->{{#if:{{{5|}}}|{{{chain fourth|{{{chain|+}}}}}}{{key press/core|{{{5}}}}}}}<!-- -->{{#if:{{{6|}}}|{{{chain fifth|{{{chain|+}}}}}}{{key press/core|{{{6}}}}}}}<!-- -->{{#if:{{{7|}}}|{{{chain sixth|{{{chain|+}}}}}}{{key press/core|{{{7}}}}}}}<!-- -->{{#if:{{{8|}}}|{{{chain seventh|{{{chain|+}}}}}}{{key press/core|{{{8}}}}}}}<!-- -->{{#if:{{{9|}}}|{{{chain eighth|{{{chain|+}}}}}}{{key press/core|{{{9}}}}}}}<!-- -->{{#if:{{{10|}}}|{{{chain ninth|{{{chain|+}}}}}}{{key press/core|{{{10}}}}}}}<!-- -->{{#if:{{{11|}}}|[[Category:Wikipedia keypress template parameter needs fixing]]}}<noinclude> <!-- add category and language links to the /doc sub-page, not here --> </noinclude> 30f77420c25d598ee6674e7e9903dbcd4227599a 1064 1063 2019-02-15T12:48:23Z Hagbard 2 wikitext text/x-wiki {{key press/core|{{{1|}}}}}<!-- -->{{#if:{{{2|}}}|{{{chain first|{{{chain|+}}}}}}{{key press/core|{{{2}}}}}}}<!-- -->{{#if:{{{3|}}}|{{{chain second|{{{chain|+}}}}}}{{key press/core|{{{3}}}}}}}<!-- -->{{#if:{{{4|}}}|{{{chain third|{{{chain|+}}}}}}{{key press/core|{{{4}}}}}}}<!-- -->{{#if:{{{5|}}}|{{{chain fourth|{{{chain|+}}}}}}{{key press/core|{{{5}}}}}}}<!-- -->{{#if:{{{6|}}}|{{{chain fifth|{{{chain|+}}}}}}{{key press/core|{{{6}}}}}}}<!-- -->{{#if:{{{7|}}}|{{{chain sixth|{{{chain|+}}}}}}{{key press/core|{{{7}}}}}}}<!-- -->{{#if:{{{8|}}}|{{{chain seventh|{{{chain|+}}}}}}{{key press/core|{{{8}}}}}}}<!-- -->{{#if:{{{9|}}}|{{{chain eighth|{{{chain|+}}}}}}{{key press/core|{{{9}}}}}}}<!-- -->{{#if:{{{10|}}}|{{{chain ninth|{{{chain|+}}}}}}{{key press/core|{{{10}}}}}}}<!-- -->{{#if:{{{11|}}}|[[Category:Wikipedia keypress template parameter needs fixing]]}}<noinclude> <!-- add category and language links to the /doc sub-page, not here --> == Usage == Example : {{Tlx|key press|A}} → {{key press|A}} To illustrate keystroke combinations, just use extra parameters: : {{Tlx|key press|Alt|P}} → {{key press|Alt|P}} : {{Tlx|key press|Ctrl|Alt|Del}} → {{key press|Ctrl|Alt|Del}} </noinclude> bed4bc9407dc839376ff7ef14fe3511ae8de119d 232 2019-02-15T12:52:02Z Hagbard 2 wikitext text/x-wiki {{key press/core|{{{1|}}}}}<!-- -->{{#if:{{{2|}}}|{{{chain first|{{{chain|+}}}}}}{{key press/core|{{{2}}}}}}}<!-- -->{{#if:{{{3|}}}|{{{chain second|{{{chain|+}}}}}}{{key press/core|{{{3}}}}}}}<!-- -->{{#if:{{{4|}}}|{{{chain third|{{{chain|+}}}}}}{{key press/core|{{{4}}}}}}}<!-- -->{{#if:{{{5|}}}|{{{chain fourth|{{{chain|+}}}}}}{{key press/core|{{{5}}}}}}}<!-- -->{{#if:{{{6|}}}|{{{chain fifth|{{{chain|+}}}}}}{{key press/core|{{{6}}}}}}}<!-- -->{{#if:{{{7|}}}|{{{chain sixth|{{{chain|+}}}}}}{{key press/core|{{{7}}}}}}}<!-- -->{{#if:{{{8|}}}|{{{chain seventh|{{{chain|+}}}}}}{{key press/core|{{{8}}}}}}}<!-- -->{{#if:{{{9|}}}|{{{chain eighth|{{{chain|+}}}}}}{{key press/core|{{{9}}}}}}}<!-- -->{{#if:{{{10|}}}|{{{chain ninth|{{{chain|+}}}}}}{{key press/core|{{{10}}}}}}}<!-- -->{{#if:{{{11|}}}|[[Category:Wikipedia keypress template parameter needs fixing]]}}<noinclude> <!-- add category and language links to the /doc sub-page, not here --> == Usage == Example : {{Tlx|key press|A}} → {{key press|A}} To illustrate keystroke combinations, just use extra parameters: : {{Tlx|key press|Alt|P}} → {{key press|Alt|P}} : {{Tlx|key press|Ctrl|Alt|Del}} → {{key press|Ctrl|Alt|Del}} See https://en.wikipedia.org/wiki/Template:Key_press for details </noinclude> 98d8afc793a3bac4f477922d15b248c55a19cd75 Template:Key press/core 10 4 1066 2019-02-15T12:44:18Z Hagbard 2 Created page with "<kbd class="keyboard-key nowrap" style="border: 1px solid #aaa; {{border-radius|0.2em}} {{box-shadow|0.1em|0.2em|0.2em|#ddd}} background-color: #f9f9f9; {{linear-gradient|top|..." wikitext text/x-wiki <kbd class="keyboard-key nowrap" style="border: 1px solid #aaa; {{border-radius|0.2em}} {{box-shadow|0.1em|0.2em|0.2em|#ddd}} background-color: #f9f9f9; {{linear-gradient|top|#eee, #f9f9f9, #eee}} padding: 0.1em 0.3em; font-family: inherit; font-size: 0.85em;">{{#switch:{{lc:{{{1}}}}} | caps lock = {{Unicode|⇪}} Caps Lock | [[caps lock]] = {{Unicode|⇪}} [[Caps Lock]] | shift = {{Unicode|⇧}} Shift | [[shift key|shift]] = {{Unicode|⇧}} [[Shift key|Shift]] | enter = {{Unicode|↵}} Enter | [[enter key|enter]] = {{Unicode|↵}} [[Enter key|Enter]] | cmd = {{Unicode|⌘}} Cmd | [[cmd key|cmd]] | [[command key|cmd]] = {{Unicode|⌘}} [[Command key|Cmd]] | command = {{Unicode|⌘}} Command | [[cmd key|command]] | [[command key|command]] = {{Unicode|⌘}} [[Command key|Command]] | opt = {{Unicode|⌥}} Opt | [[opt key|opt]] | [[option key|opt]] = {{Unicode|⌥}} [[Option key|Opt]] | option = {{Unicode|⌥}} Option | [[option key]] | [[opt key|option]] | [[option key|option]] = {{Unicode|⌥}} [[Option key|Option]] | tab = Tab {{Unicode|↹}} | [[tab key|tab]] = [[Tab key|Tab]] {{Unicode|↹}} | backspace = ← Backspace | [[backspace]] = ← [[Backspace]] | win = {{Unicode|⊞}} Win | [[win key|win]] | [[windows key|win]] = {{Unicode|⊞}} [[Windows key|Win]] | menu = {{Unicode|≣}} Menu | [[menu key|menu]] = {{Unicode|≣}} [[Menu key|Menu]] | up = ↑ | [[arrow keys|up]] = [[Arrow keys|↑]] | down = ↓ | [[arrow keys|down]] = [[Arrow keys|↓]] | left = ← | [[arrow keys|left]] = [[Arrow keys|←]] | right = → | [[arrow keys|right]] = [[Arrow keys|→]] | * | asterisk = <nowiki>*</nowiki> | # | hash = <nowiki>#</nowiki> | [[#]] = [[Number sign|#]] | : | colon = <nowiki>:</nowiki> | [[:]] = [[Colon (punctuation)|:]] | pipe = <nowiki>|</nowiki> | [[|]] = [[Pipe symbol|<nowiki>|</nowiki>]] | ; | semicolon = <nowiki>;</nowiki> | [[;]] = [[Semi-colon|<nowiki>;</nowiki>]] | equals = <nowiki>=</nowiki> <!-- Left & right analog sticks --> | l-up | l up = L↑ | l-down | l down = L↓ | l-left | l left = L← | l-right | l right = L→ | l-ne | l ne = L↗ | l-se | l se = L↘ | l-nw | l nw = L↖ | l-sw | l sw = L↙ | r-up | r up = R↑ | r-down | r down = R↓ | r-left | r left = R← | r-right | r right = R→ | r-ne | r ne = R↗ | r-se | r se = R↘ | r-nw | r nw = R↖ | r-sw | r sw = R↙ <!-- PlayStation --> | ps x | ex = {{unicode|×}} | ps c | circle = {{unicode|○}} | ps s | square = {{unicode|□}} | ps t | triangle = {{unicode|△}} <!-- Nintendo 64 & GameCube --> | c-up | c up = C↑ | c-down | c down = C↓ | c-left | c left = C← | c-right | c right = C→ | c-ne | c ne = C↗ | c-se | c se = C↘ | c-nw | c nw = C↖ | c-sw | c sw = C↙ <!-- default --> | #default = {{{1}}} }}</kbd><noinclude> <!-- Add categories and interwikis links to the /doc subpage, not here! --> </noinclude> 2809800078f705b551a3f7cb8fe2b2bb53516e70 1067 1066 2019-02-15T13:10:25Z Hagbard 2 wikitext text/x-wiki <kbd class="keyboard-key nowrap" style="border: 1px solid #aaa; {{border-radius|0.2em}} {{box-shadow|0.1em|0.2em|0.2em|#ddd}} background-color: #f9f9f9; {{linear-gradient|top|#eee, #f9f9f9, #eee}} padding: 0.1em 0.3em; font-family: inherit; font-size: 0.85em;">{{#switch:{{lc:{{{1}}}}} | caps lock = {{Unicode|⇪}} Caps Lock | [[caps lock]] = {{Unicode|⇪}} [[Caps Lock]] | shift = {{Unicode|⇧}} Shift | [[shift key|shift]] = {{Unicode|⇧}} [[Shift key|Shift]] | enter = {{Unicode|↵}} Enter | [[enter key|enter]] = {{Unicode|↵}} [[Enter key|Enter]] | cmd = {{Unicode|⌘}} Cmd | [[cmd key|cmd]] | [[command key|cmd]] = {{Unicode|⌘}} [[Command key|Cmd]] | command = {{Unicode|⌘}} Command | [[cmd key|command]] | [[command key|command]] = {{Unicode|⌘}} [[Command key|Command]] | opt = {{Unicode|⌥}} Opt | alt = {{Unicode|⌥}} Alt | [[opt key|opt]] | [[option key|opt]] = {{Unicode|⌥}} [[Option key|Opt]] | option = {{Unicode|⌥}} Option | [[option key]] | [[opt key|option]] | [[option key|option]] = {{Unicode|⌥}} [[Option key|Option]] | tab = Tab {{Unicode|↹}} | [[tab key|tab]] = [[Tab key|Tab]] {{Unicode|↹}} | backspace = ← Backspace | [[backspace]] = ← [[Backspace]] | win = {{Unicode|⊞}} Win | [[win key|win]] | [[windows key|win]] = {{Unicode|⊞}} [[Windows key|Win]] | menu = {{Unicode|≣}} Menu | [[menu key|menu]] = {{Unicode|≣}} [[Menu key|Menu]] | up = ↑ | [[arrow keys|up]] = [[Arrow keys|↑]] | down = ↓ | [[arrow keys|down]] = [[Arrow keys|↓]] | left = ← | [[arrow keys|left]] = [[Arrow keys|←]] | right = → | [[arrow keys|right]] = [[Arrow keys|→]] | * | asterisk = <nowiki>*</nowiki> | # | hash = <nowiki>#</nowiki> | [[#]] = [[Number sign|#]] | : | colon = <nowiki>:</nowiki> | [[:]] = [[Colon (punctuation)|:]] | pipe = <nowiki>|</nowiki> | [[|]] = [[Pipe symbol|<nowiki>|</nowiki>]] | ; | semicolon = <nowiki>;</nowiki> | [[;]] = [[Semi-colon|<nowiki>;</nowiki>]] | equals = <nowiki>=</nowiki> <!-- Left & right analog sticks --> | l-up | l up = L↑ | l-down | l down = L↓ | l-left | l left = L← | l-right | l right = L→ | l-ne | l ne = L↗ | l-se | l se = L↘ | l-nw | l nw = L↖ | l-sw | l sw = L↙ | r-up | r up = R↑ | r-down | r down = R↓ | r-left | r left = R← | r-right | r right = R→ | r-ne | r ne = R↗ | r-se | r se = R↘ | r-nw | r nw = R↖ | r-sw | r sw = R↙ <!-- PlayStation --> | ps x | ex = {{unicode|×}} | ps c | circle = {{unicode|○}} | ps s | square = {{unicode|□}} | ps t | triangle = {{unicode|△}} <!-- Nintendo 64 & GameCube --> | c-up | c up = C↑ | c-down | c down = C↓ | c-left | c left = C← | c-right | c right = C→ | c-ne | c ne = C↗ | c-se | c se = C↘ | c-nw | c nw = C↖ | c-sw | c sw = C↙ <!-- default --> | #default = {{{1}}} }}</kbd><noinclude> <!-- Add categories and interwikis links to the /doc subpage, not here! --> </noinclude> 0291b2891536fcf452b71d7d977581cbb6e68be2 1068 1067 2019-02-15T13:11:53Z Hagbard 2 wikitext text/x-wiki <kbd class="keyboard-key nowrap" style="border: 1px solid #aaa; {{border-radius|0.2em}} {{box-shadow|0.1em|0.2em|0.2em|#ddd}} background-color: #f9f9f9; {{linear-gradient|top|#eee, #f9f9f9, #eee}} padding: 0.1em 0.3em; font-family: inherit; font-size: 0.85em;">{{#switch:{{lc:{{{1}}}}} | caps lock = {{Unicode|⇪}} Caps Lock | [[caps lock]] = {{Unicode|⇪}} [[Caps Lock]] | shift = {{Unicode|⇧}} Shift | [[shift key|shift]] = {{Unicode|⇧}} [[Shift key|Shift]] | enter = {{Unicode|↵}} Enter | [[enter key|enter]] = {{Unicode|↵}} [[Enter key|Enter]] | cmd = {{Unicode|⌘}} Cmd | [[cmd key|cmd]] | [[command key|cmd]] = {{Unicode|⌘}} [[Command key|Cmd]] | command = {{Unicode|⌘}} Command | [[cmd key|command]] | [[command key|command]] = {{Unicode|⌘}} [[Command key|Command]] | esc = {{Unicode|⎋}} Esc | opt = {{Unicode|⌥}} Opt | alt = {{Unicode|⌥}} Alt | [[opt key|opt]] | [[option key|opt]] = {{Unicode|⌥}} [[Option key|Opt]] | option = {{Unicode|⌥}} Option | [[option key]] | [[opt key|option]] | [[option key|option]] = {{Unicode|⌥}} [[Option key|Option]] | tab = Tab {{Unicode|↹}} | [[tab key|tab]] = [[Tab key|Tab]] {{Unicode|↹}} | backspace = ← Backspace | [[backspace]] = ← [[Backspace]] | win = {{Unicode|⊞}} Win | [[win key|win]] | [[windows key|win]] = {{Unicode|⊞}} [[Windows key|Win]] | menu = {{Unicode|≣}} Menu | [[menu key|menu]] = {{Unicode|≣}} [[Menu key|Menu]] | up = ↑ | [[arrow keys|up]] = [[Arrow keys|↑]] | down = ↓ | [[arrow keys|down]] = [[Arrow keys|↓]] | left = ← | [[arrow keys|left]] = [[Arrow keys|←]] | right = → | [[arrow keys|right]] = [[Arrow keys|→]] | * | asterisk = <nowiki>*</nowiki> | # | hash = <nowiki>#</nowiki> | [[#]] = [[Number sign|#]] | : | colon = <nowiki>:</nowiki> | [[:]] = [[Colon (punctuation)|:]] | pipe = <nowiki>|</nowiki> | [[|]] = [[Pipe symbol|<nowiki>|</nowiki>]] | ; | semicolon = <nowiki>;</nowiki> | [[;]] = [[Semi-colon|<nowiki>;</nowiki>]] | equals = <nowiki>=</nowiki> <!-- Left & right analog sticks --> | l-up | l up = L↑ | l-down | l down = L↓ | l-left | l left = L← | l-right | l right = L→ | l-ne | l ne = L↗ | l-se | l se = L↘ | l-nw | l nw = L↖ | l-sw | l sw = L↙ | r-up | r up = R↑ | r-down | r down = R↓ | r-left | r left = R← | r-right | r right = R→ | r-ne | r ne = R↗ | r-se | r se = R↘ | r-nw | r nw = R↖ | r-sw | r sw = R↙ <!-- PlayStation --> | ps x | ex = {{unicode|×}} | ps c | circle = {{unicode|○}} | ps s | square = {{unicode|□}} | ps t | triangle = {{unicode|△}} <!-- Nintendo 64 & GameCube --> | c-up | c up = C↑ | c-down | c down = C↓ | c-left | c left = C← | c-right | c right = C→ | c-ne | c ne = C↗ | c-se | c se = C↘ | c-nw | c nw = C↖ | c-sw | c sw = C↙ <!-- default --> | #default = {{{1}}} }}</kbd><noinclude> <!-- Add categories and interwikis links to the /doc subpage, not here! --> </noinclude> 959351ffa25fbd6123e62a2ab04b67058ca5535c Template:Border-radius 10 13 228 2019-02-15T12:47:26Z Hagbard 2 Created page with "<includeonly>border-radius: {{{1|8px}}};</includeonly>" wikitext text/x-wiki <includeonly>border-radius: {{{1|8px}}};</includeonly> 5396583dc02d0ca09590932b9e22794f9a02c697 Template:Box-shadow 10 14 230 2019-02-15T12:47:51Z Hagbard 2 Created page with "<includeonly>box-shadow: {{{1|4px}}} {{{2|4px}}} {{{3|4px}}} {{{4|#ccc}}};</includeonly>" wikitext text/x-wiki <includeonly>box-shadow: {{{1|4px}}} {{{2|4px}}} {{{3|4px}}} {{{4|#ccc}}};</includeonly> ab7836c28cdf6feabce7a4e3627ec4b2015c202a Template:Linear-gradient 10 15 236 2019-02-15T12:48:10Z Hagbard 2 Created page with "<includeonly>background-image: -moz-linear-gradient({{{1|}}}, {{{2|}}}); background-image: -o-linear-gradient({{{1|}}}, {{{2|}}}); background-image: -webkit-linear-gradient({{..." wikitext text/x-wiki <includeonly>background-image: -moz-linear-gradient({{{1|}}}, {{{2|}}}); background-image: -o-linear-gradient({{{1|}}}, {{{2|}}}); background-image: -webkit-linear-gradient({{{1|}}}, {{{2|}}}); background-image: linear-gradient({{#switch: {{{1|}}} | top = to bottom | bottom = to top | left = to right | right = to left | top left | left top = to bottom right | top right | right top = to bottom left | bottom left | left bottom = to top right | bottom right | right bottom = to top left | #default = {{{1}}} }}, {{{2|}}});</includeonly><noinclude> </noinclude> 28ea207a305c1e470f2f8fa54ec25b3130453c5d Template:Unicode 10 6 238 2019-02-15T12:50:30Z Hagbard 2 Created page with "<span class="Unicode">{{{1}}}</span><noinclude>" wikitext text/x-wiki <span class="Unicode">{{{1}}}</span><noinclude> 0eaf6d48452ec916f583b90d1dce0c1015cc4d1e OS X Systemvoraussetzungen 0 290 1566 2019-02-15T20:56:38Z Hagbard 2 Hagbard moved page [[OS X Systemvoraussetzungen]] to [[MacOS Systemvoraussetzungen]] wikitext text/x-wiki #REDIRECT [[MacOS Systemvoraussetzungen]] e965a4fe79c93030e1d7ed139df17523cb18e066 IOS-Geräte auf Hardwareeigenschaften prüfen 0 80 299 2019-02-16T09:09:40Z Hagbard 2 wikitext text/x-wiki [[Category:Development]]{{Hint|Die hier beschriebene Vorgehensweise ist ebenso für die Abfrage anderer hardwarespezifischer Details zu verwenden - beispielsweise um zu ermitteln, ob das verwendete Gerät ein GPS hat oder telefonieren kann. Als Beispiel wird hier jedoch nur die Existenz einer Kamera abgefragt.}}In manchen iPhone-/iPod touch-Applikationen ist es notwendig, beispielsweise auf die Exitenz einer Kamera zu prüfen damit die Applikation auf beiden Gerätetypen reibungslos funktioniert. Schließlich schmiert die Anwendung auf einem iPod touch (ohne Kamera) sang- und klanglos ab, sobald man einen [[ADC:/{{TT|UIImagePickerController}}] verwendet und Apple weist dann die Applikation im Review-Prozess für den App-Store auch zurück. Um also unnötige Verzögerungen zu vermeiden, kann man wie folgt vorgehen: ==Applikation benötigt zwingend eine Kamera== Wenn eine App unbedingt eine Kamera benötigt (z.B. bei einem Kamera-Tool), kann man die benötigten Hardwarekomponenten als Array oder Dictionary in die {{TT|Info.plist}} eintragen: <pre> UIRequiredDeviceCapabilities = still-camera </pre> ;Array :Hier wird die Eigenschaft "still-camera" als Wert eingetragen, wobei natürlich der Datentyp der Array-Elemente entsprechend auf "String" stehen muss ;Dictionary: :Hier wird das Element als "BOOL" Wert eingetragen mit "still-camera" als Key ;Beispiele: {| style="margin-left:24px; background-color:#f2f2f2; border-spacing:0px; padding:0px;" |-- ! style="width:150px;" | Key || Beschreibung |-- | {{TT|telephony}} || Telefonfunktion (für tel:// Links benötigt) |-- | {{TT|sms}} || SMS-Funktion (für sms:// Links benötigt) |-- | {{TT|still-camera}} || Für die Verwendung des {{TT|UIImagePickerController)), um für Fotos auf eine integrierte Kamera zuzugreifen |-- | {{TT|auto-focus-camera}} || Wenn man die Autofokus-Funktion einer Kamera benötigt |-- | {{TT|video-camera}} || Für die Verwendung des {{TT|UIImagePickerController)), um für Videos auf eine integrierte Kamera zuzugreifen |-- | {{TT|wifi}} || Wenn die Applikation WLAN-Zugang benötigt |-- | {{TT|accelerometer}} || Wenn die App {{TT|UIAccelerometer}} benutzt, um auf solche Events reagieren zu können. Wird für reine Displaydrehungen (Portrait <> Landscape) nicht benötigt. |-- | {{TT|location-services}} || Verwendung des {{TT|Core Location}} Frameworks. '''Hinweis: ''' wenn man explizit ein GPS benötigt, sollte man zusätzlich den folgenden {{TT|gps}} Schlüssel eintragen! |-- | {{TT|gps}} || App benötigt eine vorhandene GPS (odr AGPS) Hardware für die Ortsbestimmung |-- | {{TT|magnetometer}} || Bei Verwendung des {{TT|Core Location}} framework für richtungsbezogene Events |-- | {{TT|microphone}} || ... na, was wohl? |-- | {{TT|opengles-1}} || Bei Verwendung des OpenGL ES 1.1 Interface |-- | {{TT|opengles-2}} || Bei Verwendung des OpenGL ES 2.0 Interface |-- | {{TT|armv6}} || App wurde nur für den armv6 Befehlssatz übersetzt (verfügbar ab iPhone OS v3.1) |-- | {{TT|armv7}} || App wurde nur für den armv7 Befehlssatz übersetzt (verfügbar ab iPhone OS v3.1) |-- | {{TT|peer-peer}} || App benötigt Peer-to-Peer Verbindungen über Bluetooth (verfügbar ab iPhone OS v3.1) |} {{Important|Damit lässt sich die App nur auf Geräten mit diesen Hardwareeigenschaften starten und der App Store erlaubt auch nur auf solchen Geräten die Installation! Wenn die App jedoch mit Einschränkungen trotzdem lauffähig ist, sollte man die folgende Variante verwenden.}} ==In der App auf Existenz einer Eigenschaft abfragen== Alternativ lässt sich in der App selber auch die Kamera abfragen, um beispielsweise den Button, der einen {{TT|UIImagePickerController}} aufruft, auf einem iPod touch einfach zu deaktivieren oder eine entsprechende Meldung anzuzeigen. ===Kamera abfragen=== Die Existenz einer Kamera kann mit Hilfe der Methode [[ADC:/iphone/library/documentation/UIKit/Reference/UIImagePickerController_Class/UIImagePickerController/UIImagePickerController.html#//apple_ref/occ/clm/UIImagePickerController/isSourceTypeAvailable:|isSourceTypeAvailable:]] des {{TT|UIImagePickerController}} abgefragt werden: <source lang="objc"> if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { // Kamera ist verfügbar ... } else { // Keine Kamera } </source> ===GPS und Magnetometer abfragen=== Auf vorhandene GPS-Hardware kann nicht unmittelbar sonndern nur indirekt mit Hilfe des [[ADC:/iphone/library/documentation/CoreLocation/Reference/CLLocationManager_Class/CLLocationManager/CLLocationManager.html#//apple_ref/occ/cl/CLLocationManager|CLLocationManager]] aus dem [[ADC:/iphone/library/documentation/General/Conceptual/DevPedia-CocoaCore/Framework.html#//apple_ref/doc/uid/TP40008195-CH56|Core Location Framework]] geprüft werden. Dazu kann man eine sehr hohe Genauigkeit einstellen und entsprechend reagieren, wenn keine Daten in der gewünschten Genauigkeit vorliegen (siehe auch [[ADC:/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedFeatures/AdvancedFeatures.html#//apple_ref/doc/uid/TP40007072-CH14-SW9|hier]]) Die Verfügbarkeit von Magnetometer-Events testet über die Property {{TT|headingAvailable}} der Klasse {{TT|CLLocationManager}}: <source lang="objc"> if(myLocationManager.headingAvailable) { // ... } </source> {{Important|1='''Wichtig:''' Die Abfrage des Magnetometer ist erst seit iPhone OS Version 3.0 möglich, daher sollte zusätzlich eine entsprechende Abfrage durchgeführt werden, falls die App auch noch unter iPhone OS 2.x laufen soll. Beispiel: <pre>if(myLocationManager.headingAvailable == nil) { /// ... iPhone OS älter als 3.0 ... (headingAvailable ist erst ab 3.0 verfügbar) } </pre> }} ==Siehe auch== * iPhone Dev Center: [http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedFeatures/AdvancedFeatures.html Device Support] (apple.com) * [https://github.com/erica/uidevice-extension uidevice-extension] von Erica Sadun bce4b80fd809ad3901503b36d955137efb8f84b8 Template:Tt 10 26 1046 1045 2019-02-17T08:11:32Z Hagbard 2 wikitext text/x-wiki <noinclude>Vorlage zur Ausgabe einer Zeichenfolge in Monospaced-Schrift (Typewriter), z.B. für kurze Codeschnippsel oder Variablennamen im Fließtext. ;Verwendung: <nowiki>{{TT|Monospaced Text}}</nowiki> ;Ausgabe: {{TT|Monospaced Text}} </noinclude><includeonly><font style="font-family:courier,monospace; font-size:100%;">{{{1}}}</font></includeonly> 069562a95ba5abb8a7b7798fd5df6ced5b79266d 224 2019-02-17T08:16:15Z Hagbard 2 Hagbard moved page [[Template:TT]] to [[Template:Tt]] wikitext text/x-wiki <noinclude>Vorlage zur Ausgabe einer Zeichenfolge in Monospaced-Schrift (Typewriter), z.B. für kurze Codeschnippsel oder Variablennamen im Fließtext. ;Verwendung: <nowiki>{{TT|Monospaced Text}}</nowiki> ;Ausgabe: {{TT|Monospaced Text}} </noinclude><includeonly><font style="font-family:courier,monospace; font-size:100%;">{{{1}}}</font></includeonly> 069562a95ba5abb8a7b7798fd5df6ced5b79266d Template:TT 10 25 222 2019-02-17T08:16:15Z Hagbard 2 Hagbard moved page [[Template:TT]] to [[Template:Tt]] wikitext text/x-wiki #REDIRECT [[Template:Tt]] 6cdf18f0b03e84516fe5817447e57ab6daf31701 PHP Security 0 163 781 780 2019-02-17T08:17:34Z Hagbard 2 wikitext text/x-wiki [[Category:Development]]In diesem Artikel sollen Möglichkeiten vorgestellt Werden, PHP gegen Angriffe abzusichern. Dabei sollen neben einigen Konfigurationstipps auch auf Erweiterungen wie mod-Security, FASTCGI oder suexec vorgestellt und beschrieben werden. ==Konfigurationsdateien== PHP-Direktiven lassen sich prinzipiell auf 2 verschiedenen Wegen einstellen: * in der Konfigurationsdatei {{tt|php.ini}} * in einer {{tt|.htaccess}} Datei mit Hilfe der PHP Apache-Direktiven ===php.ini=== Es existieren üblicherweise verschiedene Exemplare der Datei {{tt|php.ini}} für verschiedene Einsatzzwecke, hier am Beispiel eines Debian-Systems: {|style="margin-top:10px; margin-bottom:10px; margin-left:10px;" |-- |bgcolor="#e2e2e2"|Ort||bgcolor="#e2e2e2"|Zweck |-- |{{tt|/etc/php.ini }} ||Globale Konfiguration |-- |{{tt|/etc/php4/apache/php.ini }} ||Konfiguration für das Apache-PHP-Modul |-- |{{tt|/etc/php4/cgi/php.ini }} ||Konfiguration für den CGI-Betrieb im Apache |-- |{{tt|/etc/php4/cli/php.ini }} ||Konfiguration für die Nutzung in Shell-Skripten |} Unter Mac OS X existiert in der Standardinstallation lediglich die folgende Datei: /private/etc/php.ini ===.htaccess=== Einige (nicht alle!) Konfigurationsdirektiven lassen sich auch innerhalb der sog. ".htaccess" Dateien verwenden. Das ermöglicht beispielsweise unterschiedliche Einstellungen für einzelne VirtualHosts oder Verzeichnisse - so sind Produktivinstallationen anders (wesentlich restriktiver) zu konfigurieren als Entwicklungssysteme. Weitere Informationen zur Verwendung von .htaccess Dateien sind in den [[#Weitere_Informationen|am Ende des Artikels verlinkten Seiten]] nachzulesen. ===Wichtige Einstellungen=== {|style="margin-top:10px; margin-bottom:10px; margin-left:10px;" |-- |bgcolor="#e2e2e2" width="220px" |Direktive||bgcolor="#e2e2e2" width="120px" |Wert||bgcolor="#e2e2e2"|Beschreibung |-- |{{tt|php_flag register_globals}}||off||EGPCS Variablen sind nicht mehr global zugänglich bzw. als globale Variablen registriert (EGPCS = Environment/Umgebung, GET, POST, Cookie, Server) |-- |{{tt|php_flag display_errors}}||off||Fehlermeldungen nicht im Client (Browser) darstellen |-- |{{tt|php_flag log_errors}}||on||Fehlermeldungen in ein Logfile schreiben |-- |{{tt|php_flag error_log}} ||$PFADANGABE||Pfadangabe für das Logfile, z.B. {{tt|/home/web/logs/php4.log}} |-- | || syslog || Fehlermeldungen werden durch syslogd protokolliert |} ==PHP safe mode== Der sog. "safe mode" von PHP dient in erster Linie dazu, Sicherheitsprobleme durch Dateizugriffe bei gemeinsam genutzten Server (sog. "shared server", wie sie beispielsweise bei handelsüblichen Web-Hosting Angeboten zum Einsatz kommen) zu verhindern. Sprich: Kunde A soll nicht auf die Dateien und Verzeichnisse des Kunden B zugreifen können. Anschließend überprüft der PHP-Parser, ob der Eigentümer der Datei identisch mit dem Benutzer ist, der das Skript aufruft. Außerdem ist im safe mode der Zugriff auf [http://de.php.net/manual/de/reserved.variables.php Umgebungsvariablen] nur lesend möglich. Dieser Ansatz hat jedoch den großen Nachteil erhebliche Nebenwirkungen auf verschiedenste PHP-Funktionen zu besitzen. Eine Übersicht der dadurch eingeschränkten Funktionen ist [http://de.php.net/manual/de/features.safe-mode.php#features.safe-mode.functions im PHP Handbuch] nachzulesen. ===safe mode aktivieren=== Aktiviert und konfiguriert wird der PHP safe mode in der Konfigurationsdatei {{tt|php.ini}} durch die folgenden Direktiven: {| |-- |bgcolor="#e2e2e2" width="250px"|Direktive||bgcolor="#e2e2e2"|Beschreibung |-- |safe_mode = on || safe mode anhand eines Benutzers |-- |safe_mode_gid = 0||safe mode anhand der Gruppenzugehörigkeit (anstatt safe-mode zu verwenden, unter Angabe der Group-ID) |-- |safe_mode_include_dir = || Freigabe von Verzeichnissen für die PHP-Funktionen include() und require(). Mehrere Verzeichnisse werden durch Kommata getrennt, die Freigabe gilt dabei für die angegebenen Verzeichnisse inklusive allen darin enthaltenen Unterverzeichnissen. |-- |safe_mode_exec_dir = || Freigabe von Verzeichnissen für Systemaufrufe durch Funktionen wie system() oder exec() (Handhabung siehe safe_mode_include_dir) |-- |safe_mode_allowed_env_vars = PHP_ ||Freigabe von Umgebungsvariablen für schreibenden Zugriff. Ist der Wert leer, werden ALLE Umgebungsvariablen freigegeben! Mehrere Variablen/Präfixe werden durch Kommata voneinander getrennt. |-- |safe_mode_protected_env_vars = LD_LIBRARY_PATH ||Enthält eine Liste aller Umgeungsvariablen, die <u>nicht</u> mit der Funktion putenv() veränderbar sein sollen. '''Hinweis:''' die Angabe safe_mode_allowed_env_vars hebt diesen Schutz wieder auf! |-- |} ===safe mode abfragen=== Mit den folgenden Zeilen PHP-Code kann abgefragt werden, ob der safe mode aktiviert ist: <?php if ( ini_get('safe_mode') ) { // safe mode aktiviert } else { // safe mode nicht aktiviert } ===Dateizugriffe mit {{tt|open_basedir}} einschränken=== Eine weitere Möglichkeit alternativ zum safe mode, Dateizugriffe einzuschränken, ist der Einsatz der PHP Direktive open_basedir Im Rahmen der Apache-Konfiguration. Dadurch ist es möglich, für jeden Benutzer des Servers Dateizugriffsopertationen auf ein bestimmtes Verzeichnis (üblicherweise dessen Document Root) einzuschränken, z.B.: <Directory /home/web/user0815/> php_admin_value open_basedir /home/web/user0815/ </Directory> Durch folgenden Eintrag: disable_functions readfile,system in der Datei {{tt|php.ini}} kann zusätzlich der Zugriff durch die PHP Funktionen readfile() und system() verhindert werden (siehe folgender Abschnitt). ===Direktiven unabhängig von {{tt|safe_mode}}=== {| |-- |bgcolor="#e2e2e2" width="200px"|Direktive||bgcolor="#e2e2e2"|Beschreibung |-- |open_basedir = || Freigabe eines Verzeichnisses für Dateioperationen, wirksam für das Verzeichnis mit allen Unterverzeichnissen, unabhängig von der safe_mode Konfiguration. Bei Angabe eines Punktes "." wird der Speicherort des gerade ausgeführten Skriptes als basedir verwendet (sicherheitstechnisch bedenklich, da durch chdir() veränderbar). Kann durch die Angabe von {{tt|php_admin_value open_basedir none}} in der {{tt|httpd.conf}} deaktiviert werden. |-- |disable_functions = || Eine Liste von Funktionen, die (aus Sicherheitsgründen) nicht ausgeführt werden dürfen. Kann auch in der Datei {{tt|php.ini}} konfiguriert werden, nicht jedoch in der Datei {{tt|httpd.conf}} |-- |disable_classes = || Angabe einer Liste von Klassen, die (aus Sicherheitsgründen) nicht verwendet werden dürfen. Kann auch in der Datei {{tt|php.ini}} konfiguriert werden, nicht jedoch in der Datei {{tt|httpd.conf}} |} ==suexec, FastCGI und suPHP== ''... kommt noch ...'' Web-Links: * [http://www.suphp.org/ suPHP Projekt] (Ausführen von PHP Skripten mit den Rechten des Dateibesitzers) * [http://httpd.apache.org/docs/1.3/suexec.html suexec] (apache.org) * FastCGI: [http://www.fastcgi.com/ Projektseite], [[wikipedia:de:FastCGI|Wikipedia-Artikel]] ==Apache-Hardening mit mod_security== mod-Security ist eine [[wikipedia:de:Web_Application_Firewall|Applikationsfirewall]] in Form eines Apache-Moduls. Dabei kann anhand von Regeln - in denen auch [[wikipedia:de:Regulärer Ausdruck|reguläre Ausdrücke]] zum Einsatz kommen können - definiert werden, welche GET- und POST-Aufrufe<ref name="HTTPrequest">GET und POST sind verschiedene Methoden für [[wikipedia:de:Hypertext_Transfer_Protocol|HTTP]]-Anragen an einen Server</ref> "böse" sind und daher blockiert werden sollen. Diese Regeln werden dann direkt in die Apache-Konfiguration integriert und sehen beispielsweise so aus: <nowiki>SecFilter "drop[[:space:]]table"</nowiki> Obiger Eintrag blockiert also den String "drop table" und soll damit das Löschen einer Tabelle via [[wikipedia:de:SQL|SQL-Query]] verhindern. Mit diese Modul können also recht einfach verschiedene Ziele verfolgt werden: * Verminderung der Gefahr von SQL-Injection (Einfügen von Datenbankabfragen durch mangelhafte Überprüfung eingegebener Daten, z.B. in Formularen oder über die URL) * Abfangen von Systemaufrufen über fehlerhafte Skripte * Protokollierung sicherheitsrelevanter Vorfälle * Absichern des WebServers durch die "chroot"-Funktion von mod_security (Kapseln der Laufzeitumgebung des Webservers, um bei Angriffen Übergriffe auf die Systemumgebung zu verhindern) Außerdem bietet mod_security noch einige nette "Security-by-Obscurity" Funktionen wie beispielsweise das Ändern der Serversignatur: SecServerSignature "Microsoft-IIS/5.0" Der Einsatz von mod_security empfiehlt sich vor allem in den folgenden Fällen: * Software, die nur ungenügend getestet wurde * Software, die bekanntermaßen recht häufig Sicherheitslücken aufweist * Eigenentwicklungen (Jeder macht Fehler) mod_security bietet also einige wertvolle Funktionen zur Absicherung eines Webservers und der darin laufenden Applikationen, ohne gleich auf schwergewichtigere Lösungen wie [[wikipedia:de:Intrusion_Detection_System|IDS]] (Intrusion Detection System, z.B. [[wikipedia:de:Snort|Snort]]), [[wikipedia:de:Proxy|Proxies]] oder [[wikipedia:de:Application_Layer_Gateway|ALG]] (Application Level Gateway) setzen zu müssen. Weitere Informationen zu mod_security finden sich [[#mod_security|am Ende dieses Artikels]]. ==Verschiedene Tipps== ===PHP Skripte vor direkter Ausführung sichern=== Eine einfache Möglichkeit, das Ausführen von PHP-Skripten - und auch allgemein auch das Auslesen von durch PHP-Skripte eingebundene Dateien - durch direkte Adressierung im Browser zu verhindern, ist das Erstellen einer .htaccess-Datei mit dem folgenden Inhalt: order allow,deny deny from all Dadurch wird der direkte Zugriff auf die Dateien verhindert, Skripte können diese Dateien jedoch weiterhin problemlos einbinden und verwenden. ==Weitere Informationen== ===PHP Ressourcen=== * Artikel [[Webentwicklungs-Ressourcen]] hier im Wiki * [http://de.php.net/manual/de/ PHP Handbuch] (offizielles Handbuch) * Apple Developer Connection: [[ADC:internet/opensource/php.html|PHP on Mac OS X]] * O'Reilly [http://www.onlamp.com/php/ ONLamp.com/php]: PHP devcenter * [http://www.hardened-php.net/ Hardened-PHP Project] * [http://www.phpsec.org/ PHP Security Consortium] ===PHP Konfiguration=== * PHP Handbuch: [http://de.php.net/manual/de/security.php Teil IV. Sicherheit] * php.net: [http://de2.php.net/manual/de/print/configuration.php#configuration.file Informationen zur Konfiguration] * php.net: [http://de2.php.net/manual/de/print/ini.php Übersicht aller php.ini Direktiven] und [http://de2.php.net/manual/de/print/ini.core.php deren Beschreibung] * Securityfocus: [http://www.securityfocus.com/infocus/1706 Securing PHP Step-by-Step] * [http://phpsec.org/projects/phpsecinfo/ PHPSecInfo] - gibt analog zu {{tt|phpinfo()}} sicherheitsrelevante Informationen zur aktuellen PHP-Konfiguration aus. ===PHP safe mode=== * PHP Handbuch: [http://de.php.net/manual/de/features.safe-mode.php Kapitel 42. Safe Mode] * domainepublic.net: [http://doc.domainepublic.net/php/doc.php.court/ini.sect.safe-mode.html Konfigurationsübersicht] (Sécurité et Safe Mode) ===Apache Web Server=== * [http://httpd.apache.org Projektseite] des Apache Server Project * [http://de.selfhtml.org/servercgi/server/apache.htm Kleine Apache-Einführung] bei SelfHTML.org * Securityfocus: [http://www.securityfocus.com/infocus/1694 Securing Apache Step-by-Step] * Securityfocus: [http://www.securityfocus.com/infocus/1786 Securing Apache 2 Step-by-Step] ===.htaccess=== * [http://de.selfhtml.org/servercgi/server/htaccess.htm SelfHTML Artikel] zu .htaccess Dateien * [[wikipedia:de:Htaccess|Wikipedia-Artikel]] zum Thema * Beschreibung in der Apache Dokumentation, für [http://httpd.apache.org/docs/1.3/howto/htaccess.html Apache 1.3] und [http://httpd.apache.org/docs/2.0/howto/htaccess.html Apache 2] * Ken Coar: [http://apache-server.com/tutorials/ATusing-htaccess.html Using .htaccess Files with Apache] ===mod_security=== * [http://www.modsecurity.org/ Projektseite] * modsecurity.org: [http://www.modsecurity.org/documentation/quick-examples.html Quick examples] * Securityfocus: [http://www.securityfocus.com/infocus/1739 Web Security Appliance With Apache and mod_security] * O'Reilly [http://www.onlamp.com/ ONLamp.com]: ** [http://www.onlamp.com/pub/a/apache/2003/11/26/mod_security.html Introducing mod_security] ** [http://www.onlamp.com/pub/a/onlamp/2005/06/09/wss_security.html Securing Web Services with mod_security] * Fedora News: [http://fedoranews.org/jorge/mod_security/ HOWTO: Enhancing Apache with mod_security] ===PHPIDS=== * [http://php-ids.org/ Projektseite] * PHPIDS [http://groups.google.de/group/php-ids/ Google Group] * [http://www.heise.de/security/Erste-Schritte-mit-der-Einbruchserkennung-PHPIDS--/artikel/136032 Artikel auf heise security] vom 24.04.2009] * [http://www.net-developers.de/2009/05/23/phpids-intrusion-detection-system/ Weiterer Artikel auf net-developers.de] ===Weitere Themen=== * Securityfocus: [http://www.securityfocus.com/infocus/1726 Securing MySQL Step-by-Step] ===Bücher=== * '''PHP-Sicherheit. PHP/MySQL-Webanwendungen sicher programmieren'''<br />von Christopher Kunz, Peter Prochaska (Dpunkt Verlag), ISBN 3898643697<br />Buchtipp des [http://www.phpmagazin.de/itr/buchtipps/psecom,id,503,nodeid,63.html PHP-Magazins] ----- <references/> ----- ''Verfasser: [[Benutzer:Hagbard|hagbard]]'' ebeb2237cf68584935f43042aaa3ddae91d1feb4 Stickies-Quickies 0 320 1628 2019-02-17T08:25:46Z Hagbard 2 wikitext text/x-wiki [[Category:App]]Dieser Artikel soll der Sammlung verschiedener Tipps und Tricks rund um die Stickies (Notizzettel) von Mac OS X sein. ==Listen in Notizzetteln== [[Image:Stickies_-_Listen_in_Notizzetteln.png|right|150px|thumb|Listen in Notizzetteln]] Die Stickies App unterstützt formatierten Text mit Listen und verschiedenen Textstilen, besitzt hierfür jedoch keine Benutzerelemente. Lediglich beim Kopieren und Einfügen von beispielsweise einer Liste aus einer Webseite heraus übernehmen die Stickies eine solche Liste. Wenn man nun in einem Listenelement die Return-Taste betätigt, wird nicht eine neue leere Zeile erstellt (wie man es eigentlich vermuten sollte, da die Stickies eigentlich keine Funktion zum Erstellen von Listenelementen besitzen) sondern ein neues Listenelement (siehe Abbildung links). Das erkennt man auch daran, dass die Inhalte der Notizzettel in der Datei "StickiesDatabase" (zu finden unter {{tt|~/Library/}}) im [[wikipedia:de: Rich_Text_Format| Rich Text Format]] (RTF) gespeichert werden, die Listenelemente des Beispiels in der Abbildung erscheinen dann in dieser Form: \ls1\ilvl0\cf2 {\listtext \'a5 }-v = verbose\ {\listtext \'a5 }-f = force\ {\listtext \'a5 }-c = create if needed\ {\listtext \'a5 }-C = setup system\ {\listtext \'a5 }-t = test unlock\ Mehr Infos zu RTF finden sich in der Spezifikation [http://msdn.microsoft.com/library/en-us/dnrtfspec/html/rtfspec.asp über diesen Link], theoretisch müsste sich der Funktionsumfang der Stickies auf diesem Wege doch vergößern lassen ... b7abe6d2164168d72fdf1cf79b7f063c32d30d28 Pmset 0 310 1608 2019-02-17T08:31:24Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]]{{Man|pmset|pmset}} ist ein [[:Category:Terminal|Terminal]]-Programm, um verschiedene Parameter der Energieverwaltung wesentlich feingranularer zu konfigurieren, als es die Systemeinstellungen ("Energie" PrefPane) erlauben. Prinzipiell ist das Kommando mit Administrator-Privilegien auszuführen, insbesondere für die Änderung von Einstellungen wie z.B. der HDD Spindown-Time oder Wake-on-LAN ist dies notwendig. Durch den Parameter {{tt|force}} kann das jedoch für einige pmset-Kommandos umgangen werden, um beispielsweise den Mac sofort und ohne Angabe eines Passwortes in den Ruhezustand versetzen zu können. == Allgemeines == ===Konfigurationsdateien=== Systemweite Einstellungen: /Library/Preferences/SystemConfiguration/com.apple.PowerManagement.plist Zeitabhängige Einstellungen: /Library/Preferences/SystemConfiguration/com.apple.AutoWake.plist ===Aktuelle Konfiguration anzeigen=== pmset -g kann auch mit verschiedenen Kommandos kombiniert werden, z.B: pmset -g disk pmset -g [disk | live | cap | sched | ups | ps | pslog] ===Hilfe zur Nutzung anzeigen=== pmset --help == Einstellungen == ===Wake-on-LAN de-/aktivieren=== sudo pmset womp 0 sudo pmset womp 1 ===Spindown für Festplatten=== {{Information|'''Externe Festplatten:'''<br /><br /> Dies funktioniert jedoch nur für interne Festplatten! Externe USB- oder Firewire-Festplatten werden generell nach einer Weile der Untätigkeit heruntergefahren, unabhängig von Energieeinstellungen oder pmset-Konfigurationen. Zu diesem Thema ist [http://www.thexlab.com/faqs/harddrivesleep.html hier] (thexlab.com) ein interessanter Artikel verfügbar.<br /><br /> Um bei externen Festplatten den Spindown dauerhaft zu deaktivieren, sind (unter Snow Leopard und neuer) unter Umständen <u>alle</u> Ruhezustände (Rechner, Monitor und Festplatten) komplett zu deaktivieren, erst dann scheinen auch externe Festplatten nicht mehr heruntergefahren zu werden. Außerdem stehen hierfür unter anderem folgende (kostenlose) Hilfsprogramme zur Verfügung: * [http://www.macupdate.com/app/mac/31158/keep-drive-spinning Keep Drive Spinning] * [http://www.macmaps.com/software.html#spindown Spindown fix] * [http://braintrigger.com/software/SleeplessHD/ SleeplessHD] (spricht laufend die Festplatte an, so dass sie nicht herunterfährt) * [http://www.maintain.se/cocktail/index.php Cocktail] (System Maintenance Software) Allerdings kann auch durchaus das Gehäuse selbst (bzw. der dort verbaute Controller) für den Spindown verantwortlich sein, was aber offenbar relativ selten der Fall ist. Dann jedoch lässt sich die Spindowntime nicht beeinflussen.}} Mit folgendem Kommando wird verhindert, dass angeschlossene Festplatten nach einer best. Zeit heruntergefahren werden (bei Notebooks nur, wenn das Netzteil angeschlossen ist): sudo pmset -c disksleep 0 Um diese Einstellung für alle Stromquellen zu verwenden, ist folgendes Kommando zu verwenden: sudo pmset -a disksleep 0 Analog dazu eine Spindown-Time von einer Stunde (60 Minuten) einstellen (alle Stromquellen): sudo pmset -a disksleep 60 Dasselbe, jedoch nur für Batteriebetrieb (Spindown für Netzbetrieb deaktiviert): sudo pmset -c disksleep 0 -b disksleep 60 Diese Einstellungen sind permanent und auch nach dem nächsten Neustart noch gültig. Die Standardeinstellung ist übrigens 10 Minuten für Netzbetrieb und 5 Minuten für Batteriebetrieb. Dieselbe Funktion wird über die Checkbox "wenn möglich Ruhezustand der Festplatte(n) aktivieren" in den Energieeinstellungen bereitgestellt. {{Information|Außerdem gibt es ein betriebssystemversion-abhängiges Verhalten, falls die Checkbox in den Energieeinstellungen deaktiviert ist. Unter Snow Leopard (10.6) und neuer werden die Festplatten dann nicht mehr heruntergefahren (entspricht also {{TT|pmset disksleep 0}}), in älteren Versionen nach 3 Stunden (entspricht {{TT|pmset disksleep 180}})}} == Tipps für Notebooks == ===Aufwachen beim Wechsel der Stromzufuhr verhindern=== Standardmäßig wacht der Mac beim Anstöpseln des Netzteils auf, was mit dem folgenden Kommando verhindert werden kann: sudo pmset acwake 0 ===Aufwachen beim Aufklappen des Displays verhindern=== sudo pmset lidwake 0 ===Appleskript für Display-Sleep=== <source lang="applescript"> on run {input, parameters} do shell script ("pmset displaysleep 0 force") return input end run </source> ===Bewegungssensor (de-)aktivieren=== Mit folgenden Zeilen lässt sich der in Apple-Notebooks (seit den letzten G4-Generationen) verbaute [http://support.apple.com/kb/HT1935?viewlocale=de_DE Bewegungssensor] (de-)aktivieren: sudo pmset -a sms 0 sudo pmset -a sms 1 Das macht jedoch nur in sehr seltenen Fällen Sinn, da der Sensor dafür sorgt, dass bei Erschütterungen und im freien Fall die Festplatte ausgeschaltet wird und verhindert dadurch mögliche Datenverluste sowie Beschädigungen am Laufwerk. Siehe: [http://support.apple.com/kb/HT1934?viewlocale=de_DE Apple Supportdokument] ==Weitere Informationen== * {{Man|pmset|manpage pmset}} * {{Man|sudo|manpage sudo}} 220f39383fcd49daa1c940efe710cd1c77c9b6f8 MacOS beschleunigen und ausmisten 0 191 1007 1006 2019-02-17T08:35:17Z Hagbard 2 wikitext text/x-wiki [[Category:OS]] ==Inhalte== '''Warnung:''' Die Folgenden Aktionen bitte nur durchführen, wenn man genau weiß, was man tut! Außerdem sollten solche Änderungen dokumentiert werden, um bei späteren Fehlersituationen die hier durchgeführten Änderungen parat zu haben (zum Fehler einordnen) und sie ggf. rückgängig machen zu können. ===Performance optimieren=== * kaputte Fonts finden und deaktivieren/deinstallieren * überflüssige und nicht benutzte Schriften deaktivieren (Aktivieren nur bei Benutzung, beschleunigt die Darstellung im Auswahlfenster) * Wichtige Schriften (nicht deaktivieren!): Geneva, Monaco, Lucida Grande, Courier, Helvetica, Times, Symbol, Zapf Dingbats und ggf. zusätzliche Fonts von Drittanbietern (z.B. MS Office) * Caches löschen * Systemoptimierung * prebinding (vor 10.4) * Zugriffsrechte reparieren (Link) * Systemeigene Default-Cronjobs (befinden sich in {{tt|/etc/periodic/}}) * Manuelles aufrufen mit {{tt|sudo periodic daily weekly monthly}} (als admnin) oder mit [http://www.macupdate.com/info.php/id/5856 MacJanitor] bzw. anderen Tools, vor allem wichtig wenn der Mac nachts immer aus ist und die cronjobs somit ao gut wie nie laufen. * Ab Tiger läuft alles über {{Man|launchd|launchd}} / {{Man|launchctl|launchctl}} und nicht mehr über crond * immer genügend Platz auf den Festplatten (bzw. "Volumes") freihalten (5-10%), damit die HFS+ Selbstoptimierungsfunktionen greifen (aka Defragmentierung etc.) * zusätzlichen Platz für die Auslagerungsdatei frei halten (aka "virtueller Speicher"), kann schon mal 1-2 GB umfassen. * usw. ===Platzverschwendung verhindern=== * Bereits bei der Installation: angepasste Installation (Clean Install) * Fonts und Lokalisierungen/Sprachdateien * Demo-Filme und Medien (z.B. AIFF-Loops von GarageBand) * überflüssige Treiber (z.B. Druckertreiber) * temporäre Dateien nach einer Installation * ... ===Arbeitspeicher=== * '''beliebte Speicherschleudern''' sind vor allem Webbrowser (incl. Safari, Seamonkey/Firefox, Camino), vor allem wenn sie längere Zeit gestartet sind und häufiger benutzt werden. Dann belegen sie gern einmal 200-300 MB physikalischen RAM oder mehr. Diese Programme sollten also immer mal wieder beendet und neu gestartet werden. * '''Dashboard und die aktiven Widgets''' hängen hin und wieder auch einmal, manchmal gehen Widgets auch nicht in den Suspend Mode während Dashboard nicht aktiv ist und benötigen dann u.U. auch viel CPU-Last und Arbeitsspeicher. Empfehlung: das "DisableDashboard" Widget (siehe [[Dashboard]]) zum gelegentlichen Neustart von Dashboard verwenden. * Hin und wieder einmal abmelden, das gibt einiges an Arbeitsspeicher frei. Im Anmeldebildschirm kann dann auch durch die Eingabe von ">exit" im Benutzerfeld der WindowServer neu gestartet werden. Nach einer längeren Laufzeit belegt auch er unter Umständen relativ viel Arbeitsspeicher (siehe [[Spiele mit dem Login Screen]]). * Es können auch eine Reihe [[Deaktivieren ungenutzter Hintergrunddienste|unerwünschter Hintergrunddienste deaktiviert]] werden, allerdings auf eigene Gefahr! Man sollte genau wissen, was man hierbei tut, da durchaus Nebeneffekte auftreten könnten. ===Optimierungen kosmetischer Art=== * .DS_Store Dateien verhindern, lästig vor allem bei der parallelen Nutzung von Volumes unter Linux und/oder Windows * ... ===Häufige Probleme=== * PlugIns und Erweiterungen nach System-/Anwendungsupdates (z.b. Safari, Mail, ...) * ... ===Unnötige Aktionen / Was man besser bleiben lassen sollte=== * Logfiles löschen (siehe oben), diese werden ohnehin rotiert (gepackt und archiviert) und nehmen daher üblicherweise nicht viel Platz weg. Es sei denn man weiß genau, was man tut (z.B. Logfiles von Anwendungen, die gar nicht mehr installiert sind) * Receipts in {{tt|/Library/Receipts}} löschen (sollte man tunlichst unterlassen, da diese Dateien von Mac OS X unter anderem für die Zugriffsrechtereparatur verwendet werden. * ... ===verwendbare Tools=== * Kommandozeilentools wie {{Man|ps|ps}}, {{Man|top|top}}, {{Man|kill|kill}} (bordwerkzeug) * [[apfelwiki:Aktivitäts-Anzeige|Aktivitäts-Anzeige]] (bordwerkzeug / [[apfelwiki:Dienstprogramme|Dienstprogramme]]) * [[MU:OnyX|OnyX]] (free) * [http://www.macupdate.com/info.php/id/5856 MacJanitor] (free) * [[sourceforge:Monolingual|Monolingual]] (oss) * [http://www.macupdate.com/info.php/id/14393 Disk Inventory] * Applikations-Helferlein, z.B. für Safari (SafariEnhancer, SafariSpeed, SafariFixer, ...) * siehe auch Artikel [[Systemwartungstools]] 527d61f892db80ed2d823d78a812f1894c46f8c1 1008 1007 2019-02-17T08:37:39Z Hagbard 2 wikitext text/x-wiki [[Category:OS]] ==Inhalte== '''Warnung:''' Die Folgenden Aktionen bitte nur durchführen, wenn man genau weiß, was man tut! Außerdem sollten solche Änderungen dokumentiert werden, um bei späteren Fehlersituationen die hier durchgeführten Änderungen parat zu haben (zum Fehler einordnen) und sie ggf. rückgängig machen zu können. Bei solchen Eingriffen ins System sollte ein laufend aktualisiertes Backup selbstverständlich sein, idealerweise ein kompletter Klon des Systemvolume, erstellt mit einem Hilfsprogramm wie dem [https://www.bombich.com CCC]. Im Fehlerfall kann dann einfach von diesem Volume gebootet oder das System davon wiederhergestellt werden. ===Performance optimieren=== * kaputte Fonts finden und deaktivieren/deinstallieren * überflüssige und nicht benutzte Schriften deaktivieren (Aktivieren nur bei Benutzung, beschleunigt die Darstellung im Auswahlfenster) * Wichtige Schriften (nicht deaktivieren!): Geneva, Monaco, Lucida Grande, Courier, Helvetica, Times, Symbol, Zapf Dingbats und ggf. zusätzliche Fonts von Drittanbietern (z.B. MS Office) * Caches löschen * Systemoptimierung * prebinding (vor 10.4) * Zugriffsrechte reparieren (Link) * Systemeigene Default-Cronjobs (befinden sich in {{tt|/etc/periodic/}}) * Manuelles aufrufen mit {{tt|sudo periodic daily weekly monthly}} (als admnin) oder mit [http://www.macupdate.com/info.php/id/5856 MacJanitor] bzw. anderen Tools, vor allem wichtig wenn der Mac nachts immer aus ist und die cronjobs somit ao gut wie nie laufen. * Ab Tiger läuft alles über {{Man|launchd|launchd}} / {{Man|launchctl|launchctl}} und nicht mehr über crond * immer genügend Platz auf den Festplatten (bzw. "Volumes") freihalten (5-10%), damit die HFS+ Selbstoptimierungsfunktionen greifen (aka Defragmentierung etc.) * zusätzlichen Platz für die Auslagerungsdatei frei halten (aka "virtueller Speicher"), kann schon mal 1-2 GB umfassen. * usw. ===Platzverschwendung verhindern=== * Bereits bei der Installation: angepasste Installation (Clean Install) * Fonts und Lokalisierungen/Sprachdateien * Demo-Filme und Medien (z.B. AIFF-Loops von GarageBand) * überflüssige Treiber (z.B. Druckertreiber) * temporäre Dateien nach einer Installation * ... ===Arbeitspeicher=== * '''beliebte Speicherschleudern''' sind vor allem Webbrowser (incl. Safari, Seamonkey/Firefox, Camino), vor allem wenn sie längere Zeit gestartet sind und häufiger benutzt werden. Dann belegen sie gern einmal 200-300 MB physikalischen RAM oder mehr. Diese Programme sollten also immer mal wieder beendet und neu gestartet werden. * '''Dashboard und die aktiven Widgets''' hängen hin und wieder auch einmal, manchmal gehen Widgets auch nicht in den Suspend Mode während Dashboard nicht aktiv ist und benötigen dann u.U. auch viel CPU-Last und Arbeitsspeicher. Empfehlung: das "DisableDashboard" Widget (siehe [[Dashboard]]) zum gelegentlichen Neustart von Dashboard verwenden. * Hin und wieder einmal abmelden, das gibt einiges an Arbeitsspeicher frei. Im Anmeldebildschirm kann dann auch durch die Eingabe von ">exit" im Benutzerfeld der WindowServer neu gestartet werden. Nach einer längeren Laufzeit belegt auch er unter Umständen relativ viel Arbeitsspeicher (siehe [[Spiele mit dem Login Screen]]). * Es können auch eine Reihe [[Deaktivieren ungenutzter Hintergrunddienste|unerwünschter Hintergrunddienste deaktiviert]] werden, allerdings auf eigene Gefahr! Man sollte genau wissen, was man hierbei tut, da durchaus Nebeneffekte auftreten könnten. ===Optimierungen kosmetischer Art=== * .DS_Store Dateien verhindern, lästig vor allem bei der parallelen Nutzung von Volumes unter Linux und/oder Windows * ... ===Häufige Probleme=== * PlugIns und Erweiterungen nach System-/Anwendungsupdates (z.b. Safari, Mail, ...) * ... ===Unnötige Aktionen / Was man besser bleiben lassen sollte=== * Logfiles löschen (siehe oben), diese werden ohnehin rotiert (gepackt und archiviert) und nehmen daher üblicherweise nicht viel Platz weg. Es sei denn man weiß genau, was man tut (z.B. Logfiles von Anwendungen, die gar nicht mehr installiert sind) * Receipts in {{tt|/Library/Receipts}} löschen (sollte man tunlichst unterlassen, da diese Dateien von Mac OS X unter anderem für die Zugriffsrechtereparatur verwendet werden. * ... ===verwendbare Tools=== * Kommandozeilentools wie {{Man|ps|ps}}, {{Man|top|top}}, {{Man|kill|kill}} (bordwerkzeug) * [[apfelwiki:Aktivitäts-Anzeige|Aktivitäts-Anzeige]] (bordwerkzeug / [[apfelwiki:Dienstprogramme|Dienstprogramme]]) * [[MU:OnyX|OnyX]] (free) * [http://www.macupdate.com/info.php/id/5856 MacJanitor] (free) * [[sourceforge:Monolingual|Monolingual]] (oss) * [http://www.macupdate.com/info.php/id/14393 Disk Inventory] * Applikations-Helferlein, z.B. für Safari (SafariEnhancer, SafariSpeed, SafariFixer, ...) * siehe auch Artikel [[Systemwartungstools]] 2d96be3bba003ab63945b307ada280b0a70f879e 1009 1008 2019-02-17T08:39:15Z Hagbard 2 wikitext text/x-wiki [[Category:OS]] ==Inhalte== '''Warnung:''' Die Folgenden Aktionen bitte nur durchführen, wenn man genau weiß, was man tut! Außerdem sollten solche Änderungen dokumentiert werden, um bei späteren Fehlersituationen die hier durchgeführten Änderungen parat zu haben (zum Fehler einordnen) und sie ggf. rückgängig machen zu können. Bei solchen Eingriffen ins System sollte ein laufend aktualisiertes Backup selbstverständlich sein, idealerweise ein kompletter Klon des Systemvolume, erstellt mit einem Hilfsprogramm wie dem [https://www.bombich.com CCC]. Im Fehlerfall kann dann einfach von diesem Volume gebootet oder das System davon wiederhergestellt werden. ===Performance optimieren=== * kaputte Fonts finden und deaktivieren/deinstallieren * überflüssige und nicht benutzte Schriften deaktivieren (Aktivieren nur bei Benutzung, beschleunigt die Darstellung im Auswahlfenster) * Wichtige Schriften (nicht deaktivieren!): Geneva, Monaco, Lucida Grande, Courier, Helvetica, Times, Symbol, Zapf Dingbats und ggf. zusätzliche Fonts von Drittanbietern (z.B. MS Office) * Caches löschen * Systemoptimierung * prebinding (vor 10.4) * Zugriffsrechte reparieren (Link) * Systemeigene Default-Cronjobs (befinden sich in {{tt|/etc/periodic/}}) * Manuelles aufrufen mit {{tt|sudo periodic daily weekly monthly}} (als admnin) oder mit [http://www.macupdate.com/info.php/id/5856 MacJanitor] bzw. anderen Tools, vor allem wichtig wenn der Mac nachts immer aus ist und die cronjobs somit ao gut wie nie laufen. * Ab Tiger läuft alles über {{Man|launchd|launchd}} / {{Man|launchctl|launchctl}} und nicht mehr über crond * immer genügend Platz auf den Festplatten (bzw. "Volumes") freihalten (5-10%), damit die HFS+ Selbstoptimierungsfunktionen greifen (aka Defragmentierung etc.) * zusätzlichen Platz für die Auslagerungsdatei frei halten (aka "virtueller Speicher"), kann schon mal 1-2 GB umfassen. * usw. ===Platzverschwendung verhindern=== * Bereits bei der Installation: angepasste Installation (Clean Install) * Fonts und Lokalisierungen/Sprachdateien * Demo-Filme und Medien (z.B. AIFF-Loops von GarageBand) * überflüssige Treiber (z.B. Druckertreiber) * temporäre Dateien nach einer Installation * ... ===Arbeitspeicher=== * '''beliebte Speicherschleudern''' sind vor allem Webbrowser (incl. Safari, Seamonkey/Firefox, Camino), vor allem wenn sie längere Zeit gestartet sind und häufiger benutzt werden. Dann belegen sie gern einmal 200-300 MB physikalischen RAM oder mehr. Diese Programme sollten also immer mal wieder beendet und neu gestartet werden. * '''Dashboard und die aktiven Widgets''' hängen hin und wieder auch einmal, manchmal gehen Widgets auch nicht in den Suspend Mode während Dashboard nicht aktiv ist und benötigen dann u.U. auch viel CPU-Last und Arbeitsspeicher. Empfehlung: das "DisableDashboard" Widget (siehe [[Dashboard]]) zum gelegentlichen Neustart von Dashboard verwenden. * Hin und wieder einmal abmelden, das gibt einiges an Arbeitsspeicher frei. Im Anmeldebildschirm kann dann auch durch die Eingabe von ">exit" im Benutzerfeld der WindowServer neu gestartet werden. Nach einer längeren Laufzeit belegt auch er unter Umständen relativ viel Arbeitsspeicher (siehe [[Spiele mit dem Login Screen]]). * Es können auch eine Reihe [[Deaktivieren ungenutzter Hintergrunddienste|unerwünschter Hintergrunddienste deaktiviert]] werden, allerdings auf eigene Gefahr! Man sollte genau wissen, was man hierbei tut, da durchaus Nebeneffekte auftreten könnten. ===Optimierungen kosmetischer Art=== * .DS_Store Dateien verhindern, lästig vor allem bei der parallelen Nutzung von Volumes unter Linux und/oder Windows * ... ===Häufige Probleme=== * PlugIns und Erweiterungen nach System-/Anwendungsupdates (z.b. Safari, Mail, ...) * ... ===Unnötige Aktionen / Was man besser bleiben lassen sollte=== * Logfiles löschen (siehe oben), diese werden ohnehin rotiert (gepackt und archiviert) und nehmen daher üblicherweise nicht viel Platz weg. Es sei denn man weiß genau, was man tut (z.B. Logfiles von Anwendungen, die gar nicht mehr installiert sind) * Receipts in {{tt|/Library/Receipts}} löschen (sollte man tunlichst unterlassen, da diese Dateien von Mac OS X unter anderem für die Zugriffsrechtereparatur verwendet werden. * ... ===verwendbare Tools=== * Kommandozeilentools wie {{Man|ps|ps}}, {{Man|top|top}}, {{Man|kill|kill}} (bordwerkzeug) * [[apfelwiki:Aktivitäts-Anzeige|Aktivitäts-Anzeige]] (bordwerkzeug / [[apfelwiki:Dienstprogramme|Dienstprogramme]]) * [https://www.titanium-software.fr/en/onyx.html OnyX] (free) * [http://www.macupdate.com/info.php/id/5856 MacJanitor] (free) * [https://ingmarstein.github.io/Monolingual/ Monolingual] (oss) * [http://www.macupdate.com/info.php/id/14393 Disk Inventory] * Applikations-Helferlein, z.B. für Safari (SafariEnhancer, SafariSpeed, SafariFixer, ...) * siehe auch Artikel [[Systemwartungstools]] 777253afb741c7725a7eed2cb2e97e57f207cbee ITunes Ping-Buttons ausblenden 0 87 313 2019-02-17T09:11:46Z Hagbard 2 Hagbard moved page [[ITunes 10 - Ping-Buttons ausblenden]] to [[ITunes Ping-Buttons ausblenden]] wikitext text/x-wiki [[Category:Hint]] In iTunes wurde mit Version 10 bekanntermaßen die später wieder eingestellte Social-Networking-Plattform "[[wikipedia:de:ITunes#Ping|Ping]]" eingeführt, die auch in der Wiedergabeliste ihre Spuren hinterlässt. Diese [[Image:ITunes_10_Ping_Button.png]] Buttons lassen sich seit iTunes 10.1 recht einfach in den iTunes-Einstellungen deaktivieren, in iTunes 10.0.x muss dies jedoch über eine {{Terminal}}-Anweisung erfolgen: defaults write com.apple.iTunes hide-ping-dropdown -bool TRUE Anschließend musss iTunes neu gestartet werden, damit diese Änderung wirksam wird. Sie lässt sich mit folgendem Kommando auch wieder rückgängig machen: defaults delete com.apple.iTunes hide-ping-dropdown Unter Windows sieht das Kommando übrigens so aus (der Pfad ist ggf. anzupassen): "C:\Program Files\iTunes\iTunes.exe" /setPrefInt hide-ping-dropdown 1 48bbed67276d069ce146d388bf8b3bac7a7bbee6 Activate HiDPI Screen Resolutions 0 154 738 737 2019-02-17T11:33:37Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]Um für Testzwecke – z.B. bei der Erstellung retina-kompatibler Programme oder Webseiten – die Ausgabe von OS X auf eine HiDPI Auflösung umschalten zu können, ist folgende Anweisung im [[:Kategorie:Terminal|Terminal]] einzugeben: sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool YES; Nach einer erneuten Anmeldung steht nun in den Systemeinstellungen (unter "Monitore") je nach verwendetem System eine oder mehrere Retina-Auflösungen zur Auswahl. Zum Deaktivieren dieser Funktion ist folgende Anweisung zu verwenden: sudo defaults delete /Library/Preferences/com.apple.windowserver DisplayResolutionDisabled; 3118fbad870af078df450f08e9911efa1e987552 739 738 2019-02-17T11:33:46Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]Um für Testzwecke – z.B. bei der Erstellung retina-kompatibler Programme oder Webseiten – die Ausgabe von OS X auf eine HiDPI Auflösung umschalten zu können, ist folgende Anweisung im [[:Category:Terminal|Terminal]] einzugeben: sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool YES; Nach einer erneuten Anmeldung steht nun in den Systemeinstellungen (unter "Monitore") je nach verwendetem System eine oder mehrere Retina-Auflösungen zur Auswahl. Zum Deaktivieren dieser Funktion ist folgende Anweisung zu verwenden: sudo defaults delete /Library/Preferences/com.apple.windowserver DisplayResolutionDisabled; b6e788e0c8e611c011de1b93b3e0b42ed2a5a107 Mtmd deaktivieren 0 195 1027 1026 2019-02-17T11:34:20Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Hint]][[Category:Terminal]]Bei {{Man|mtmd|mtmd}} handelt es sich um einen Time Machine Hintergrunddienst, der im mobilen Betrieb dafür zuständig ist, bestimmte Funktionen von Time Machine zur Verfügung zu stellen. Dieser Dienst ist demzufolge auch nur auf mobilen Geräten (vulgo Notebooks) aktiv. Wenn nun jedoch kein Time Machine Volume zur Verfügung steht, kann dieser Prozess durchaus die CPU-Last signifikant in die Höhe treiben und daher unter Umständen sehr störend sein. Um das abzustellen gibt es prinzipiell 2 Möglichkeiten: # Time Machine komplett deaktivieren (in den Systemeinstellungen) # Nur diesen mobilen Dienst deaktivieren Um zweiteres zu tun, ist folgende Anweisung im {{Terminal}} einzugeben: sudo tmutil disablelocal Um den Dienst wieder zu reaktivieren, ist folgendes einzugeben: sudo tmutil enablelocal d50a0ca3ff6617649db835ba4fcb3106fe158f1a ITunes-Suche nach Netzbetreibereinstellungen verhindern 0 85 309 2019-02-17T11:34:46Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]]Um unter iTunes die automatische Suche nach Netzbetreibereinstellungen beim Anschließen eines iPhone zu unterbinden (besonders lästig bei Betreibern, für die es keine offiziellen gibt; hier muss man jedes Mal das Fenster bestätigen), ist im {{Terminal}} über folgendes Kommando zu (de-)aktivieren: ==Mac OS X== defaults write com.apple.iTunes carrier-testing -bool TRUE defaults delete com.apple.iTunes carrier-testing ==Windows== %ProgramFiles%\iTunes\iTunes.exe" /setPrefInt carrier-testing 1 %ProgramFiles%\iTunes\iTunes.exe" /setPrefInt carrier-testing 0 ==Siehe auch== * Apple Support: [http://support.apple.com/kb/HT1970?viewlocale=de_DE Updates für die Netzbetreibereinstellungen in iTunes] * Macworld: [http://www.macworld.com/article/138715/2009/02/iphonecarriersettings.html Behind the iPhone’s carrrier-settings update message] * about.com: [http://pcworld.about.com/od/phones/IPhone-Under-the-Hood-Carrier.htm iPhone Under the Hood: Carrier Settings] * MosMyi: [http://modmyi.com/wiki/index.php/Carrier_settings_for_iPhone Carrier settings for iPhone] * iphone-notes.de: [http://www.iphone-notes.de/mobileconfig/ .mobileconfig Generator] 496f22e620bb55989eff00836f75fbf067ccc7fb Show Hidden Files and Folders in Finder Windows 0 172 818 817 2019-02-17T11:35:23Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]]Um mit Bordmitteln und ohne weitere Tools (wie z.B. dem [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool]) die Darstellung versteckter (System-)Dateien zu aktivieren, ist einfach folgende Zeile im {{Terminal}} einzugeben: defaults write com.apple.finder AppleShowAllFiles -boolean true Damit die Änderung wirksam wird, muss man sich entweder ab- und wieder anmelden, oder man startet mit Hilfe des folgenden Terminal-Kommandos den Finder neu: killall Finder Deaktiviert wird das ganze mit folgendem Kommando: defaults delete com.apple.finder AppleShowAllFiles ==Alle Symbole des Desktop ausblenden== Umgekehrt kann man mit folgender Anweisungf auch alle Symbole des Desktop ausblenden: defaults write com.apple.finder CreateDesktop -bool FALSE; killall Finder Was sich mit folgender Anweisung auch wieder rückgängig machen lässt: defaults write com.apple.finder CreateDesktop -bool TRUE; killall Finder a3de54260559427b95d70f761edc239bf98b991b Purge the DNS cache 0 150 717 716 2019-02-17T11:36:26Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]]Um nach Änderungen an der [[wikipedia:de:DNS|DNS]]-Konfiguration oder der lokalen Namensauflösung in {{Man|hosts|{{TT|/etc/hosts}}}} kann man mit folgendem Terminal-Kommando den lokalen DNS-Cache leeren: {| ! OS X Version !! Terminal-Anweisung |-- | bis Mac OS 10.4 (Tiger) || <code>sudo lookupd -flushcache</code> |-- | bis Mac OS 10.6 (Snow Leopard) || <code>sudo dscacheutil -flushcache</code> |-- | bis OS X 10.8 (Mountain Lion) || <code>sudo killall -HUP mDNSResponder</code> |-- | OS X 10.9 (Mavericks) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | OS X 10.10 (Yosemite) <sup>*</sup> || bis 10.10.3:<br /><code>sudo discoveryutil mdnsflushcache; sudo discoveryutil udnsflushcaches</code><br />seit 10.10.4:<br /><code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | OS X 10.11 (El Capitan) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | seit OS X 10.12 (Sierra) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder; sudo killall mDNSResponderHelper</code> |} ---- <sup>*)</sup><small> In Version 10.10.0 wurde mDNSResponder durch discoveryd ersetzt, der in Version 10.10.4 wegen anhaltender Probleme wieder entfernt wurde. Somit gleicht das Vorgehen in Version 10.10.4 und neuer wieder dem Vorgehen unter OS X Mavericks.</small> 4b1383974cf566e70e715612fac7f2a9a92297dd Collect localizable strings into a Localizable.strings file 0 158 759 758 2019-02-17T11:37:07Z Hagbard 2 wikitext text/x-wiki [[Category:Development]][[Category:Hint]]Um aus einem existierenden Cocoa-/CocoaTouch-Projekt alle mit {{TT|NSLocalizedString}} lokalisierten Texte in ein {{TT|Localizable.strings}} File zu extrahieren, genügt es, im {{Terminal}} folgende Zeile (natürlich im Verzeichnis des jeweiligen Xcode-Projektes) einzugeben: {{Man|genstrings|genstrings}} ./path/to/classes/*.m zum Beispiel {{Man|genstrings|genstrings}} ./Classes/*.m um alle Texte aus den *.m Files im Verzeichnis {{TT|Classes}} auszulesen. Diese werden dabei in eine eventuell bereits existierende Datei hineingemerged, optional kann über die Option -a veranlasst werden, das die gefundenen Texte an eine vorhandene Datei lediglich angehängt werden. Mit der Option -o outputDir kann zusätzlich ein Zielverzeichnis angegeben werden Beispiel zum rekursiven Durchwandern aller .m Dateien und Ausgabe auf dem Desktop: find . -name \*.m | xargs genstrings -o ~/Desktop/ ==Siehe auch== * {{Man|genstrings|genstrings}} Manpage * [http://www.icanlocalize.com/site/tutorials/iphone-applications-localization-guide/ iPhone Applications Localization Guide] (icanlocalize.com) * [http://adeem.me/blog/2009/05/10/tutorial-part-2-localizing-your-iphone-application/ iPhone Tutorial (Part 2): Localizing your iPhone application] ;Apple: * [http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/LoadingResources/Strings/Strings.html String Resources] ;CocoaDev: * [http://www.cocoadev.com/index.pl?NSLocalizedString NSLocalizedString] * [http://www.cocoadev.com/index.pl?LocalizationTips LocalizationTips] 06ef024e931b41e998cd9bd36310b6cafa9c0c6f Deaktivieren ungenutzter Hintergrunddienste 0 59 198 2019-02-17T11:39:22Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:OS]][[Category:Terminal]]Unter OS X sind mittlerweile einige Hintergrunddienste aktiv, die jedoch nicht immer erwünscht oder erforderlich sind. {{InfoboxWithIcon|icon=Achtung.png|content='''Achtung:''' Das Deaktivieren von Systemdiensten kann diverse, negative Nebeneffekte haben! Man sollte also genau wissen, was man hierbei tut, dies die Stabilität des Systems durchaus negativ beeinflussen kann.}} == Allgemein == Der Start von Systemdiensten erfolgt unter OS X anhand von "plist"-Definitionsdateien, die sich an folgenden Orten des Startvolumes befinden können: {| |-- | {{TT|/System/Library/LaunchDaemons/}} || || sog. "daemons" - systemweit verwendete OS X Dienste |-- | {{TT|/System/Library/LaunchAgents/}} || || sog. "agents" - Benutzerspezifische OS X Dienste |-- | {{TT|~/Library/LaunchAgents/}} || || vom Benutzer installierte "agents" |-- | {{TT|/Library/LaunchAgents/}} || || vom Systemadministrator installierte, benutzerspezifische "agents" |-- | {{TT|/Library/LaunchDaemons/}} || || vom Systemadministrator installierte, systemweite "agents" |} Deren Prozesse werden von {{Man|launchd|launchd}} verwaltet, ihre Eigenschaften sind in Form von "plist" Dateien definiert. Diese befinden sich an obigen Orten im Verzeichnissystem. Das dauerhafte Deaktivieren dieser Dienste erfolgt mit foldendem Kommando: sudo launchctl unload -w /PFAD/ZUR/DATEI.plist sudo launchctl unload -w /System/Library/LaunchDaemons/DATEINAME.plist Um einen Dienst nur vorübergehend (bis zum nächsten Neustart) zu deaktivieren, ist lediglich der Parameter {{TT|-w}} wegzulassen. == Beispiel: {{Man|apsd|apsd}} == Ein Beispiel hierfür ist {{Man|apsd|apsd}}, der für Push Notifications zuständige Hintergrunddienst. Einige werden dessen Netzwerkverbindungsversuche bereits mit Wekzeugen wie [http://www.obdev.at Little Snitch] verhindert haben, allerdings sind dann die Logfiles voll von fehlgeschlagenen Verbindungsversuchen. Um diesen Dienst also generell zu deaktivieren, ist folgendes im {{Terminal}} einzugeben: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.apsd.plist Um den Dienst wieder zu aktivieren, genügt folgende Terminal-Anweisung: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.apsd.plist Unter OS X Lion (10.7.x) ist der Name des Daemons übrigens {{TT|com.apple.applepushserviced.plist}} == Siehe auch == * {{Man|launchctl|launchctl}} manpage 7849cb0550598acc1618b8f1dba0c48dcb74cb78 Change the Encoding of Text Files 0 176 846 845 2019-02-17T11:41:10Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]]Um die [[wikipedia:de:Zeichenkodierung|Zeichenkodierung]] von Textdateien (beispielsweise [[wikipedia:de:UTF-8|UTF-8]] oder [[wikipedia:ISO 8859-1|ISO Latin-1]]) zu konvertieren, genügt folgende Zeile im Terminal: <source lang="bash"> iconv -f QUELLKODIERUNG -t ZIELKODIERUNG QUELLDATEI > ZIELDATEI </source> beispielsweise um ein russisches (kyrillisches) Textfile in UTF-8 umzuwandeln: <source lang="bash"> iconv -f WINDOWS-1251 -t UTF-8 text.txt > text-utf8.txt </source> Alternativ kann natürlich auch der Texteditor des Vertrauens dazu verwendet werden, allerdings ist imho eine Zeile im Terminal schneller eingetippt als man durch ein seitenlanges Menü verschiedener Textkodierungen gescrollt hat ... ==Unterstützte Kodierungen== Im Folgenden ein kleiner Auszug aus der Liste der von iconv unterstützten Kodierungen. Über die Option {{TT|-l}} oder {{TT|--list}} kann man sich eine Liste aller unterstützter Kodierungen ausgeben lassen, weitere Informationen dazu sind auch in der Manpage von {{Man|iconv|iconv}} zu finden. Die in einer Zeile stehenden Kodierungen sind dabei geleichbedeutend (alternative Schreibweisen und Bezeichnungen) ;Unicode :UTF-8, UTF8 :UTF-8-MAC, UTF8-MAC :UTF-16 :UTF-16BE :UTF-16LE :UTF-32 :UTF-32BE :UTF-32LE :UTF-7 ;ISO :CP819, IBM819, ISO8859-1, ISO_8859-1, ISO_8859-1:1987, L1, LATIN1, CSISOLATIN1 :ISO-8859-2, ISO-IR-101, ISO8859-2, ISO_8859-2, ISO_8859-2:1987, L2, LATIN2, CSISOLATIN2 :ISO-8859-3, ISO-IR-109, ISO8859-3, ISO_8859-3, ISO_8859-3:1988, L3, LATIN3, CSISOLATIN3 :ISO-8859-4, ISO-IR-110, ISO8859-4, ISO_8859-4, ISO_8859-4:1988, L4, LATIN4, CSISOLATIN4 :CYRILLIC, ISO-8859-5, ISO-IR-144, ISO8859-5, ISO_8859-5, ISO_8859-5:1988, CSISOLATINCYRILLIC ==Siehe auch== * {{Man|iconv|iconv}} * [[wikipedia:de:Iconv|iconv]] in der [[wikipedia:de:Hauptseite|Wikipedia]] aca9eb74ab8b3e216232420511893592eb35bb98 Using crond on macOS 0 52 184 2019-02-17T11:42:27Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Linux]][[wikipedia:Cron|Cron]] ist der aus dem Unix-Umfeld allseits bekannte Mechanismus zum automatischen Ausführen von Skripten, Programmen etc. Unter Mac OS X wird {{TT|cron}} via [[wikipedia:de:launchd|launchd]] gestartet, die entsprechende Konfiguration hierzu ist dort zu finden: /System/Library/LaunchDaemons/com.vix.cron.plist ==crond Statusmails deaktivieren== Um die bei der Ausführung von [[Wikipedia:de:cron|cronjobs]] durch {{Man|cron|cron}} automatisch erzeugten Hinweismails an die lokale root-Mailbox zu unterbinden, ist entweder die Umgebungsvariable {{TT|MAILTO}} ganz am Anfang der {{TT|crontab}} entsprechend zu setzen: MAILTO="" oder in den einzelnen Einträgen der {{Man|crontab|crontab}} die Ausgabe von {{TT|STDOUT}} und {{TT|STDERR}} auf {{TT|/dev/null}} umzuleiten, etwa so: */5 * * * * /path/to/script.sh >/dev/null 2>&1 oder so: */5 * * * * /path/to/script.sh &> /dev/null Anschließend ist cron (als root / superuser) neu zu starten: sudo /etc/init.d/crond restart ==Siehe auch== * Manpages: {{Man|cron|cron}}, {{Man|crontab|crontab}} * [[wikipedia:de:Cron|Cron]] in der Wikipedia 101ec3451793e8798f7606cc3bc91d56376e1cf7 OS X Lion - Uhrzeitformat im Lockscreen 0 289 1564 2019-02-17T11:43:03Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Hint]]Auf einigen OS X Lion Installationen tritt offenbar das Problem auf, dass im Sperrbildschirm (z.B. bei aktivierter Passwortabfrage nach dem Beenden des Ruhezustands) die Uhr rechts oben im falschen Format angezeigt wird. Nicht wirklich lebensbedrohlich, aber irgendwie lästig. Um das zu beheben, sind allerdings Admin-Rechte und der Gebrauch des Terminals notwendig. Zuerst wird die zu verwendende Locale gesetzt: sudo defaults write /var/root/Library/Preferences/.GlobalPreferences AppleLocale de_DE Anschließend kann man entweder den Mac neu starten, oder eine erzwungene Neuanmeldung über die Eingabe des folgenden Kommandos veranlassen. Dazu ist zuerst die Prozess-ID (pid) von "{{TT|loginwindow.app}}" zu ermitteln, deren Prozess anschließend beendet wird: ps -ax | grep "loginwindow.app" sudo kill -1 <pid> Daraufhin wird die laufende Sitzung beendet und man landet wieder direkt im Anmeldebildschirm von OS X. Eine Neuanmeldung reicht offenbar nicht aus, da hierbei wohl {{TT|loginwindow.app}} nicht neu gestartet wird. Anschließend sollte die Uhr auch im Sperrbildschirm im korrekten Format erscheinen. b1d03c9c31367b6c3a06c67a28695a38a30aeeab UMTS Stick einrichten 0 327 1642 2019-02-17T11:45:50Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]Um einen UMTS- Stick unter OSX zu installieren und zu verwenden, greifen die meisten User zur Software Ihres Netzbetreibers oder zur kommerziellen Variante [http://www.novamedia.de/de/mac-launch2net-premium.html launch2net]. Um beide Möglichkeiten zu umgehen, soll im Folgenden die Installation nur mit Bordmitteln erklärt werden. Weit verbreitet sind UMTS- Sticks von Huawei und ZTE. Einen Vergleich um welchen Stick es sich genau handelt findet man bei [http://www.surfstickvergleich.com/surf-stick-hardware-vergleich surfstickvergleich.com] === Treiber Installieren === Auch wenn es hier um die Verwendung mit Bordmitteln geht, so muss jedoch trotzdem ein Treiber für die Hardware installiert werden. Den Treiber für die Geräte von Huawei findet man unter [http://www.huaweidevice.com/resource/mini/200910149695/testmobile1014/index.html huaweidevice.com]. Es wird nur der MobileConnectDriver benötigt. Für die ZTE Geräte ist es etwas kniffliger. Auf [http://www.zte.com.au/main/Product_Downloads/MF626_downloads.htm www.zte.com.au] lädt man den ConnectionManager. Diesen jetzt aber nicht installieren, sondern mit "Paketinhalt zeigen" das .pkg öffnen und darin die Datei ./Contents/Packages/drv.pkg installieren. === CDMount deaktivieren === Nachdem der UMTS- Stick installiert ist, diesen nun einstecken. Um das nervige Mounten der InstallationsCD bei jedem einstecken zu deaktivieren: Einmal Terminal.app öffnen und mit sudo screen /dev/tty.ZTEUSBATPort (für ZTE) oder sudo screen /dev/tty.HUAWEIMobile-Modem eine Verbindung zum UMTS- Stick herstellen. Nun für ZTE at+zcdrun=8 eingeben. Was dieser mit '''{{TT|Close autorun state result(0:FAIL 1:SUCCESS):1}}''' quittiert. Für den Huawei wird der Befehl at^U2DIAG=256 verwendet. Dieser wird mit einem einfachen '''{{TT|OK}}''' quittiert. Damit ist das nervige Laden der InstallationsCD erstmal beendet. Weitere Details für die jeweiligen AT Befehle gibt es unter [http://3g-modem.wetpaint.com/page/ZTE+AT-commands ZTE] bzw. [http://3g-modem.wetpaint.com/page/Huawei+AT-commands HUAWEI] === PIN Eingabe === Um das ganze abzukürzen kann die PIN- Eingabe in jedem beliebigen Handy deaktiviert werden. SIM- Karte einlegen und PIN deaktiveren. Nach dem neustart sollte dann automatisch verbunden werden. Da dies jedoch sicherheitstechnisch bedenklich ist, kann die PIN- Eingabe wie folgt vorgenommen werden: * Wieder wie bereits oben dargestellt mittels Terminal und screen auf das Gerät verbinden: * PIN- Status prüfen:<br />Eingabe: {{TT|AT+CPIN?}}<br />Ausgabe: {{TT|+CPIN: READY}} (keine PIN- Eingabe erforderlich) * PIN- Eingeben:<br />Eingabe: {{TT|1=AT+CPIN="1234"}}, anschliessend wie o.g. PIN- Status prüfen * Netzwerkverbindung prüfen:<br />Eingabe: {{TT|at+creg?}}<br />Ausgabe: {{TT|+CREG: 0,1}} (Wert 1 bedeudet, dass aktuell im Heimnetz eingebucht. 5 An dieser Stelle zeigt eine Verbindung in einem fremden Netz. Alles andere ist keine Verbindung * Signalstärke prüfen:<br />Eingabe: {{TT|at+csq}}<br />Ausgabe: {{TT|+CSQ: 11,99}}<br /> Wichtig ist der erste zurückgelieferte Wert. Dieser gibt die Signalstärke an:<br />{{TT|1=0 ...... <= -113dBm}}}}<br />{{TT|1 ...... -111dBm}}<br />{{TT|2-30 ... -109dBm to -53dBm}}<br />{{TT|1=31 ..... >= -51dBm}}<br />{{TT|99 ..... Unknown}} === UMTS oder GPRS, wie bin ich verbunden?=== Nach ca. 20 Sekunden sollte der UMTS- Stick blau blinken. Es blinkt ungefähr einmal pro Sekunde, sobald erfolgreich mit dem Provider verbunden worden ist.<br />Blinkt die LED grün, so ist man nur mit GPRS verbunden. Ein doppeltes Blinken bedeudet, dass keine Verbindung besteht. Die manuelle Variante besteht in einem weiteren AT- Befehl: * Verfügbare Netze anzeigen:<br /> Eingabe: at+cops=? <br /> Ausgabe: {{TT|+COPS: (2,"o2 - de","o2 - de","26207",'''0'''),(1,"T-Mobile D","TMO D","26201",0),(1,"Vodafone.de","","26202",0),(1,"E-Plus","E-Plus","26203",0),,(0,1,2,3,4),(0,1,2)}}<br /> In diesem Beispiel sieht man, dass mehr als nur ein Netzbetreiber verfügbar ist. Auf die fett dargestellte Zahl muss nun geachtet werden. Die Null (0) ist für eine GSM- Abeckung, eine zwei (2) zeigt UMTS (3G) Abdeckung. * Verbundenes Netz anzeigen:<br /> Eingabe: {{TT|at+cops?}}<br /> Ausgabe: {{TT|+COPS: 0,2,'''"26207"''','''0'''}}<br /> Aus dieser Ausgabe kann nun gelesen werden, dass man mit dem Provider mit der ID '''26207''' (siehe oben => O2) mit GSM (0) verbunden ist. === Internetzugriff konfigurieren === Nachdem nun erfolgreich der UMTS- Stick installiert wurde und die Grundfunktionalität geprüft ist, kann nun die eigentliche Einrichtung des Internetzugangs erfolgen. Hierzu unter '''Systemeinstellungen - Netzwerk''' das entsprechende Modem konfigurieren. Für ZTE lautet dieses '''ZTEUSBModem'''. Für Huawei '''HUAWEIMobile-Modem'''. Als Telefonnummer gibt man nun die {{TT|*99#}} an. Dann auf den Button '''Weitere Optionen'''. Der Hersteller ist '''Allgemein''', das Modell '''GPRS (GSM/3G)'''. Der APN muss je nach Provider angepasst werden. '''ACHTUNG:''' Eine Fehlkonfiguration an dieser Stelle kann mit erheblichen Kosten verbunden sein. Auskunft gibt hierzu der Provider! Mit dem Button '''Verbinden''' kann nun eine Verbindung aufgebaut werden. 489996a61acf9798dd2004a647fd19af7d09e17f PECL-Extensions für MAMP erstellen 0 306 1600 2019-02-17T11:45:54Z Hagbard 2 wikitext text/x-wiki [[Category:Development]][http://www.mamp.info MAMP] ist bekanntlich ein recht verbreiteter und bekannter [[wikipedia:de:LAMP|Server-Stack]] für Mac OS X, bestehend aus Apache, MySQL und PHP. Um für die mitgelieferten PHP-Versionen eigene [http://pecl.php.net PHP-Extensions] erstellen und übersetzen zu können, sind jedoch einige Vorbereitungen zu treffen. ==Voraussetzungen== Folgende Voraussetzungen müssen erfüllt sein: * Vorhandene MAMP-Installation * Installierte [http://www.apple.com/de/macosx/developers/ Xcode Entwicklungsumgebung] von der Mac OS X Installations-DVD, alternativ zu erhalten bei [http://connect.apple.com Apple] (kostenlose Registrierung erforderlich) * PHP-Quellcode der Version, für die eine PECL-Extension erstellt werden soll (z.B. PHP 5.2.6 für MAMP 1.7.2) * Quellcode der jeweiligen PECL-Extension, erhältlich über [http://pecl.php.net pecl.php.net] ==Installation== ===Vorbereitung=== Für die Installation sind die folgenden Schritte durchzuführen, im Beispiel anhand der MAMP Version 1.7.2 (PHP 5.2.6) # MAMP und Xcode installieren # Im MAMP-Verzeichnis <source>/Applications/MAMP/bin/php5/</source> ein Unterverzeichnis <code>include</code> erstellen # Die PHP-Quelltexte von [http://www.php.net/downloads.php www.php.net] herunterladen und entpacken und das Verzeichnis in <code>php</code> umbenennen. Dieses Verzeichnis dann anschließend in das oben erstellte Verzeichnis verschieben, so dass sie sich im Verzeichnis <source>/Applications/MAMP/bin/php5/include/php/</source> befinden. # Das Mac OS Terminal öffnen und in das Verzeichnis <code>/Applications/MAMP/bin/php5/include/php/</code> wechseln: <source>cd /Applications/MAMP/bin/php5/include/php/</source> # Folgenden Befehl ausführen:<source bash>./configure</source> ===Möglichkeit 1: pecl-Installation=== Installation des Pecl-Archivs mit der Kommandozeilen-App {{TT|pecl}}: # Dazu im Terminal in folgendes Verzeichnis wechseln: <source>/Applications/MAMP/bin/php5/bin/</source> # Danach die Extension mit folgendem Kommando installieren: <source bash>./pecl i PACKAGENAME</source> ===Möglichkeit 2: Archiv von der Webseite === Die Installation aus den Quelltexten von der Webseite: # Das entsprechende Paket von [http://pecl.php.net pecl.php.net] herunterladen (z.B. auf den Desktop) # Im Terminal in dieses Verzeichnis wechseln und das Paket entpacken:<br /><code>cd ~/Desktop/<br />tar xzfv PACKAGENAME-VERSION.tar.gz<br />cd PACKAGENAME-VERSION/</code> # Anschließend mit {{TT|phpize}} das Paket vorbereiten:<source>/Applications/MAMP/bin/php5/bin/phpize</source> # Für die Erzeugung eines Binaries, das sowohl eine 32-Bit als auch eine 64-Bit Version enthält. ist nun folgendes einzugeben:<source>CFLAGS='-arch i386 -arch x86_64'</source> # Nun kann das Paket übersetzt werden:<source>./configure && make</source> ===Installation der Datei=== # Anschließend die erzeugte Datei in das jeweilige PHP-Extensions-Verzeichnis verschieben: <source>/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-******</source> # Die <code>php.ini</code> Konfigurationsdatei anpassen und die Erweiterung im Abschnitt "dynamic extensions" (um Zeile 520 herum) einfügen, z.B.:<source>extension=http.so</source> Danach den MAMP neu starten. ==Siehe auch== Produktwebseiten: * [http://www.mamp.info MAMP-Webseite] * Apple: [http://connect.apple.com Developer Connection] (Downloads), [http://developer.apple.com Developer Portal] * [http://www.php.net/downloads.php PHP Downloads] * [http://pecl.php.net PECL Extension Library] Weitere Infos zum Thema: * [http://developerkarma.com/blog/andrew-m-riley/quick-and-dirty-pecl-mamp-os-x Quick and Dirty PECL for MAMP (os x)] * [http://alex-privat.eu/108 MAMP-Arbeitsumgebung, in der auch PECL funktioniert] 718e365146a9f2fe5f5d5498c66dc64487a68e40 Template:Important vi-directives 10 63 212 2019-02-17T11:52:15Z Hagbard 2 Created page with "{{Information| wichtige und häufig benötigte vi-Kommandos: i Editiermodus starten x aktuelles Zeichen löschen (im Editiermodus) dd aktuelle Zeile löschen (im E..." wikitext text/x-wiki {{Information| wichtige und häufig benötigte vi-Kommandos: i Editiermodus starten x aktuelles Zeichen löschen (im Editiermodus) dd aktuelle Zeile löschen (im Editiermodus) ESC Editiermodus beenden 0 Sprung an den Zeilenanfang (nicht im Editiermodus!) $ Sprung ans Zeilenende (nicht im Editiermodus!) :wq Änderungen speichern und Editor beenden :q! Beenden und Änderungen verwerfen Siehe auch: {{Man|vi|vi}} manpage }} f6a108d56024712fb55ca6591c2e66c36e8ce142 Automatisches Einhängen von Volumes deaktivieren 0 46 172 2019-02-17T11:52:27Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]]Standardmäßig werden alle internen Volumes vom System nach der Anmeldung automatisch eingehängt, so dass sie (bei entsprechender Finderkonfiguration) in der Seitenleiste und/oder auf dem Desktop angezeigt werden. Um nun einige der internen Volumes nicht automatisch einzuhängen, ist via {{Terminal}} die Datei {{TT|fstab}} wie folgt zu editieren. Dabei ist zu beachten, dass seit OS X Leopard (Version 10.5) diese Bearbeitung immer via {{Man|vifs|vifs}} erfolgen sollte, damit Änderungen auch ordnungsgemäß wirksam werden. Für einen solchen Eintrag wird die UUID des entsprechenden Volume benötigt, die sich über folgende Terminal-Anweisung anhand des Pfades ermitteln lässt: diskutil info /Volumes/MyInternalVolume | grep UUID Volume UUID: 12345678-1ABC-2DEF-3EDC-123456789012 Anschließend ist mit folgender Anweisung die Datei {{TT|fstab}} zu editieren: sudo vifs Hierbei wird der Editor {{Man|vi|vi}} benutzt. Dort ist für jedes Volume ein solcher Eintrag zu erstellen, wobei natürlich die UUID ersetzt und das Dateisystem (hier: hfs) ggf. angepasst werden muss: UUID=12345678-1ABC-2DEF-3EDC-123456789012 none hfs rw,noauto {{Important vi-directives}} Alternativ ist dies auch mit dem (kostenpflichtigen) Programm "[http://www.bresink.com/products.html Tinker Tool System]" möglich. Für den bequemen Zugriff auf verfügbare aber nicht eingehängte Volumes eignet sich das kostenlose Hilfsprogramm "[https://github.com/kainjow/Semulov Semulov]". b5b6b208f844e043f1ec6adc404bc349b1508bf0 Betriebssystemversion prüfen 0 48 176 2019-02-17T12:00:23Z Hagbard 2 wikitext text/x-wiki [[Category:Development]][[Category:Hint]] ==OS X Laufzeitumgebung== <source lang=objc> #import <CoreServices/CoreServices.h> ... SInt32 major, minor, bugfix; Gestalt(gestaltSystemVersionMajor, &major); Gestalt(gestaltSystemVersionMinor, &minor); Gestalt(gestaltSystemVersionBugFix, &bugfix); //NSString *versionString = [NSString stringWithFormat:@"%d.%d.%d", major, minor, bugfix]; NSString *versionString = [NSString stringWithFormat:@"%d.%d", major, minor]; float version = [versionString floatValue]; if(version < 10.8) { ... } </source> ==OS X Build-Umgebung== <source lang=objc> #ifndef MAC_OS_X_VERSION_10_7 // only executed when building on 10.6.x or older #endif #ifdef MAC_OS_X_VERSION_10_6 // only executed when building on 10.6.x or newer #endif </source> ==iOS Laufzeitumgebung== Um für Codeweichen zur Laufzeit die aktuelle Systemversion abzugfragen, existieren verschiedene Möglichkeiten: ==={{TT|UIDevice}}=== <source lang=objc> NSLog(@"current system version: %@",[[UIDevice currentDevice] systemVersion]); if ([[[UIDevice currentDevice] systemVersion] compare:@"3.2" options:NSNumericSearch] != NSOrderedAscending) { // iOS 3.2 ooder neuer } if ([[[UIDevice currentDevice] systemVersion] compare:@"4.0" options:NSNumericSearch] != NSOrderedDescending) { // iOS 4.3 ooder älter } // alternativ, evtl. etwas übersichtlicher: float version = [[[UIDevice currentDevice] systemVersion] floatValue]; if (version >= 3.2) { // iOS 3.2 oder neuer } </source> ===System-Makros=== Zum Versionsvergleich sind auch auch einige Makros verfügbar: <source lang=objc> if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"4.0") { // iOS 4.0 ooder älter } </source> verfügbare Makros: <source lang=objc> SYSTEM_VERSION_EQUAL_TO() SYSTEM_VERSION_GREATER_THAN() SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO() SYSTEM_VERSION_LESS_THAN() SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO() </source> ===Anhand bekannter Klassen=== Um bestimmte iOS-Features zu nutzen, die erst ab (oder in) einer best. Version zur Verfügung stehen, bietet sich auch die direkte Nutzung dieser Klassen zur Versionsüberprüfung an: <source lang=objc> Class playerClass = NSClassFromString(@"MPMoviePlayerViewController"); if(playerClass) { // iOS 3.2 oder neuer } else { // älter als iOS 3.2 } Class notificationClass = NSClassFromString(@"UILocalNotification"); if(notificationClass) { // iOS 4.0 oder neuer } else { // älter als iOS 4.0 } </source> ==Projektumgebung== Für Abfragen zum Zeitpunkt des Übersetzens (in Xcode) existieren folgende Möglichkeiten: ===Base SDK=== In den verschiedenen iOS Versionen sind auch unterschiedliche Konstanten definiert, die dazu verwendet werden können (was allerdings weniger flexibel ist): <source lang=objc> #ifdef __IPHONE_3_2 // iOS 3.2 oder neuer #endif </source> {{Important|1=Diese Abfragen beziehen sich auf das aktuelle '''Base-SDK''' des Xcode Projektes und NICHT auf die tatsächlich zur Laufzeit verwendeten Betriebssystemversion! Wenn man also den Code mit Base SDK Version 5.0 übersetzt, werden immer alle Konstanten bis incl. {{TT|_IPHONE_5_0}} definiert sein - unabhängig davon, unter welcher SDK-Version die App anschließend läuft.}} ===Deployment Target (Systemvoraussetzung)=== Mit folgendem Code kann überprüft werden, welche die minimale, vom Xcode-Projekt unterstützte iOS Version ist (Deployment Target, wichtig v.a. für Bibliotheken und Frameworks): <source lang=objc> #if __IPHONE_OS_VERSION_MIN_REQUIRED < 30200 // älter als iOS 3.2 #else // iOS 3.2 oder neuer #endif </source> ==Siehe auch== * Cocoa Dev Central: [http://cocoadevcentral.com/articles/000067.php Checking the User's Mac OS X Version] 74b937ab69e38c4f4c911241e605a682719618d9 Automator 0 47 174 2019-02-17T13:29:39Z Hagbard 2 wikitext text/x-wiki [[Category:OS]] ==Automator== === Automator Finder plug-in deinstallieren === Die Plug-ins werden in ~/Library/Workflows/Applications/Finder installiert. Dort einfach rauslöschen mit: rm -R ~/Library/Workflows/Applications/Finder/name.workflow ==Beispiele== <div class="contentboxRight_relative"><div> <big>&nbsp;Automator Actions on apple.com<br />&nbsp;</big> <rssHeadlinesSmall>apple_automator.rss</rssHeadlinesSmall> ''Quelle: [http://www.apple.com/rss apple.com/rss]'' </div></div> ===Workflow mit iCal planen=== Dieser Tip basiert auf einem Tip, der vor kurzem auf macosxhints.com aufgetaucht ist: Um einen Workflow zu einem bestimmten Zeitpunkt zu starten geht man folgendermaßen vor: * Den fertigen Automator Workflow als Plug-In speichern * Plug-in für "iCal Erinnerung" auswählen und Namen vergeben. * iCal startet daraufhin und kreiert einen neuen Eintrag. * Diesen Eintrag nun nach belieben ändern. * Der Workflow wird zum angegebenen Termin ausgeführt. ===Archive-and-Mail=== Es gibt zwei Möglichkeiten, dieses Beispiel zu realisieren, zum einen über eine Art DropBox, also einen Ordner indem alle neuen Objekte gepackt und versendet werden, oder als Finder- Plug-In. Der Unterschied ist lediglich in der Installation: # falls man eine Art DropBox will vorher den Ordner schonmal anlegen # Automator öffnen;-) # aus den Finder Optionen "Archive erstellen" auswählen, die Optionen sind deaktiviert # aus den Mail Optionen "Neue eMail" auswählen und an das "Archiv erstellen" anhängen. # Dann wählt man <KB>alt + apfel + s</KB> oder im Menu als "Plug-in sichern" ## Als Ordneraktion + Namen vergeben und den oben gewählten Namen angeben. ## oder als Ziel Finder, dann kann mit rechtsklick auf das Objekt der Name des Automator Workflows gewählt werden. Noch offen ist leider, dass das Archiv in diesem Beispiel auf dem Schreibtisch liegen bleibt, wie dieses am Ende der Aktion gelöscht werden kann ist noch offen. Bei der DropBox verbleiben die Objekte/Dateien dann im Ordner evtl. muss hier beim reindroppen schon <KB>opt</KB> gedrückt werden um ein verschieben zu verhindern. ===Dateien umbennen=== Dieses Beispiel soll verdeutlichen, wie schnell man mit Automator mal was zusammenklicken kann. Zum testen immer mal vorher ein Backup der Dateien machen, aber das schlägt Automator auch vor. # Automator öffnen;-) # Alle Dateien, die umbenannt werden sollen markieren und in das Workflow Fenster ziehen. # Finder Aktion "Objekt umbenennen" unten anhängen # Aufklappen und "Text ersetzen" wählen # Suchen String und Ersetzen durch String angeben # Ausführen klicken <KB>apfel + r</KB> ==Weiterführende Informationen== ===Fertige Automator Aktionen=== '''Portale:''' * [http://automatorworld.com/ Automator World] * [http://automator.us automator.us] * [http://www.apple.com/downloads/macosx/automator/ Automator Actions bei apple.com] '''[http://www.automatedworkflows.com/automator/ultimate.html Ultimate Productivity Automator Action Packs]''' * Adobe InDesign Action Pack * Adobe Photoshop Action Pack * Automator Action Pack * FileMaker Pro Action Pack * Finder Action Pack * iPhoto Action Pack * Preview (Vorschau) Action Pack * QuarkXPress Action Pack * System Action Pack * Text Edit Action Pack '''[http://www.apple.com/downloads/macosx/automator/bluetoothobjectpush.html OBEX Push Automator Aktion]''' :Automatior Action für [[wikipedia:de:OBEX|OBEX]] Object-Push über Bluetooth (Geräte müssen das OBEX-Profil unterstützen) '''[http://www.completedigitalphotography.com/index.php?p=339 Photoshop Automator Actions]''' : Eine Sammlung aus über 70 Photoshop-Aktionen wie beispielsweise die Auflösung oder den Farbmodus ändern, Bilder zuschneiden, Filter anwenden uvm (Donationware) ===Entwicklung von Automator Aktionen=== * O'Reilly [http://www.macdevcenter.com MacDevCenter]: [http://www.macdevcenter.com/pub/a/mac/2005/05/03/automator.html Write Your Own Automator Actions] (Matt Neuburg) * [http://www.heise.de/ct c't] Artikel ''Fließbandarbeit: Aktionen für den Automator von Mac OS X 10.4 selbst gemacht'' (Ausgabe 06/2006, S. 250), gibts leider nur in Hardware oder ab August 2006 auf der Jahrgangs-CD/DVD. 9c553a499bebf456223e6efcf44f2e54dfe43a97 DVD-Freigabe auf jedem beliebigen Mac nutzen 0 55 190 2019-02-17T13:31:11Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:OS]]Um die eigentlich für das laufwerkslose MacBook Air gedachte CD-/DVD-Freigabe auch auf allen anderen Gerätetypen nutzen zu können, ist nach der Aktivierung der Freigabe auf dem Mac mit dem freizugebenden Laufwerk (Systemeinstellungen > Sharing > DVD- oder CD-Sharing) folgendes im Terminal auf dem Client-Rechner einzugeben: defaults write com.apple.NetworkBrowser EnableODiskBrowsing -bool true defaults write com.apple.NetworkBrowser ODSSupported -bool true Anschließend den Mac neu starten und das freigegebene Laufwerk erscheint im Finder-Fenster links unter "Geräte". Dazu muss natürlich in den Finder-Einstellungen die Anzeige von CDs, DVDs und iPods aktiviert sein. {{Information|1='''Hinweis:''' Die Freigabe von Audio-CDs und Video-DVDs wird nicht unterstützt, einige kopiergeschützte Spielemedien können ebenfalls nicht genutzt werden. Für mehr Informationen dazu siehe [http://support.apple.com/kb/TS2057?viewlocale=de_DE Fehler mit "DVD oder CD-Sharing" beheben] in der Apple Knowledge-Base}} == Siehe auch == * [http://support.apple.com/kb/TS2057?viewlocale=de_DE Fehler mit "DVD oder CD-Sharing" beheben] in der Apple Knowledge-Base * [http://www.apple.com/downloads/macosx/apple/application_updates/dvdorcdsharingsetupupdateformac.html DVD or CD Sharing Setup Update for Mac] (Download) 37d505f0e537d218470daa2417b7d9d99c4159f0 Mdfind 0 194 1023 1022 2019-02-17T13:38:55Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]] ==mdfind== <font style="font-face:courier">mdfind</font> stellt ein Kommandozeileninterface für die Spotlightsuche zur Verfügung, um in den Metadaten nach Dokumenten zu suchen. ===Grundlegende Benutzung=== mdfind <optionen> <verzeichnis> <suchtext> also beispielsweise mdfind "Geburtstag Oma" ==Optionen== ===nicht-determinierende Suche=== Mit der Option -live wird der Suchvorgang nicht abgebrochen und die Ergebnisliste wird laufend aktualisiert (wenn z.B. neue Mails empfangen und indiziert werden). Abgebrochen werden kann dies durch Drücken von <KB>ctrl + c</KB> Beispiel: mdfind -live "Geburtstag Oma" ===Suche auf einen Ordner eingrenzen=== Mit der Option -onlyin <verzeichnis> wird die Suche auf ein Verzeichnis inclusive der darin enthaltenen Unterverzeichnisse eingeschränkt, beispielswiese: mdfind -onlyin ~/Bilder/ "Geburtstag Oma" ==Weitere Informationen== * {{Man|mdfind|manpage mdfind}} * Artikel des O'Reilly macdevcenter: [http://www.macdevcenter.com/pub/a/mac/2006/01/04/mdfind.html "The Power of mdfind"] (Andy Lester) 6cb902ef8a2c679e4c5617133d322b8f5f3ff9db Mdcheckschema 0 193 1019 1018 2019-02-17T13:39:03Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]] ==mdcheckschema== <font face="courier">mdcheckschema</font> ist ein Validierungstool für Importschemata. Weitere Informationen gibt es in [http://developer.apple.com/documentation/Carbon/Conceptual/MDImporters/index.html diesem Artikel] der Apple Developer Reference. ===Offene Fragen für diesen Artikel=== * Was ist ein Importschema? * Wie sieht ein solches Schema aus? ==Weitere Informationen== * {{Man|mdcheckschema|manpage mdcheckschema}} 4b1cb3a58dae8dba79ec8bbac495d83a71a10949 MacOS - Reset Password 0 188 939 938 2019-02-17T13:39:50Z Hagbard 2 wikitext text/x-wiki Category:OS]] {{Important|Bein Zurücksetzen von Passwörtern oder generell beim Durchführen von Wartungsarbeiten mit hilfe der Dienstprogramme auf Installations-/Wiederherstellungs-DVDs ist extem wichtig, dass die Mac OS X Hauptversion (z.B. 10.5) dieser DVDs '''dieselbe''' ist wie diejenige der Installation, die man bearbeiten möchte!}} Falls man dummerweise das Anmeldepasswort einer Mac OS X Installation vergessen haben sollte und sich somit selber ausgesperrt hat, gibt diverse weniger zeit- und nervenaufwändige Möglichkeiten als eine komplette Neuinstallation ==Mac OS X 10.6 und davor== === Verwendung der Installations-/Wiederherstellungs-DVDs === Diese Möglichkeit gibt es im Prinzip bei allen Mac OS X Versionen (zumindest seit 10.3/Panther), die können sich jedoch in Details voneinander unterscheiden (für 10.7 Lion [[#Mac OS X 10.7 (Lion)|siehe unten]]): # Von der DVD booten (siehe [[Startup_Key_Combinations|hier]]), durch Drücken folgender Taste beim Start des Mac:<KB>C</KB> # Die Installationsanwendung solange weiterführen, bis am oberen Bildschirmrand die Menüleiste verfügbar ist # Dort steht im Menü "Installer" der Eintrag "Reset Password ..." zur Verfügung, über den man die Kennwörter einzelner Benutzer neu setzen kann. Da der Schlüsselbund mit dem alten Passwort verschlüsselt ist, was man aus Sicherheitsgründen (ohne das alte Passwort zu kennen) nicht ändern kann, ist selbiges zu löschen, bevor man den alten Account mit den neuen Zugangsdaten nutzen kann. Dazu ist nach dem Neustart der Inhalt des Ordners ~/Library/Keychains innerhalb des Benutzerverzeichnisses (Home) zu löschen. Bei der nächsten Anmeldung wird dann automatisch ein neuer Schlüsselbund angelegt. === Ohne Verwendung von Installations-DVDs === Hier unterscheidet sich die Vorgehensweise von Version zu Version u.U. erheblich, daher wird an dieser Stelle auf folgenden (recht umfassenden) Artikel verwiesen: [http://www.macyourself.com/2009/08/03/how-to-reset-your-mac-os-x-password-without-an-installer-disc/ How to reset your Mac OS X password without an installer disc] (macyourself.com) === Letzte Möglichkeit: einen neuen Admin-Account anlegen === Um ein vergessenes Passwort ohne vorhandene Installations-DVD und ohne Systemlogin neu zu setzen, existiert nur der Umweg über den Single-User-Modus. Über diesen kann man dann anschließend die Passwörter der anderen Benutzer neu vergeben: # Mac OS X im Single-User Modus starten (siehe [[Startup_Key_Combinations|hier]]), dorthin gelangt man durch Drücken folgender Tastenkombination beim Start des Mac:<KB>apfel + S</KB> # dadurch gelangt man anschließend nicht in eine graphische Umgebung sondern bekommt lediglich eine Eingabeaufforderung präsentiert. # dort ist mit Hilfe folgender Kommandos ein neuer Admin-Benutzer anzulegen, dabei ist jede Zeile mit <KB>return</KB> zu bestätigen: <div style="margin-left:40px;"><source lang="bash"> mount -uw / rm /var/db/.AppleSetupDone shutdown -h now </source></div> Mit Hilfe dieses Admin-Benutzers kann man sich dann nach einem Neustart die Passwörter der anderen Benutzer neu vergeben/zurücksetzen. ==Mac OS X 10.7 (Lion)== Im Prinzip funktioniert dies unter Lion genau wie in früheren Versionen mit Hilfe der Installations-DVDs (siehe [[#Verwendung der Installations-/Wiederherstellungs-DVDs#|oben]]), jedoch mit zwei kleinen Unterschieden (anderer Boot-Modus, {{TT|resetpassword}} ist nicht direkt sondern nur über das Terminal zu erreichen): ===Recovery-Modus=== # im Recovery-Modus booten (siehe [[Startup_Key_Combinations|hier]]), dorthin gelangt man durch Drücken folgender Tastenkombination beim Start des Mac:<KB>apfel + R</kb> # Sobald das Installationsprogramm gestartet wurde (Auswahl von Time Machine Backup, Neuinstallation, ...), steht im Menü "Dienstprogramme" ("Utilities") das Terminal zur Verfügung. Dies ist nun zu starten # im Terminal folgendes eingeben und mit <KB>return</KB> bestätigen: <div style="margin-left:40px;"><source>resetpassword</source></div> Dadurch wird das Passwort zurückgesetzt und es wird ein Dienstprogramm geöffnet, mit dem man für einzelne Benutzer ein neues Passwort vergeben kann. Da der Schlüsselbund mit dem alten Passwort verschlüsselt ist, was man aus Sicherheitsgründen (ohne das alte Passwort zu kennen) nicht ändern kann, ist selbiges zu löschen, bevor man den alten Account mit den neuen Zugangsdaten nutzen kann. Dazu ist nach dem Neustart der Inhalt des Ordners ~/Library/Keychains innerhalb des Benutzerverzeichnisses (Home) zu löschen. Bei der nächsten Anmeldung wird dann automatisch ein neuer Schlüsselbund angelegt. ===Verwendung der Apple-ID=== Seit 10.7 existiert außerdem die Möglichkeit, das Passwort '''anhand der Apple-ID''' zurückzusetzen, diese Eigenschaft muss jedoch '''vorher''' bereits in den Benutzereinstellungen aktiviert sein (sie ist es standardmäßig nicht). ==Siehe auch== * [http://www.macyourself.com/2009/08/03/how-to-reset-your-mac-os-x-password-without-an-installer-disc/ How to reset your Mac OS X password without an installer disc] (macyourself.com) feb5242c2f108b3daad7885a81204eee7dc316f1 940 939 2019-02-17T13:40:09Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]{{Important|Bein Zurücksetzen von Passwörtern oder generell beim Durchführen von Wartungsarbeiten mit hilfe der Dienstprogramme auf Installations-/Wiederherstellungs-DVDs ist extem wichtig, dass die Mac OS X Hauptversion (z.B. 10.5) dieser DVDs '''dieselbe''' ist wie diejenige der Installation, die man bearbeiten möchte!}} Falls man dummerweise das Anmeldepasswort einer Mac OS X Installation vergessen haben sollte und sich somit selber ausgesperrt hat, gibt diverse weniger zeit- und nervenaufwändige Möglichkeiten als eine komplette Neuinstallation ==Mac OS X 10.6 und davor== === Verwendung der Installations-/Wiederherstellungs-DVDs === Diese Möglichkeit gibt es im Prinzip bei allen Mac OS X Versionen (zumindest seit 10.3/Panther), die können sich jedoch in Details voneinander unterscheiden (für 10.7 Lion [[#Mac OS X 10.7 (Lion)|siehe unten]]): # Von der DVD booten (siehe [[Startup_Key_Combinations|hier]]), durch Drücken folgender Taste beim Start des Mac:<KB>C</KB> # Die Installationsanwendung solange weiterführen, bis am oberen Bildschirmrand die Menüleiste verfügbar ist # Dort steht im Menü "Installer" der Eintrag "Reset Password ..." zur Verfügung, über den man die Kennwörter einzelner Benutzer neu setzen kann. Da der Schlüsselbund mit dem alten Passwort verschlüsselt ist, was man aus Sicherheitsgründen (ohne das alte Passwort zu kennen) nicht ändern kann, ist selbiges zu löschen, bevor man den alten Account mit den neuen Zugangsdaten nutzen kann. Dazu ist nach dem Neustart der Inhalt des Ordners ~/Library/Keychains innerhalb des Benutzerverzeichnisses (Home) zu löschen. Bei der nächsten Anmeldung wird dann automatisch ein neuer Schlüsselbund angelegt. === Ohne Verwendung von Installations-DVDs === Hier unterscheidet sich die Vorgehensweise von Version zu Version u.U. erheblich, daher wird an dieser Stelle auf folgenden (recht umfassenden) Artikel verwiesen: [http://www.macyourself.com/2009/08/03/how-to-reset-your-mac-os-x-password-without-an-installer-disc/ How to reset your Mac OS X password without an installer disc] (macyourself.com) === Letzte Möglichkeit: einen neuen Admin-Account anlegen === Um ein vergessenes Passwort ohne vorhandene Installations-DVD und ohne Systemlogin neu zu setzen, existiert nur der Umweg über den Single-User-Modus. Über diesen kann man dann anschließend die Passwörter der anderen Benutzer neu vergeben: # Mac OS X im Single-User Modus starten (siehe [[Startup_Key_Combinations|hier]]), dorthin gelangt man durch Drücken folgender Tastenkombination beim Start des Mac:<KB>apfel + S</KB> # dadurch gelangt man anschließend nicht in eine graphische Umgebung sondern bekommt lediglich eine Eingabeaufforderung präsentiert. # dort ist mit Hilfe folgender Kommandos ein neuer Admin-Benutzer anzulegen, dabei ist jede Zeile mit <KB>return</KB> zu bestätigen: <div style="margin-left:40px;"><source lang="bash"> mount -uw / rm /var/db/.AppleSetupDone shutdown -h now </source></div> Mit Hilfe dieses Admin-Benutzers kann man sich dann nach einem Neustart die Passwörter der anderen Benutzer neu vergeben/zurücksetzen. ==Mac OS X 10.7 (Lion)== Im Prinzip funktioniert dies unter Lion genau wie in früheren Versionen mit Hilfe der Installations-DVDs (siehe [[#Verwendung der Installations-/Wiederherstellungs-DVDs#|oben]]), jedoch mit zwei kleinen Unterschieden (anderer Boot-Modus, {{TT|resetpassword}} ist nicht direkt sondern nur über das Terminal zu erreichen): ===Recovery-Modus=== # im Recovery-Modus booten (siehe [[Startup_Key_Combinations|hier]]), dorthin gelangt man durch Drücken folgender Tastenkombination beim Start des Mac:<KB>apfel + R</kb> # Sobald das Installationsprogramm gestartet wurde (Auswahl von Time Machine Backup, Neuinstallation, ...), steht im Menü "Dienstprogramme" ("Utilities") das Terminal zur Verfügung. Dies ist nun zu starten # im Terminal folgendes eingeben und mit <KB>return</KB> bestätigen: <div style="margin-left:40px;"><source>resetpassword</source></div> Dadurch wird das Passwort zurückgesetzt und es wird ein Dienstprogramm geöffnet, mit dem man für einzelne Benutzer ein neues Passwort vergeben kann. Da der Schlüsselbund mit dem alten Passwort verschlüsselt ist, was man aus Sicherheitsgründen (ohne das alte Passwort zu kennen) nicht ändern kann, ist selbiges zu löschen, bevor man den alten Account mit den neuen Zugangsdaten nutzen kann. Dazu ist nach dem Neustart der Inhalt des Ordners ~/Library/Keychains innerhalb des Benutzerverzeichnisses (Home) zu löschen. Bei der nächsten Anmeldung wird dann automatisch ein neuer Schlüsselbund angelegt. ===Verwendung der Apple-ID=== Seit 10.7 existiert außerdem die Möglichkeit, das Passwort '''anhand der Apple-ID''' zurückzusetzen, diese Eigenschaft muss jedoch '''vorher''' bereits in den Benutzereinstellungen aktiviert sein (sie ist es standardmäßig nicht). ==Siehe auch== * [http://www.macyourself.com/2009/08/03/how-to-reset-your-mac-os-x-password-without-an-installer-disc/ How to reset your Mac OS X password without an installer disc] (macyourself.com) b77262e9316bec30fccf8e5f3a113fe9c44a56b6 MAMP PRO - MySQL datadir Einschränkung umgehen 0 182 875 874 2019-02-17T13:40:55Z Hagbard 2 wikitext text/x-wiki [[Category:Development]][[Category:Hint]]Standardmäßig legt [http://www.mamp.info MAMP PRO] alle MySQL-Datenbanken in einem fest vorgegebenen Verzeichnis ab, dessen Pfad sich dank eines in der Applikation fest eingebauten Pfades leider nicht ändern lässt: /Library/Application Support/appsolute/MAMP PRO/db/mysql bzw. bei älteren Versionen /Library/Application Support/living-e/MAMP PRO/db/mysql Das bedeutet, der {{TT|--datadir}} Parameter zur Angabe eines alternativen Verzeichnisses kann nicht zur Verwendung kommen, da das Aufrufkommando nicht zur Verfügung steht. Allerdings scheint der der verwendete MySQL daemon symlinks zu folgen (Stand: MAMP PRO 2.0). Es genügt als, das o.g. Verzeichnis {{TT|mysql}} an eine beliebige Stelle im Dateisystem zu verschieben und in obigem Verzeichnis einen Symlink (Alias) zu setzen. Dies erfolgt entweder per Finder oder im [[:Kategorie:Terminal|Terminal]]: ln -s /path/to/my/new/mysql /Library/Application\ Support/appsolute/MAMP\ PRO/db/mysql {{Information|Alternativ können auch hardlinks verwendet werden, bei denen sich jedoch prinzipbedingt Ursprung und Ziel auf derselben Partition befinden müssen. Symlinks dagegen erlauben auch Verweise auf ein Zielverzeichnis, das auf einer anderen Partition oder Festplatte liegt.<br /> Sinnigerweise sollte dieses Laufwerk während des Serverstarts verfügbar sein, daher scheiden Netzwerklaufwerke (AFP oder SMB) für den Fall aus, wenn die MAMP-Server bereits beim Booten des Systems gestartet werden.}} 5faf093b7bb90e33b5b5ce50414d494c0b5addc7 876 875 2019-02-18T12:28:34Z Hagbard 2 wikitext text/x-wiki [[Category:Development]][[Category:Hint]]Standardmäßig legt [http://www.mamp.info MAMP PRO] alle MySQL-Datenbanken in einem fest vorgegebenen Verzeichnis ab, dessen Pfad sich dank eines in der Applikation fest eingebauten Pfades leider nicht ändern lässt: /Library/Application Support/appsolute/MAMP PRO/db/mysql bzw. bei älteren Versionen /Library/Application Support/living-e/MAMP PRO/db/mysql Das bedeutet, der {{TT|--datadir}} Parameter zur Angabe eines alternativen Verzeichnisses kann nicht zur Verwendung kommen, da das Aufrufkommando nicht zur Verfügung steht. Allerdings scheint der der verwendete MySQL daemon symlinks zu folgen (Stand: MAMP PRO 2.0). Es genügt als, das o.g. Verzeichnis {{TT|mysql}} an eine beliebige Stelle im Dateisystem zu verschieben und in obigem Verzeichnis einen Symlink (Alias) zu setzen. Dies erfolgt entweder per Finder oder im [[:Category:Terminal|Terminal]]: ln -s /path/to/my/new/mysql /Library/Application\ Support/appsolute/MAMP\ PRO/db/mysql {{Information|Alternativ können auch hardlinks verwendet werden, bei denen sich jedoch prinzipbedingt Ursprung und Ziel auf derselben Partition befinden müssen. Symlinks dagegen erlauben auch Verweise auf ein Zielverzeichnis, das auf einer anderen Partition oder Festplatte liegt.<br /> Sinnigerweise sollte dieses Laufwerk während des Serverstarts verfügbar sein, daher scheiden Netzwerklaufwerke (AFP oder SMB) für den Fall aus, wenn die MAMP-Server bereits beim Booten des Systems gestartet werden.}} b6d9c9b3b46598808108b48b69ce9b4c605bc29c Launchd 0 178 855 854 2019-02-17T13:41:36Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]'''Artikelplanung:''' siehe [[{{TALKPAGENAME}}|Diskussionsseite]] == Graphische Oberflächen == Für die bequemere Nutzung von launchd (v.a. zur Verwaltung laufender Dienste) existieren auch graphische Oberflächen: * [[sourceforge:lingon|Lingon]] zum Erzeugen von launchd-Konfigurationsdateien, Frontend für {{Man|launchctl|launchctl}} (Open Source) * [http://www.codepoetry.net/products/launchdeditor Launchd Editor] zum Erzeugen von launchd-Konfigurationsdateien (Shareware, 5$) == Weitere Informationen == * [[wikipedia:de:Launchd|launchd]] in der [[wikipedia:de:Launchd|Wikipedia]] * [http://data.scl.utah.edu/fmi/xsl/stream/details.xsl?-recid=200&a::v=EyaO944i72 launchd in Depth] (scl.utah.edu) * [http://www.macgeekery.com/tips/all_about_launchd_items_and_how_to_make_one_yourself All About launchd Items (and How To Make One Yourself)] (www.macgeekery.com) * [http://www.macgeekery.com/tips/some_launchd_recipes Some Launchd Recipes] (www.macgeekery.com) ===manpages=== * {{Man|launchd|launchd}} ([[ADC:documentation/Darwin/Reference/ManPages/man8/launchd.8.html|ADC]]) * {{Man|launchctl|launchctl}} ([[ADC:documentation/Darwin/Reference/ManPages/man1/launchctl.1.html|ADC]]) * {{Man|launchd.plist|launchd.plist}} ([[ADC:documentation/Darwin/Reference/ManPages/man5/launchd.plist.5.html|ADC]]) * {{Man|launchd_debugd|launchd_debugd}} ([[ADC:documentation/Darwin/Reference/ManPages/man8/launchd_debugd.8.html|ADC]]) * {{Man|launchd.conf|launchd.conf}} ([[ADC:documentation/Darwin/Reference/ManPages/man5/launchd.conf.5.html|ADC]]) ===ADC Referenz=== * [[ADC:macosx/launchd.html|Getting Started with launchd]] * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/LaunchOnDemandDaemons.html|Creating launchd Daemons and Agents]] * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/CustomLogin.html|Customizing Login and Logout]] ;MacDevCenter - Startup Programming Topics ([[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/BPSystemStartup.pdf|PDF]]) * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/BootProcess.html|The Boot Process]] * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/DesigningDaemons.html|Guidelines for Creating and Launching Daemons]] 99ad6858c0e6666f3186d546569500624f8cd52b 856 855 2019-02-17T13:42:38Z Hagbard 2 wikitext text/x-wiki Ein Artikel-Stub, der mir durch Zufall bei Aufräumarbeiten auf meinem Server untergekommen ist. Ist zwar ziemlich unvollständig, könnte aber die Basis für einen brauchbaren Artikel sein ... ==Artikelplanung== * was ist launchd? :der in Mac OS 10.4 (Tiger) eingeführte Startmechanismus * wie wurden vor Tiger Dienste und Hintergrundprozesse gestartet und verwaltet? :init/mach_init/rc-skripte, xinetd, cron, StartupItems, watchdog, ActivityMonitor * Welche Dienste löst launchd ab? * wie erledigt launchd das? (launchd, launchctl, .plist Dateien) * Was kann man damit machen? :z.B. Anwendungen nach einem Crash automatisch neu starten lassen oder eigene StartupItems erzeugen * Hilfswerkzeuge * Nutzung in eigenen Anwendungen (AppleScript, Objc/Cocoa, ...) ==Inhalte== === Konfiguration von Diensten === * XML Konfigurationsdateien (.plist) * Empfehlungen von Apple (OnDemand, ...) === Daemons und Agents === * Unterscheidung in LaunchDaemon und LaunchAgent * Pfade für die Dateien ==== LaunchDaemon ==== Wird direkt beim Systemstart ausgeführt ==== LaunchAgent ==== Wird im Benutzerkontext (mit den entsprechenden Rechten) ausgeführt und wird erst nach dem Anmelden des Benutzers aktiv === Steuerung mit launchctl === * Syntax * Beispiele === Beispiele === ==== eigene StartupItems ==== ==== Anwendungen automatisch starten ==== === Ersatz für cronjobs - zeitabhängiges Starten === * StartCalendarInterval, Day, Month * Beispiele von Apple:\\ ''LaunchDaemons.com.apple.periodic-{daily | weekly | monthly}.plist'' 51b0404a096aca72649f6fd55f0978d1598b4824 857 856 2019-02-17T13:44:02Z Hagbard 2 Undo revision 2090 by [[Special:Contributions/Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) wikitext text/x-wiki [[Category:OS]]'''Artikelplanung:''' siehe [[{{TALKPAGENAME}}|Diskussionsseite]] == Graphische Oberflächen == Für die bequemere Nutzung von launchd (v.a. zur Verwaltung laufender Dienste) existieren auch graphische Oberflächen: * [[sourceforge:lingon|Lingon]] zum Erzeugen von launchd-Konfigurationsdateien, Frontend für {{Man|launchctl|launchctl}} (Open Source) * [http://www.codepoetry.net/products/launchdeditor Launchd Editor] zum Erzeugen von launchd-Konfigurationsdateien (Shareware, 5$) == Weitere Informationen == * [[wikipedia:de:Launchd|launchd]] in der [[wikipedia:de:Launchd|Wikipedia]] * [http://data.scl.utah.edu/fmi/xsl/stream/details.xsl?-recid=200&a::v=EyaO944i72 launchd in Depth] (scl.utah.edu) * [http://www.macgeekery.com/tips/all_about_launchd_items_and_how_to_make_one_yourself All About launchd Items (and How To Make One Yourself)] (www.macgeekery.com) * [http://www.macgeekery.com/tips/some_launchd_recipes Some Launchd Recipes] (www.macgeekery.com) ===manpages=== * {{Man|launchd|launchd}} ([[ADC:documentation/Darwin/Reference/ManPages/man8/launchd.8.html|ADC]]) * {{Man|launchctl|launchctl}} ([[ADC:documentation/Darwin/Reference/ManPages/man1/launchctl.1.html|ADC]]) * {{Man|launchd.plist|launchd.plist}} ([[ADC:documentation/Darwin/Reference/ManPages/man5/launchd.plist.5.html|ADC]]) * {{Man|launchd_debugd|launchd_debugd}} ([[ADC:documentation/Darwin/Reference/ManPages/man8/launchd_debugd.8.html|ADC]]) * {{Man|launchd.conf|launchd.conf}} ([[ADC:documentation/Darwin/Reference/ManPages/man5/launchd.conf.5.html|ADC]]) ===ADC Referenz=== * [[ADC:macosx/launchd.html|Getting Started with launchd]] * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/LaunchOnDemandDaemons.html|Creating launchd Daemons and Agents]] * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/CustomLogin.html|Customizing Login and Logout]] ;MacDevCenter - Startup Programming Topics ([[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/BPSystemStartup.pdf|PDF]]) * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/BootProcess.html|The Boot Process]] * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/DesigningDaemons.html|Guidelines for Creating and Launching Daemons]] 99ad6858c0e6666f3186d546569500624f8cd52b 858 857 2019-02-17T13:44:23Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]'''Artikelplanung:''' siehe [[{{TALKPAGENAME}}|Diskussionsseite]] == Graphische Oberflächen == Für die bequemere Nutzung von launchd (v.a. zur Verwaltung laufender Dienste) existieren auch graphische Oberflächen: * [http://sourceforge.net/projects/lingon Lingon] zum Erzeugen von launchd-Konfigurationsdateien, Frontend für {{Man|launchctl|launchctl}} (Open Source) * [http://www.codepoetry.net/products/launchdeditor Launchd Editor] zum Erzeugen von launchd-Konfigurationsdateien (Shareware, 5$) == Weitere Informationen == * [[wikipedia:de:Launchd|launchd]] in der [[wikipedia:de:Launchd|Wikipedia]] * [http://data.scl.utah.edu/fmi/xsl/stream/details.xsl?-recid=200&a::v=EyaO944i72 launchd in Depth] (scl.utah.edu) * [http://www.macgeekery.com/tips/all_about_launchd_items_and_how_to_make_one_yourself All About launchd Items (and How To Make One Yourself)] (www.macgeekery.com) * [http://www.macgeekery.com/tips/some_launchd_recipes Some Launchd Recipes] (www.macgeekery.com) ===manpages=== * {{Man|launchd|launchd}} ([[ADC:documentation/Darwin/Reference/ManPages/man8/launchd.8.html|ADC]]) * {{Man|launchctl|launchctl}} ([[ADC:documentation/Darwin/Reference/ManPages/man1/launchctl.1.html|ADC]]) * {{Man|launchd.plist|launchd.plist}} ([[ADC:documentation/Darwin/Reference/ManPages/man5/launchd.plist.5.html|ADC]]) * {{Man|launchd_debugd|launchd_debugd}} ([[ADC:documentation/Darwin/Reference/ManPages/man8/launchd_debugd.8.html|ADC]]) * {{Man|launchd.conf|launchd.conf}} ([[ADC:documentation/Darwin/Reference/ManPages/man5/launchd.conf.5.html|ADC]]) ===ADC Referenz=== * [[ADC:macosx/launchd.html|Getting Started with launchd]] * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/LaunchOnDemandDaemons.html|Creating launchd Daemons and Agents]] * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/CustomLogin.html|Customizing Login and Logout]] ;MacDevCenter - Startup Programming Topics ([[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/BPSystemStartup.pdf|PDF]]) * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/BootProcess.html|The Boot Process]] * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/DesigningDaemons.html|Guidelines for Creating and Launching Daemons]] 03718e79c06fcd48d8479554a32d98d3641c6432 Color-Picker App selber erstellen 0 51 182 2019-02-18T07:32:20Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]]Den von OS X in diversen Programmen bereitgestellten Farbwahl-Dialog (Color-Picker) kann man recht einfach als unsbhängiges Programm nutzen. Dazu Ist es lediglich notwendig, ... * den Skript-Editor zu starten (ein neues Skript sollte automatisch erstellt werden) * die folgenden zwei Worte einzufügen: {{TT|choose color}} * das ganze als "Programm" an eine beliebige Stelle zu speichern Anschließend kann dem so erstellte Programm über den Info-Dialog (Rechtsklick auf das Symbol im Finder) auch ncoh ein hübscheres Symbol zugewiesen werden. Beim Start dieses Programms erscheint dann das rechts abgebildete Fenster. 69ec5c4a92418ee3175e22439aa269659a7c34fb PHP Hilfsfunktionen (PHP) 0 308 1604 2019-02-18T08:16:25Z Hagbard 2 Hagbard moved page [[PHP Hilfsfunktionen (PHP)]] to [[PHP Code Snippets]] wikitext text/x-wiki #REDIRECT [[PHP Code Snippets]] 3783e02a7ab496fc66d08ba39f1f1ae2150a4ca3 Change the Wallpaper of the Login Screen 0 157 754 753 2019-02-18T08:47:37Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]]Das im Anmeldebildschirm von Mac OS 10.5 verwendete Hintergrundbild befindet sich nicht im gleichen Verzeichnis wie die übrigen Desktop-Hintergrundbilder /Library/Desktop Pictures/ sondern an einer anderen Stelle im System: /System/Library/CoreServices/DefaultDesktop.jpg Um ein anderes Bild dafür zu verwenden, gibt es prinzipiell zwei Möglichkeiten: ===Ändern der Voreinstellungen=== Das zu verwendende Hintergrundbild wird in folgender Einstellungsdatei festgelegt und kann dementsprechend auch geändert werden: /Library/Preferences/com.apple.loginwindow Das kann in einem Editor der Wahl oder mit dem folgenden Befehl über das Terminal erfolgen: <source bash> /usr/bin/defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture "/pfad/zum/neuen/bild.jpg" </source> Um diese Änderung rückgängig zu machen, ist dann dasselbe mit dem ursprünglichen Bild aufzurufen: <source bash> /usr/bin/defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture "/System/Library/CoreServices/DefaultDesktop.jpg" </source> {{Information|1='''Achtung:''' Der Benutzer muss dazu Schreibrechte im Systemverzeichnis haben, d.h. den obigen Befehlen ist u.U. ein "{{TT|1={{Man|sudo|sudo}} }}" voranzustellen!}} ===Ersetzen der Datei=== Diese Datei ist einfach durch eine andere zu ersetzen, wobei die Zugriffsrechte der neuen Datei unbedingt angepasst werden müssen! Das kann entweder über den Info-Screen der Datei oder im Terminal erfolgen. Im {{Terminal}} sind dazu nacheinander folgende Befehle einzugeben (MYNEWPICTURE ist dabei durch den Pfad zum neuen Bild zu ersetzen): <source bash> cd /System/Library/CoreServices mv DefaultDesktop.jpg DefaultDesktop.jpg.original cp MYNEWPICTURE /System/Library/CoreServices/DefaultDesktop.jpg % chown root:wheel /System/Library/CoreServices/DefaultDesktop.jpg % chmod 644 /System/Library/CoreServices/DefaultDesktop.jpg </source> {{Information|'''Achtung:''' Bei einem späteren Systemupdate kann diese Datei wieder durch die ursprüngliche Systemdatei überschrieben werden!}} ===Alternativen=== * [http://www.loginox.branox.com/ Loginox] (Freeware) b90a10a212f62780cc58b5e04b7d5e410ed956d8 Template:Translucent 10 196 1145 1144 2019-02-18T08:55:25Z Hagbard 2 wikitext text/x-wiki <noinclude>Vorlage zur halbtrasnsparenten Darstellung von (beliebigen) Inhalten. ;Beispiel: <nowiki>{{Opaque|1=[[Bild:MacOS10.5.png|32px]]}}</nowiki> ;Ausgabe: :{{Opaque|1=[[Bild:MacOS10.5.png|32px]]}} </noinclude><includeonly><div class=opaque>{{{1}}}</div></includeonly> 5f2364f8444d49db575374bd7447f7e66dba114d 1146 1145 2019-02-18T08:55:37Z Hagbard 2 Hagbard moved page [[Vorlage:Opaque]] to [[Template:Opaque]] without leaving a redirect wikitext text/x-wiki <noinclude>Vorlage zur halbtrasnsparenten Darstellung von (beliebigen) Inhalten. ;Beispiel: <nowiki>{{Opaque|1=[[Bild:MacOS10.5.png|32px]]}}</nowiki> ;Ausgabe: :{{Opaque|1=[[Bild:MacOS10.5.png|32px]]}} </noinclude><includeonly><div class=opaque>{{{1}}}</div></includeonly> 5f2364f8444d49db575374bd7447f7e66dba114d 1147 1146 2019-02-18T08:55:50Z Hagbard 2 wikitext text/x-wiki <noinclude>Vorlage zur halbtrasnsparenten Darstellung von (beliebigen) Inhalten. ;Beispiel: <nowiki>{{Opaque|1=[[Bild:MacOS10.5.png|32px]]}}</nowiki> ;Ausgabe: :{{Opaque|1=[[Bild:Folder.png|32px]]}} </noinclude><includeonly><div class=opaque>{{{1}}}</div></includeonly> 82a3baaa45d459336447b00bd5c1ec6da44cc81d 1148 1147 2019-02-18T08:55:59Z Hagbard 2 wikitext text/x-wiki <noinclude>Vorlage zur halbtrasnsparenten Darstellung von (beliebigen) Inhalten. ;Beispiel: <nowiki>{{Opaque|1=[[Bild:MacOS10.5.png|32px]]}}</nowiki> ;Ausgabe: :{{Opaque|1=[[Image:Folder.png|32px]]}} </noinclude><includeonly><div class=opaque>{{{1}}}</div></includeonly> 8ea874827697718eafac90eca8dc125658df1452 1149 1148 2019-02-18T08:56:53Z Hagbard 2 Hagbard moved page [[Template:Opaque]] to [[Template:Translucent]] without leaving a redirect wikitext text/x-wiki <noinclude>Vorlage zur halbtrasnsparenten Darstellung von (beliebigen) Inhalten. ;Beispiel: <nowiki>{{Opaque|1=[[Bild:MacOS10.5.png|32px]]}}</nowiki> ;Ausgabe: :{{Opaque|1=[[Image:Folder.png|32px]]}} </noinclude><includeonly><div class=opaque>{{{1}}}</div></includeonly> 8ea874827697718eafac90eca8dc125658df1452 1150 1149 2019-02-18T08:57:08Z Hagbard 2 wikitext text/x-wiki <noinclude>Vorlage zur halbtrasnsparenten Darstellung von (beliebigen) Inhalten. ;Beispiel: <nowiki>{{Translucent|1=[[Bild:MacOS10.5.png|32px]]}}</nowiki> ;Ausgabe: :{{Opaque|1=[[Image:Folder.png|32px]]}} </noinclude><includeonly><div class=translucent>{{{1}}}</div></includeonly> 7dc25897aadd28db01783e41f76e8ad27e505413 1151 1150 2019-02-18T08:57:19Z Hagbard 2 wikitext text/x-wiki <noinclude>Vorlage zur halbtrasnsparenten Darstellung von (beliebigen) Inhalten. ;Beispiel: <nowiki>{{Translucent|1=[[Bild:MacOS10.5.png|32px]]}}</nowiki> ;Ausgabe: :{{Translucent|1=[[Image:Folder.png|32px]]}} </noinclude><includeonly><div class=translucent>{{{1}}}</div></includeonly> dd5a3c995c5eab7d3cfcef666848527635129ab8 1152 1151 2019-02-18T08:58:23Z Hagbard 2 wikitext text/x-wiki <noinclude>Vorlage zur halbtrasnsparenten Darstellung von (beliebigen) Inhalten. ;Beispiel: <nowiki>[[Image:Folder.png|32px]] {{Translucent|1=[[Image:Folder.png|32px]]}}</nowiki> ;Ausgabe: :[[Image:Folder.png|32px]]{{Translucent|1=[[Image:Folder.png|32px]]}} </noinclude><includeonly><div class=translucent>{{{1}}}</div></includeonly> 0a95969891397a080c2b3cd4c1f15c58b1675cac MacOS Login Screen 0 189 946 945 2019-02-18T08:58:39Z Hagbard 2 wikitext text/x-wiki [[Category:OS]] ==Verhalten des Login-Fensters beeinflussen== === Eingabefeld "Benutzername" === Für den Anmeldebildschirm von Mac OS X existieren einige "hidden features", die mitunter recht praktisch sind. Über folgende Kommandos lassen sich diverse Aktionen ausführen, das Login-Fenster muss dazu natürlich in den Systemeinstellungen (Panel "Benutzer" > "Anmeldeoptionen") auf "Name und Kennwort" gesetzt sein. {| |-- bgcolor=#e2e2e2 ! width=100px|Kommando || width=200px|Wirkung || getestet mit Mac OS Version |-- | >shutdown || den Mac herunterfahren || [[Bild:MacOS10.4.png|32px]] |-- | >restart || den Mac neustarten || [[Bild:MacOS10.3.png|32px]] [[Bild:MacOS10.4.png|32px]] |-- | >sleep || Ruhezustand || [[Bild:MacOS10.4.png|32px]] |-- | >power || den Mac herunterfahren || [[Bild:MacOS10.3.png|32px]] [[Bild:MacOS10.4.png|32px]] {{Translucent|1=[[Bild:MacOS10.2.png|32px|Unter 10.2 nicht getestet, sollte aber auch funktionieren]]}} |-- | >exit || den WindowServer neu starten || [[Bild:MacOS10.3.png|32px]] [[Bild:MacOS10.4.png|32px]] {{Opaque|1=[[Bild:MacOS10.2.png|32px|Unter 10.2 nicht getestet, sollte aber auch funktionieren]]}} |-- | >console || in den Darwin Text-Mode wechseln ||[[Bild:MacOS10.3.png|32px]] [[Bild:MacOS10.4.png|32px]] {{Opaque|1=[[Bild:MacOS10.2.png|32px|Unter 10.2 nicht getestet, sollte aber auch funktionieren]]}} |} Danke an [[Benutzer:MacForian|Flo]] und Tanja fürs Durchtesten mit Mac OS 10.3! Herunterfahren und Neu starten kann man jedoch nicht im Login-Screen zum Benutzerwechsel sondern nur, wenn aktuell kein weiterer Benutzer angemeldet ist. === Script beim Anmelden ausführen === http://www.macosxhints.com/article.php?story=20050517210406483 === Systeminformationen anzeigen === Keine Ahnung in welchen Systemen das genau funktioniert, aber in 10.4.1 tut es: Bei click auf den Systemnamen unter dem Apfel und über der Userliste, wechselt die Anzeige auf: Hostname -> Version -> Build -> Seriennummer -> Datum -> Hostname Der Sinn dahinter ist wohl, dass der Applesupport direkt helfen kann, auch wenn der Benutzer sagt: "Ich kann mich nicht einloggen!" Das Funktioniert auch im Finder-Info-Fenster "Über diesen Mac" (erster Eintrag im Apfel-Menü) === Spracheinstellungen === Die Sprache im Anmeldebildschirm richtet sich nach der systemweiten Spracheinstellung, die bei der Installation von OS X gesetzt wird. Diese lässt sich mit Admin-Rechten und folgendem Terminal-Kommando jedoch jederzeit ändern und ist sofort wirksam: sudo languagesetup ==Login Tweaks== === Login Style ändern === Wie kann man von der Userliste auf User/Password wechseln per Shortcut? Die angegebene Kombination <KB>shift + opt + return</KB> funktioniert bei mir nicht! Die Umschaltung mittels <KB>shift + opt + return</KB> gibt es erst seit Tiger, unter 10.3 und davor existiert ein extra Button zum Umschalten. Außerdem funktioniert es offensichtlich nicht mit aktivem [http://wincent.com/a/products/winswitch/ WinSwitch]. ===Hintergrundbild ändern=== Das Login-Fenster benutzt als Hintergrundbild immer "Aqua Blue", das als 2560x1600 Pixel (Mac OS 10.4) große Grafikdatei dort zu finden ist: /Library/Desktop Pictures/Aqua Blue.jpg Um das Bild zu ändern, ist einfach diese Datei durch eine andere zu ersetzen. Alternativ lässt sich das auch in der Konfigurationsdatei /Library/Preferences/com.apple.loginwindow.plist ändern, indem ein Schlüssel namens "DesktopPicture" hinzugefügt wird. Das kann auch durch die Eingabe des folgenden Kommandos im Terminal erfolgen (alles in einer Zeile): sudo defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture -string "/Library/Desktop Pictures/Nature/Stones.jpg" Falls die Änderungen nicht sofort sichtbar werden, muss entweder der Mac neu gestartet oder der Prozess des loginwindow gekillt werden. ===Aktuelle Konfiguration des Login Fensters=== Die aktuellen Einstellungen des Login-Fensters befinden sich im Library-Ordner, und zwar z.B. dort: /Library/Preferences/com.apple.loginwindow.plist Dort sind unter anderem auch die folgenden Informationen zu finden: * Name des zuletzt angemeldeten Benutzers * Der aktuelle Status des Benutzers (z.B. "loggedIn") Außerdem lassen sich dort folgende Einstellungen vornehmen: * '''AdminHostInfo''': Info-Anzeige im Login-Fenster beeinflussen (default: Time) * '''HideAdminUsers''': Administratoren in der Benutzerliste verbergen (default: false) * '''HideLocalUsers''': Lokale Benutzer verbergen (default: false) * '''IncludeNetworkUser''': Netzwerkbenutzer anzeigen (default: false) * '''Kiosk''': Kiosk Mode (default: false - habe ich noch nicht getestet, keine Ahnung was das bewirkt) * '''PowerOffDisabled''': Button "Ausschalten" nicht anzeigen (default: no) * '''RetriesUntilHint''': Anzahl der Login Versuche, bis der Hinweistext erscheint (so denn der Benutzer einen in den Benutzereinstellungen angegeben hat; default: 0) * '''SHOWFULLNAME''': den vollständigen Namen anzeigen (default: yes) Wie sich die Werte im Pendant des Benutzerverzeichnisses genau zusammensetzen, konnte ich auf die Schnelle nicht ermitteln. die Datei befindet sich dort: /Users/BENUTZERNAME/Library/Preferences/com.apple.loginwindow.plist und beinhaltet die folgenden Schlüssel: * NSWindow Frame About This Mac * NSWindow Frame ProcessPanel Außerdem existiert noch die folgende Konfigurationsdatei, die offensichtlich für die beim Login automatisch zu startenden Anwendungen (Key AutoLaunchedApplicationDictionary) zuständig ist: /Users/BENUTZERNAME/Library/Preferences/loginwindow.plist Außerdem wird hier wohl auch die Darstellungsform der aktuellen Systemversion (Build Version und System Version) abgelegt ... ==Tools== Es existieren auch fertige Tools, die einige Login-Tweaks in einer graphischen Oberfläche zugänglich machen: * [http://www.bombich.com/software/lwm.html LoginWindow Manager] 2.0 (Freeware) 86989cd9686231a080f5ef18510a5b393198e599 947 946 2019-02-18T12:31:11Z Hagbard 2 wikitext text/x-wiki [[Category:OS]] ==Verhalten des Login-Fensters beeinflussen== === Eingabefeld "Benutzername" === Für den Anmeldebildschirm von Mac OS X existieren einige "hidden features", die mitunter recht praktisch sind. Über folgende Kommandos lassen sich diverse Aktionen ausführen, das Login-Fenster muss dazu natürlich in den Systemeinstellungen (Panel "Benutzer" > "Anmeldeoptionen") auf "Name und Kennwort" gesetzt sein. {| |-- bgcolor=#e2e2e2 ! width=100px|Kommando || width=200px|Wirkung || getestet mit Mac OS Version |-- | >shutdown || den Mac herunterfahren || 10.4 |-- | >restart || den Mac neustarten || 10.3, 10.4 |-- | >sleep || Ruhezustand || 10.4 |-- | >power || den Mac herunterfahren || 10.3, 10.4 {{Translucent|1=Unter 10.2 nicht getestet, sollte aber auch funktionieren}} |-- | >exit || den WindowServer neu starten || 10.3, 10.4 {{Translucent|1=Unter 10.2 nicht getestet, sollte aber auch funktionieren}} |-- | >console || in den Darwin Text-Mode wechseln ||10.3, 10.4 {{Translucent|1=Unter 10.2 nicht getestet, sollte aber auch funktionieren}} |} Herunterfahren und Neu starten kann man jedoch nicht im Login-Screen zum Benutzerwechsel sondern nur, wenn aktuell kein weiterer Benutzer angemeldet ist. === Script beim Anmelden ausführen === http://www.macosxhints.com/article.php?story=20050517210406483 === Systeminformationen anzeigen === Keine Ahnung in welchen Systemen das genau funktioniert, aber in 10.4.1 tut es: Bei click auf den Systemnamen unter dem Apfel und über der Userliste, wechselt die Anzeige auf: Hostname -> Version -> Build -> Seriennummer -> Datum -> Hostname Der Sinn dahinter ist wohl, dass der Applesupport direkt helfen kann, auch wenn der Benutzer sagt: "Ich kann mich nicht einloggen!" Das Funktioniert auch im Finder-Info-Fenster "Über diesen Mac" (erster Eintrag im Apfel-Menü) === Spracheinstellungen === Die Sprache im Anmeldebildschirm richtet sich nach der systemweiten Spracheinstellung, die bei der Installation von OS X gesetzt wird. Diese lässt sich mit Admin-Rechten und folgendem Terminal-Kommando jedoch jederzeit ändern und ist sofort wirksam: sudo languagesetup ==Login Tweaks== === Login Style ändern === Wie kann man von der Userliste auf User/Password wechseln per Shortcut? Die angegebene Kombination <KB>shift + opt + return</KB> funktioniert bei mir nicht! Die Umschaltung mittels <KB>shift + opt + return</KB> gibt es erst seit Tiger, unter 10.3 und davor existiert ein extra Button zum Umschalten. Außerdem funktioniert es offensichtlich nicht mit aktivem [http://wincent.com/a/products/winswitch/ WinSwitch]. ===Hintergrundbild ändern=== Das Login-Fenster benutzt als Hintergrundbild immer "Aqua Blue", das als 2560x1600 Pixel (Mac OS 10.4) große Grafikdatei dort zu finden ist: /Library/Desktop Pictures/Aqua Blue.jpg Um das Bild zu ändern, ist einfach diese Datei durch eine andere zu ersetzen. Alternativ lässt sich das auch in der Konfigurationsdatei /Library/Preferences/com.apple.loginwindow.plist ändern, indem ein Schlüssel namens "DesktopPicture" hinzugefügt wird. Das kann auch durch die Eingabe des folgenden Kommandos im Terminal erfolgen (alles in einer Zeile): sudo defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture -string "/Library/Desktop Pictures/Nature/Stones.jpg" Falls die Änderungen nicht sofort sichtbar werden, muss entweder der Mac neu gestartet oder der Prozess des loginwindow gekillt werden. ===Aktuelle Konfiguration des Login Fensters=== Die aktuellen Einstellungen des Login-Fensters befinden sich im Library-Ordner, und zwar z.B. dort: /Library/Preferences/com.apple.loginwindow.plist Dort sind unter anderem auch die folgenden Informationen zu finden: * Name des zuletzt angemeldeten Benutzers * Der aktuelle Status des Benutzers (z.B. "loggedIn") Außerdem lassen sich dort folgende Einstellungen vornehmen: * '''AdminHostInfo''': Info-Anzeige im Login-Fenster beeinflussen (default: Time) * '''HideAdminUsers''': Administratoren in der Benutzerliste verbergen (default: false) * '''HideLocalUsers''': Lokale Benutzer verbergen (default: false) * '''IncludeNetworkUser''': Netzwerkbenutzer anzeigen (default: false) * '''Kiosk''': Kiosk Mode (default: false - habe ich noch nicht getestet, keine Ahnung was das bewirkt) * '''PowerOffDisabled''': Button "Ausschalten" nicht anzeigen (default: no) * '''RetriesUntilHint''': Anzahl der Login Versuche, bis der Hinweistext erscheint (so denn der Benutzer einen in den Benutzereinstellungen angegeben hat; default: 0) * '''SHOWFULLNAME''': den vollständigen Namen anzeigen (default: yes) Wie sich die Werte im Pendant des Benutzerverzeichnisses genau zusammensetzen, konnte ich auf die Schnelle nicht ermitteln. die Datei befindet sich dort: /Users/BENUTZERNAME/Library/Preferences/com.apple.loginwindow.plist und beinhaltet die folgenden Schlüssel: * NSWindow Frame About This Mac * NSWindow Frame ProcessPanel Außerdem existiert noch die folgende Konfigurationsdatei, die offensichtlich für die beim Login automatisch zu startenden Anwendungen (Key AutoLaunchedApplicationDictionary) zuständig ist: /Users/BENUTZERNAME/Library/Preferences/loginwindow.plist Außerdem wird hier wohl auch die Darstellungsform der aktuellen Systemversion (Build Version und System Version) abgelegt ... ==Tools== Es existieren auch fertige Tools, die einige Login-Tweaks in einer graphischen Oberfläche zugänglich machen: * [http://www.bombich.com/software/lwm.html LoginWindow Manager] 2.0 (Freeware) bc5c9e216e9331edc953437b44042e2f11da57f3 Hidden Features/Firefox 0 329 1646 2019-02-18T09:02:11Z Hagbard 2 wikitext text/x-wiki [[Category:App]]{{Important|'''Achtung:''' Dadurch kann einiges an der Firefox-Konfiguration verstellt werden, wodurch unter Umständen einige Erweiterungen oder gar der ganze Browser nicht mehr funktionieren! Die Änderungen sollten also wohlüberlegt sein.}} __TOC__Wie vielleicht einigen bereits bekannt sein dürfte, lässt sich Firefox außerhalb des offiziellen Einstellungsdialogs umfangreich an die eigenen Bedürfnisse anpassen - und zwar über die Konfigurationsseite '''{{TT|about:config}}'''. Im Folgenden eine kleine Übersicht hilfreicher und praktischer Konfigurationsoptionen, die über den Einstellungsdialog nicht zu erreichen sind (die Vorgabewerte stehen dabei in Klammern) Ab Firefox 3.6 ist unter folgender Adresse eine Übersicht aller modifizierten {{TT|about:config}} Einstellungen verfügbar: about:support Weitere about{{TT|about:}} Seiten: <div style="display:block; background-color:#f2f2f2; padding:10px;"> {| style="border-spacing:0px; padding:0px; background-color:transparent; width:100%;" |-- style="background-color:#e2e2e2;" | colspan="2" | Laufzeitinformationen und Konfiguration |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:}} || Informationen über die aktuell verwendete Firefox-Version |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:config}} || Auflistung und Änderung aller internen Einstellungen |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:plugins}} || Übersicht aller installierten Firefox Plugins (z.B. Java) |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:crashes}} || Absturzprotokolle mit der Möglichkeit, diese zum Mozilla Crash-Reporter zu senden |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:cache}} || Übersicht des Inhaltes von Datei- und Speichercache |-- style="background-color:#e2e2e2;" | colspan="2" | Build-Informationen |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:buildconfig}} || Informationen zum Compiler- und Buildkonfiguration |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:credits}} || eine Liste aller an der Firefox-Entwicklung beteiligten Personen |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:license}} || Lizenz Informationen |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:logo}} || Logo |-- style="background-color:#e2e2e2;" | colspan="2" | Fehlerseiten |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:neterror}} || wird bei Netzwerkfehlern angezeigt |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:blocked}} || Malware-Schutzseite |-- style="background-color:#e2e2e2;" | colspan="2" | Sonstiges |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:blank}} || eine leere Seite (z.B. als Startseite verwendbar) |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:robots}}<br />{{TT|about:mozilla}} || Easter Eggs |}</div> Eine vollständige Übersicht ist in der [[wikipedia:de:About:_URI_scheme|Wikipedia]] (en) und im [http://www.firefox-browser.de/wiki/About: FirefoxWiki] zu finden. ==Interna== {| style="border-spacing:0px; padding:0px;" cellpadding="10" |-- style="border-bottom:1px solid #f2f2f2;" | style="width:50%;" | {{TT|dom.storage.enabled}} || style="width:100px;" | false (true) || Deaktivierung des [https://developer.mozilla.org/en/DOM/Storage DOM Storage] (auch als "Jumbo Cookies" bezeichnet), die es ermöglichen, größere Datenmengen direkt im DOM zu speichern. |-- bgcolor="#f2f2f2" | {{TT|general.useragent.override}} || (n/a) || Eintragen eines eigenen [[wikipedia:de:User_Agent|HTTP UserAgent]], damit sich der Browser beispielsweise als Opera zu erkennen gibt. Beispiel:<br /><small>{{TT|Opera/9.80 (Macintosh; Intel Mac OS X; U; en) Presto/2.2.15 Version/10.00}}</small> |-- style="border-bottom:1px solid #f2f2f2;" | style="width:50%;" | {{TT|browser.download.manager.scanWhenDone}} || false (true) || Deaktivierung des Virenscans von fertiggestellten Downloads |-- bgcolor="#f2f2f2" | {{TT|network.http.sendRefererHeader}} || {{TT|2}} || Den [[wikipedia:de:Referrer|HTTP-Referer]] bei Anfragen mitschicken, gültige Werte sind: :{{TT|0}} niemals :{{TT|1}} nur bei Links :{{TT|2}} bei Links und Bildern siehe auch: [http://kb.mozillazine.org/Network.http.sendRefererHeader mozillaZine] |-- | {{TT|network.http.sendSecureXSiteReferrer}} || {{TT|true}} || Den [[wikipedia:de:Referrer|HTTP-Referer]] beim Klick auf Links zu [[wikipedia:de:Hypertext_Transfer_Protocol_Secure|HTTPS-Adressen]] mitschicken, siehe auch: [http://kb.mozillazine.org/Network.http.sendSecureXSiteReferrer mozillaZine] |} ==Access-Keys== Unter Firefox bis Version 14 ist die Standard-Taste für die Schnellzugriffs-Tastaturkürzel die <div style="display:inline-block;"><KB>CTRL</KB></div> Taste, in Version 14 wurde dies zu <KB>CTRL+ALT</KB> geändert. Das besonders lästige daran ist, dass damit die Schnellzugriffstasten offenbar nicht mehr funktionieren, sobald ein Formularelement (z.B. ein Texteingabefeld) selektiert ist. Um diese Änderung also wieder rückgängig zu machen oder generell eine andere Taste zu verwenden, kann einer der folgenden Werte in der Firefox-Konfiguration via {{TT|about:config}} gesetzt werden: {| style="border-spacing:0px; padding:0px;" cellpadding="10" |-- bgcolor="#e8e8e8" ! Einstellungsname !! colspan=3 | Mögliche Werte |-- bgcolor="#f2f2f2" | style="width:50%;" | {{TT|Ui.key.contentAccess}} || {{TT|0}} || || accesskeys deaktivieren |-- bgcolor="#f2f2f2" || || {{TT|1}} || <KB>SHIFT</KB> || |-- bgcolor="#f2f2f2" || || {{TT|2}} || <KB>CTRL</KB> || Standardeinstellung bis Version 13.x (OS X) |-- bgcolor="#f2f2f2" || || {{TT|4}} || <KB>ALT</KB> || |-- bgcolor="#f2f2f2" || || {{TT|5}} || <KB>SHIFT+ALT</KB> || Standardeinstellung unter Windows und Linux |-- bgcolor="#f2f2f2" || || {{TT|6}} || <KB>CTRL+ALT</KB> || Standardeinstellung ab Version 14 (OS X) |-- bgcolor="#f2f2f2" || || {{TT|7}} || <KB>SHIFT+CTRL+ALT</KB> || |-- bgcolor="#f2f2f2" || || {{TT|8}} || <KB>META</KB> || |} Siehe auch: [http://kb.mozillazine.org/Ui.key.contentAccess {{TT|Ui.key.contentAccess}}] (Mozilla Knowledge Base) ==Oberfläche== {| style="border-spacing:0px; padding:0px;" cellpadding="10" |-- bgcolor="#e8e8e8" ! Einstellungsname !! Wert !! default |-- bgcolor="#f2f2f2" | style="width:50%;" | {{TT|browser.ctrlTab.previews}} || true (false) || aktiviert die Tab-Vorschau, erreichbar über <KB>CTRL+TAB</KB> |-- | style="width:50%;" | {{TT|browser.tabs.closeWindowWithLastTab}} || style="width:100px;" | false (true) || Verhindert, dass das Fenster zusammen mit dem letzten Tab geschlossen wird. |-- bgcolor="#f2f2f2" | style="width:50%;" | {{TT|mousewheel.horizscroll.withnokey.action}} || 0 (2) || deaktiviert das [[Kurztipp - Horizontales Scrolling durch Firefox-History deaktivieren|horizontale Scrollen durch die History]] be gedrückter ALT-Taste |-- | style="width:50%;" | {{TT|browser.urlbar.autoFill}} || true (false) || Aktiviert die [[Kurztipp - URL-Autocompletion im Firefox aktivieren|automatische URL-Vervollständigung]] in der Adressleiste |-- bgcolor="#f2f2f2" | style="width:50%;" | {{TT|layout.css.visited_links_enabled}} || false (true) || deaktiviert das sichtbare Anzeigen besuchter URLs mit Hilfe von CSS und ist damit eine Möglichkeit, das sog. "History Stealing" einzugrenzen (einen Test dazu gibt es [http://www.whattheinternetknowsaboutyou.com/ hier]). |} ===Tab-Historie deaktivieren=== Um die Browser-History in neu geöffneten Tabs (verfügbar ab Firefox 13) zu deaktivieren, sind folgende Einstellungen entsprechend anzupassen: {| style="border-spacing:0px; padding:0px;" cellpadding="10" |-- bgcolor="#e8e8e8" ! Einstellungsname !! Wert !! default |-- | {{TT|browser.newtabpage.enabled}} || {{TT|false}} || {{TT|true}} |-- bgcolor="#f2f2f2" | {{TT|services.sync.prefs.sync.browser.newtabpage.enabled}} || {{TT|false}} || {{TT|true}} |-- | {{TT|browser.newtab.url}} || {{TT|about:blank}} || {{TT|about:newtab}} |} Damit die Einstellungen wirksam werden, muss Firefox beendet und neu gestartet werden. ==Multitouch Trackpad-Gesten== Firefox unterstützt seit Version 3.5 auch eine ganze Reihe an Trackpad-Gesten: <div style="display:block; background-color:#f2f2f2; padding:10px;"> {| style="border-spacing:0px; padding:0px; background-color:transparent;" |-- | {{TT|browser.gesture.pinch.in}} || moving two fingers towards one another |-- | {{TT|browser.gesture.pinch.in.shift}} || |-- | {{TT|browser.gesture.pinch.out}} || moving two fingers away from one another |-- | {{TT|browser.gesture.pinch.out.shift}} || |-- | {{TT|browser.gesture.swipe.up}} || drag three fingers to the top |-- | {{TT|browser.gesture.swipe.down}} || drag three fingers to the bottom |-- | {{TT|browser.gesture.swipe.left}} || drag three fingers to the left |-- | {{TT|browser.gesture.swipe.right}} || drag three fingers to the right |-- | {{TT|browser.gesture.tap}} || |-- | {{TT|browser.gesture.twist.left}} || placing two fingers on the trackpad, and twist them left |-- | {{TT|browser.gesture.twist.right}} || placing two fingers on the trackpad, and twist them right |} </div> Diese lassen sich beispielsweise mit den folgenden Kommandos frei belegen: <div style="display:block; background-color:#f2f2f2; padding:10px;"> {| style="border-spacing:0px; padding:0px; background-color:transparent;" |-- | {{TT|cmd_newNavigator}} || new Firefox window |-- | {{TT|cmd_handleBackspace}} || |-- | {{TT|cmd_handleShiftBackspace}} || Same as shift-backspace |-- | {{TT|cmd_newNavigatorTab}} || opens new tab |-- | {{TT|Browser:OpenFile}} || brings up open file dialogue |-- | {{TT|Browser:SavePage}} || opens save file prompt |-- | {{TT|Browser:SaveFrame}} || save frame prompt |-- | {{TT|Browser:SendLink}} || sends link to default email client |-- | {{TT|cmd_pageSetup}} || |-- | {{TT|cmd_print}} || opens print dialogue |-- | {{TT|cmd_printPreview}} || opens print preview dialogue |-- | {{TT|cmd_close}} || closes tab |-- | {{TT|cmd_closeWindow}} || closes window with all tabs |-- | {{TT|cmd_toggleTaskbar}} || |-- | {{TT|cmd_CustomizeToolbars}} || |-- | {{TT|cmd_quitApplication}} || cmd-q |-- | {{TT|View:PageSource}} || opens new window with source code |-- | {{TT|View:PageInfo}} || opens new window with information about media and elements in the page |-- | {{TT|View:FullScreen}} || toggles fullscreen mode |-- | {{TT|cmd_find}} || opens find dialogue (cmd-f) |-- | {{TT|cmd_findAgain}} || runs previous find on page |-- | {{TT|cmd_findPrevious}} || runs previous find in reverse order |-- | {{TT|Browser:AddBookmarkAs}} || adds bookmark and opens interface to add details |-- | {{TT|Browser:BookmarkAllTabs}} || adds all open tabs to bookmarks |-- | {{TT|Browser:Home}} || Goes to home |-- | {{TT|Browser:Back}} || goes back, does not accept modifiers |-- | {{TT|Browser:BackOrBackDuplicate}} || goes back or duplicates into new tab or window depending on modifier new |-- | {{TT|Browser:Forward}} || goes forward, does not accept modifiers |-- | {{TT|Browser:ForwardOrForwardDuplicate}} || goes forward or duplicates into new tab or window depending on modifier new |-- | {{TT|Browser:Stop}} || stops loading of page |-- | {{TT|Browser:Reload}} || reloads page, does not accep modifiers |-- | {{TT|Browser:ReloadOrDuplicate}} || reloads or duplicates into new tab or window depending on modifier new |-- | {{TT|Browser:ReloadSkipCache}} || |-- | {{TT|Browser:NextTab}} || |-- | {{TT|Browser:PrevTab}} || |-- | {{TT|cmd_scrollBottom}} || scrolls to the bottom of the document |-- | {{TT|cmd_scrollTop}} || scrolls to the top of the document |-- | {{TT|cmd_fullZoomReduce}} || zooms out |-- | {{TT|cmd_fullZoomEnlarge}} || zooms in |-- | {{TT|cmd_fullZoomReset}} || reset’s to default size |-- | {{TT|cmd_fullZoomToggle}} || |-- | {{TT|Browser:OpenLocation}} || selects awesomebar (same as cmd L) |-- | {{TT|Tools:Search}} || |-- | {{TT|Tools:Downloads}} || |-- | {{TT|Tools:Addons}} || |-- | {{TT|Tools:Sanitize}} || |-- | {{TT|Tools:PrivateBrowsing}} || |-- | {{TT|History:UndoCloseTab}} || opens previously closed tab |}</div> ''Quellen: {{TT|about:config}}, [http://forums.macrumors.com/showthread.php?t=737074 forums.macrumors.com]'' ==Siehe auch== '''Hier in macwrench:''' * [[Kurztipp - Horizontales Scrolling durch Firefox-History deaktivieren]] * [[Kurztipp - URL-Autocompletion im Firefox aktivieren]] '''Offizielle Dokumentation:''' * Dokumentation im Firefox-Quelltext: [http://mxr.mozilla.org/mozilla-release/source/modules/libpref/src/init/all.js modules/libpref/src/init/all.js] * MDN: [https://developer.mozilla.org/en-US/docs/Mozilla/Preferences Preferences Dokumentation] * [http://kb.mozillazine.org/About:config about:config] Dokumentation (mozillazine) * [http://kb.mozillazine.org/About:config_Entries about:config entries] (mozillazine) * [http://kb.mozillazine.org/Category:Preferences Category:Preferences] (mozillazine) * Dokumentation des [http://kb.mozillazine.org/About_protocol_links about: Protokolls] (mozillazine) '''Weitere Infos zu about:config''' * [http://www.linuxjournal.com/article/8004 Ten Mysteries of about:config] (LinuxJournal) * [http://www.firefox-browser.de/wiki/About:config_%28Einstellungen%29 about:config] im Firefox-Wiki '''Weitere Infos im Web:''' * Netzwelt: [http://www.netzwelt.de/news/74509-firefox-tuning-selbstgemacht-schneller-surfen-ressourcen-schonen.html Firefox-Tuning selbstgemacht: Schneller surfen und Ressourcen schonen] * Netzwelt: [http://www.netzwelt.de/news/78044-hacks-hex-konfigurations-tricks-firefox-3.html Konfigurations-Tricks für den Firefox 3] 429fec9e95e68266eda600a7f3fd0104f5c3977c Rules of Thumb for Secure Passwords 0 313 1614 2019-02-18T09:02:23Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]]Mittlerweile wird ja allerhand durch Passworter geschützt, vom Benutzerkonto auf dem Mac über E-Mail Konten bis hin zum Online-Einkaufsportal. In diesem Artikel sollen ein paar (hoffentlich) hilfreiche Tipps zur sicheren Auswahl von Passwörtern gegeben werden. Damit man nicht den Überblick über diese Passwörter verliert, besitzt Mac OS X ja bekanntermaßen den Schlüsselbund, in dem die verwendeten Zertifikate und Passwörter - unabhängig, ob diese nun im Browser, FTP-Client oder WLAN benutzt werden - abgelegt sind. Einzusehen sind diese über das Programm "'''Schlüsselbund.app'''" (bzw. "'''Keychain.app'''"), allerdings sind dennoch einige Regeln für die Vergabe von Passwörtern zu beachten. Ist beispielsweise das Benutzerpasswort sehr leicht zu erraten, ist der Sicherheitsgewinn durch die verschlüsselte Speicherung im Schlüsselbund hin und ein Angreifer hat freien Zugriff auf alle Daten. Viele begehen auch den Fehler, für unterschiedliche Anwendungen immer dasselbe Passwort zu verwenden. Durch den Schlüsselbund ist es jedoch mittlerweile auch keine große Herausforderung mehr, mehrere verschiedene Passwörter zu verwenden - schließlich muss man sich diese ja nicht mehr alle merken. Auch bei Systemupdates und Neuinstallationen stellt das kein Problem dar, man muss jedoch nur daran denken, den Schlüsselbund vorher zu sichern (ein regelmäßiges Backup schadet sicherlich auch nicht). ==Faustregeln für Passwörter== Aus diesem Grund sollte mindestens für das Benutzerkonto ein sicheres, nicht ohne größen Aufwand zu ermittelndes Passwort gewählt werden, das den folgenden Anforderungen entsprechen sollte: # es sollte '''mindestens 8 Zeichen lang''' sein, besser länger # eine '''Kombination aus Groß- und Kleinbuchstaben, Sonderzeichen und Zahlen''' ist ebenfalls empfehlenswert. Der Umfang der verwendbaren Zeichen ist dabei jedoch von der Anwendung abhängig, so sind oftmals Umlaute und manche Sonderzeichen nicht verwendbar (vor allem bei Internet-Anwendungen). # '''Eigennamen und andere leicht zu erratende Wörter''' sollten auf keinen Fall verwendet werden. # '''Hinweistexte beim Login''' sind - insbesondere in Verbindung mit einem leicht zu erratenden Passwort - geradezu eine Einladung zum Ratespiel. Auch wenn die Bequemlichkeit dazu verleitet, dieses Feature zu benutzen, ist dringend davon abzuraten! # Das Passwort sollte '''kein Wort aus einem Lexikon oder Wörterbuch''' sein, da man diese sehr einfach durch automatisierte Abfragen durch "Trial and Error" (auch bekannt als "Wörterbuch Attacke") ermitteln kann. Ebenso sind '''Wörter des Alltags''' zu vermeiden, beispielsweise bekannte Persönlichkeiten oder Orte. # Auch '''Begriffe aus dem gesellschaftlichen Umfeld''' sollten unbedingt vermieden werden, die Gefahr durch das sogenannte "social engineering" ist nicht zu unterschätzen! # '''einfache Zahlen- und Buchstabentauscher''' oder das '''Rückwärtsschreiben von Wörtern''' werden oft verwendet, beispielsweise indem aus zwei Wörtern die Buchstaben abwechselnd aneinandergehängt werden. Auch solche einfachen "Algorithmen" lassen sich sehr einfach knacken. # '''Bei Zahlenkombinationen gilt dasselbe''', sie sind mitunter sehr leicht zu erraten (z.B. Geburtstage oder Ähnliches). # '''Ein sicherer Aufbewahrungsort''' sollte selbstverständlich sein, damit ist nicht der Post-It Kleber hinter dem Monitor oder unter der Tastatur gemeint!!! ==Passwörter erzeugen== Jeder dürfte wohl so seine eigene Methode haben, Passwörter zu erzeugen. Einige mögliche Vorgehensweisen sind beispielsweise die Folgenden: ===durch das Zerlegen von Sätzen=== Eine sehr einfache Möglichkeit ist es, aus einem möglichst langen Satz immer die Anfagsbuchstaben (oder Endbuchstaben) der einzelnen Wörter herauszupicken. Diese Vorgehensweise ist wohl auch recht verbreitet, allerdings ist hier naturgemäß der Zeichenumfang relativ gering (zumindest falls es sich um sytaktisch und semantisch korrekte Sätze handelt). '''Beispiel:''' :''"Bitte kopieren Sie keine Webseiten, die nicht Ihre eigenen sind, benutzen Sie keine urheberrechtlich geschützten Werke ohne Erlaubnis des Copyright-Inhabers!"'' ergibt BkSkW,dnIes,bSkugWoEdC-I! Besser als "Start", "Mausi" oder "login" ist es allemal ;) ===Mit Mac OS Bordmitteln=== Auch das Mac OS X System bringt bereits einige Tools mit, die man für diesen Zweck benutzen kann: ====Kennwort Assistent==== Seit Mac OS X Panther (10.3) befindet sich Im Schlüsselbund versteckt ein kleines Tool, mit dem sichere Passwörter erstellt werden können. Erreichbar ist es zum Beispiel über das Anlegen eines neuen Passwortes (Datei-Menü) via<KB>apfel + n</KB> und im daraufhin erscheinenden Eingabefenster über das Schlüssel-Symbol: [[Image:Keychain_CreateNewPassword.png]] Der Assistent ist außerdem auch beim Anlegen eines Benutzers über die Systemeinstellungen erreichbar: [[Image:System_Preferences_PasswordAssistant.png]] Anschließend erscheint das folgende Fenster: [[Image:Keychain_PasswordAssistant.png]] ====md5 Verschlüsselung==== Durch einfach Angabe eines "normalen" Satzes wie diesem hier: "huhu ich bin ein hornochse" erhält man durch Eingabe von md5 -s "huhu ich bin ein hornochse" die Passphrase a258cdf2fbf487535c6a5cafa7d8604d Weitere Informationen dazu sind in der {{Man|md5|manpage von md5}} nachzulesen. ====htpasswd==== {{Man|htpasswd|htpasswd}} ist eigentlich ein Hilfsprogramm, um die Benutzer- und Passwortdateien für den Webserver Apache zu erzeugen. Allerdings kann das Tool auch durch die Option "-n" veranlasst werden, die Informationen nicht in eine Datei sondern auf den Ausgabekanal des Terminals zu schreiben (sprich: das erzeugte Passwort wird angezeigt): htpasswd -n username 2mal das neue Passwort eingeben, das erzeugt beiypielsweise: New password: Re-type new password: username:kY7/MnO/h8Pb6 Der Benutzername muss angegeben werden, da das Programm immer ein Paar aus Benutzername und Passwort für das Speichern in einer Datei names .htpasswd erzeugt. Für unsere Zwecke ist es also egal, was man als Benutzername angibt. Weitere Informationen dazu sind in der {{Man|htpasswd|manpage von htpasswd}} nachzulesen. ===Password Assistant=== Der [http://www.codepoetry.net/products/passwordassistant Password Assistant] (OpenSource) bedient sich der obigen Systemfunktion und erlaubt die Erzeugung von sicheren Passwörtern ohne den Umweg über den Schlüsselbund. ===WLAN WEP/WPA Schlüsselgenerator zweckentfremden=== Es gibt eine Reihe kostenloser Tools zur Erzeugung von WEP/WPA Keys und Passphrases, beispielsweise der [http://www.rksoft.at/rk-wlan-keygen-funktionen.html RK-WLAN-Keygen]. Dieser kann Passphrases wie diese hier erzeugen: 0-9,A-Z,a-z :X8XQQhZWsMh4d4sntHclkjSrpZnVEfqZ 0-9,A-Z,a-z + Sonderzeichen :W2y_LF$L&lLS'H|3jD{jTi%'A_h}dP[S 0-9,A-Z,a-z + erweiterte Sonderzeichen :é®r0RHµ¿/"ç)v¼¦ø6¸öP¯AË<Í`-ϱm-¼ Aus Diesen Zeichenketten muss man sich dann nur noch einen beliebigen (möglichst zufällig erzeugt aussehenden) Teilstring herauspicken und fertig ist das Profi-Passwort. Der Vorteil an diesem Tool ist, dass man den Zeichenumfang und die Schlüssellänge (8-63 Zeichen) auswählen kann. Der große Nachteil ist, dass dieses Programm nur unter Windows läuft. Allerdings existieren auch für Mac OS X [http://www.macupdate.com/search.php?keywords=password+generator eine Reihe solcher Tools], bislang habe ich jedoch (mangels Bedarf) noch keines davon getestet ... ==Passwörter überprüfen== Um vorhandene Passwörter auf ihre Sicherheit zu überprüfen, bieten sich die folgenden Möglichkeiten an: ===mac.GWDG Password Tester=== Der [http://www.mac.gwdg.de/index.php?id=60 Password Tester] von mac.GWDG ist ein kostenloses Hilfsprogramm, das sich der oben beschriebenen Systemfunktion (dem Passwort-Assistenten) bedient. Prinzipiell steht diese Funktion auch im Schlüsselbund zur Verfügung, der Password Tester vereinfacht jedoch die Nutzung ohne diesen Umweg. Nicht mehr und nicht weniger ;-) 0aa117b7fbc382146c5b8574fc7c821bb2996af6 Google Programme ohne Updater nutzen 0 71 281 2019-02-18T09:07:29Z Hagbard 2 wikitext text/x-wiki [[Category:App]][[Category:App]]Bei der Installation von Google Software wie beispielsweise Google Earth oder Chrome wird der Nutzer mittlerweile gezwungen (oder erst gar nicht gefragt), den Google Updater auf der Festplatte zu dulden was nicht unbedingt jeder bereit ist zu tun. Wenn man dies in rechts abgebildetem Dialog ablehnt, lässt sich das Programm nicht nutzen und beendet sich sofort wieder. Eine nachträgliche Deinstallation des Google Updater ist auch keine Lösung, da dieser bei jedem Start von Google Earth (und vermutlich auch bei anderen Google Programmen) erneut installiert wird. Zusätzlich wird bereits vor der Installation noch mit [https://www.keyhole.com {{TT|keyhole.com:443}}] kommuniziert, vermutlich zwecks Updates des Google Updaters. Der einzig wirksame Weg ist also, den Updater innerhalb des Application Bundle "{{TT|Google Earth.app}}" zu eliminieren, damit dieser erst gar nicht installiert wird. ==Google Earth== Dazu im Finder das Bundle rechtsklicken und via "Paketinhalt zeigen" dessen Inhalt anzeigen. In folgendem Unterverzeichnis findet sich nun der Updater: Contents/Frameworks/KeystoneRegistration.framework/Resources/ Der Inhalt des Archivs {{TT|Keystone.tbz}}: GoogleSoftwareUpdate.bundle Theoretisch dürfte es auch genügen, das Installationsskript "{{TT|install.py}}" im selben Verzeichnis entsprechend zu modifizieren, damit eine Installation nicht erfolgt. '''Das Löschen des Archivs {{TT|Keystone.tbz}}''' bewirkt letztendlich dasselbe und ist vermutlich die sicherere Variante. Je ein weiteres Exemplar befindet sich an folgenden Orten innerhalb des Application Bundle, diese werden jedoch scheinbar nicht für die Installation verwendet: Contents/Frameworks/KeystoneRegistration.framework/Versions/Current/Resources Contents/Frameworks/KeystoneRegistration.framework/Versions/A/Resources ==Google Chrome== Bei Google Chrome ist das Vorgehen dasselbe, der Pfad relativ zum Application Bundle ist jedoch ein anderer: <source>Contents/Versions/<Chrome Versionsnummer>/Google\ Chrome\ Framework.framework/Frameworks/KeystoneRegistration.framework/Resources/</source> Also beispielsweise <source>Contents/Versions/16.0.912.75/Google\ Chrome\ Framework.framework/Frameworks/KeystoneRegistration.framework/Resources/</source> ==Siehe auch== * [[Google Updater deinstallieren]] 01e56e367737a206ce0b396e3e7cf1f5c95469d8 Open Source Anwendungen/Spiele 0 303 1594 2019-02-18T09:08:51Z Hagbard 2 wikitext text/x-wiki __NOTOC__ {{Navigation_Open_Source_Anwendungen}} ==Tools & Plattformen== {{SoftwareTable |TITLE= |ENTRIES= {{SoftwareTableEntry |NAME=ScummVM |ICON=Scummvm icon.svg |URL=https://www.scummvm.org/ |DESCRIPTION=Software- und Skript-Sammlung, in der zahlreiche nachgebaute Spiel-Engines unter einer gemeinsamen grafischen Benutzeroberfläche zusammengefasst sind. Viele ältere Computer- und Konsolen-Spiele sind damit auch auf neueren Betriebssystemen und Plattformen lauffähig und spielbar, z.B. Monkey Island 1-3, Sam & Max, Discworld, Flight of the Amazon Queen, ... [https://www.scummvm.org/compatibility/ uvm.] |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} ==Spiele nach Kategorien== === Action === {{SoftwareTable |TITLE=3D-Shooter (FPS) |ENTRIES= }} {{SoftwareTable |TITLE=Jump'n'Run |ENTRIES= }} === Adventure === {{SoftwareTable |TITLE=Point&Click Adventure |ENTRIES= }} {{SoftwareTable |TITLE=Rollenspiele |ENTRIES= }} {{SoftwareTable |TITLE=Adventure |ENTRIES= }} === Strategie === {{SoftwareTable |TITLE=Wirtschaftssimulation |ENTRIES= {{SoftwareTableEntry |NAME=Widelands |ICON=Widelands icon 128x128.png |URL=http://wl.widelands.org |DESCRIPTION=Freier [[wikipedia:de:Die_Siedler|Siedler-Klon]], orientiert sich an Siedler I und II (&copy; Bluebyte). Verfügbar für Mac OS X (Intel und PPC), Linux und Windows (siehe auch [http://wiki.ubuntuusers.de/Spiele/Widelands hier]) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Echtzeitstrategie |ENTRIES= }} b4e11ade4435ce7a90d2403c5df0b25d2145d80f Disable Firefox History Navigation when swiping horizontally 0 155 745 744 2019-02-18T09:15:34Z Hagbard 2 wikitext text/x-wiki [[Category:App]][[Category:Hint]] ==Horizontales History-Scrolling im Firefox== Im Firefox existieren ein paar Variablen, mit denen das Verhalten des Mausrades bestimmt werden kann. Dazu wird zwischen horizontalem und vertilkalem Scrolling unterschieden. ===Problem=== Insbesondere in Verbindung mit [[Maus am Mac|iScroll]] kann die horizontale Version dabei äußerst lästig sein, da bei nicht exakt vertikalen Bewegungen auf dem Touchpad der Firefox munter in der History herumspringt. ===Abhilfe=== Um die Funktion umzubelegen bzw. zu deaktivieren, kann man den Wert einer Konfigurationsvariablen auf der Konfigurationsseite about:config ändern (einfach genau so in die Adresszeile eingeben). Dazu muss der Variablen mousewheel.horizscroll.withnokey.action ein anderer Wert zugewiesen werden, standardmäßig ist dies mousewheel.horizscroll.withnokey.action = 2 Ein wert von 0 schafft beispielsweise Abhilfe. Dass der Wert der Variablen verändert wurde, ist am Status erkennbar - da steht nun "Vom Benutzer festgelegt" (oder das lokalisierte Pendant). Zu beachten ist, dass der Wert ein '''[[Wikipedia:de:Integer_(Datentyp)|integer]]''' sein muss, die Variable also nur ganzzahlige Werte aufnehmen kann. == Siehe auch == * [[Versteckte Firefox-Einstellungen]] efd6410d57316a26ab65ec4911b510f52333c857 Kurztipp - Wörter im Dictionary nachschlagen 0 66 840 839 2019-02-18T09:16:31Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] ==Dictionary Schnellzugriff== Für all diejenigen, die häufiger Wörter (oder heisst es dann Worte) im Duden nachschlagen müssen, empfiehlt sich die Tastenkombination <KB>ctrl + cmd + d</KB> Die Funktion ist in Cocoa-Applikationen wie den folgenden verfügbar: * TextEdit * Safari * Mail * Pages * Keynote Wer Sidetrack oder eine Mehr-Button-Maus benutzt, kann auch einen Shortcut auf diese Kombination legen ([http://www.agentlebossanova.net/images/sidetrack.jpg Einrichtung mit Sidetrack]) ==Auswahl an Wörterbüchern== Leider wird Mac OS X nur mit englischen Wörterbüchern ausgeliefert: * New Oxford American Dictonary * Oxford American Writers Dictionary * englische Wikipedia (seit [[:Kategorie:Mac_OS_10.5_Feature|Mac OS 10.5]]) Es lässt sich aber mit denen [http://web.mac.com/tekl/deutsch/W%C3%B6rterb%C3%BCcher.html auf dieser Seite] verfügbaren Wörterbüchern/Thesauri nachrüsten. ==Dictionary-Interna== Die Dictionaties sind in Form von <font face="courier">*.dict</font> Archiven im folgenden Verzeichnis zu finden: /Library/Dictionaries/ und beinhalten die folgenden Dateien: '''dict_body''' Dictionary-Inhalte als XML-Datei '''dictionary_1''' sieht ziemlich binär aus ... vllt. irgendeine Art TOC? '''images/''' ggf. noch ein Unterverzeichnis mit Bilddateien und die üblichen MacOS X Archiv-Beschreibungsdateien '''Info.plist''' '''PkgInfo''' Typ des Archivs (dictlam) '''version.plist''' Das Dictionary selber ist eine XML-Datei und folgt der [http://oup.dataformat.com/doc/OUP_DTD_Dictionary.html Dictionary DTD]. Vielleicht weiss jemand, was sich hinter der Binärdatei versteckt, sie beginnt auf jeden Fall recht obskur mit dictL,com.apple.DictionaryAccessMethod.ForwardTrie [http://www.google.com Google] wusste da auf die Schnelle auch nicht weiter ... ==Dictionaries hinzufügen== Nett wäre z.B. ein Wrapper für [http://dict.leo.org dict.leo.org] oder die [http://de.wikipedia.org Wikipedia] :) Vielleicht kann man ja irgendwie die [http://de.wikipedia.org/wiki/Wikipedia:Wikipedia-Distribution/Rohdaten Rohdaten] der Wikipedia Offline-Distribution Nutzen, die es als XML-Datei [http://download.directmedia.de/wikipedia/wikipedia_1_2005_xml.zip hier] zum Download gibt. Die ist aber anscheinend nicht sonderlich well-formed ... Unter [http://meta.wikimedia.org/wiki/Wik2dict diesem Link hier] gibts ein Konvertierungstool, um den SQL-Dump eines mediawikis ins dict-Format zu konvertieren (was ja das Dictionary-Tool in MacOS X verwendet). Damit wärs theoretisch möglich, die Wikipedia zu importieren, halt nur immer mit den aktuellen Release-Ständen - [[Benutzer:Hagbard|hagbard]] 18:25, 4. Jul 2005 (CEST) 0db4087e4a4ac958c614e31a9df44030272eb71b 841 840 2019-02-18T12:27:11Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] ==Dictionary Schnellzugriff== Für all diejenigen, die häufiger Wörter (oder heisst es dann Worte) im Duden nachschlagen müssen, empfiehlt sich die Tastenkombination <KB>ctrl + cmd + d</KB> Die Funktion ist in Cocoa-Applikationen wie den folgenden verfügbar: * TextEdit * Safari * Mail * Pages * Keynote Wer Sidetrack oder eine Mehr-Button-Maus benutzt, kann auch einen Shortcut auf diese Kombination legen ([http://www.agentlebossanova.net/images/sidetrack.jpg Einrichtung mit Sidetrack]) ==Auswahl an Wörterbüchern== Leider wird Mac OS X nur mit englischen Wörterbüchern ausgeliefert: * New Oxford American Dictonary * Oxford American Writers Dictionary * englische Wikipedia (seit Mac OS 10.5) Es lässt sich aber mit denen [http://web.mac.com/tekl/deutsch/W%C3%B6rterb%C3%BCcher.html auf dieser Seite] verfügbaren Wörterbüchern/Thesauri nachrüsten. ==Dictionary-Interna== Die Dictionaties sind in Form von <font face="courier">*.dict</font> Archiven im folgenden Verzeichnis zu finden: /Library/Dictionaries/ und beinhalten die folgenden Dateien: '''dict_body''' Dictionary-Inhalte als XML-Datei '''dictionary_1''' sieht ziemlich binär aus ... vllt. irgendeine Art TOC? '''images/''' ggf. noch ein Unterverzeichnis mit Bilddateien und die üblichen MacOS X Archiv-Beschreibungsdateien '''Info.plist''' '''PkgInfo''' Typ des Archivs (dictlam) '''version.plist''' Das Dictionary selber ist eine XML-Datei und folgt der [http://oup.dataformat.com/doc/OUP_DTD_Dictionary.html Dictionary DTD]. Vielleicht weiss jemand, was sich hinter der Binärdatei versteckt, sie beginnt auf jeden Fall recht obskur mit dictL,com.apple.DictionaryAccessMethod.ForwardTrie [http://www.google.com Google] wusste da auf die Schnelle auch nicht weiter ... ==Dictionaries hinzufügen== Nett wäre z.B. ein Wrapper für [http://dict.leo.org dict.leo.org] oder die [http://de.wikipedia.org Wikipedia] :) Vielleicht kann man ja irgendwie die [http://de.wikipedia.org/wiki/Wikipedia:Wikipedia-Distribution/Rohdaten Rohdaten] der Wikipedia Offline-Distribution Nutzen, die es als XML-Datei [http://download.directmedia.de/wikipedia/wikipedia_1_2005_xml.zip hier] zum Download gibt. Die ist aber anscheinend nicht sonderlich well-formed ... Unter [http://meta.wikimedia.org/wiki/Wik2dict diesem Link hier] gibts ein Konvertierungstool, um den SQL-Dump eines mediawikis ins dict-Format zu konvertieren (was ja das Dictionary-Tool in MacOS X verwendet). Damit wärs theoretisch möglich, die Wikipedia zu importieren, halt nur immer mit den aktuellen Release-Ständen - [[Benutzer:Hagbard|hagbard]] 18:25, 4. Jul 2005 (CEST) b3acfc6679d2be527243cf1db8dbfd19b43f5926 Icon-Dateien von Mac OS X 0 88 315 2019-02-18T09:17:23Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]Dieser Artikel dient als Sammelstelle für die Pfade und Ordnernamen, an denen Systemicons sowie die Icon-Dateien der in Mac OS X enthaltenen Applikationen und Hilfsprogramme zu finden sind. Dadurch ist es theoretisch möglich, diese zu ersetzen (ändern) oder auch für andere Dateien und Verzeichnisse zu verwenden (z.B. für via OSXFuse gemountete Dateisysteme). ==Dienstprogramme== Viele Hilfs- und Dienstprogramme (wie z.B. das Dock, Exposé oder der Finder) sind im Verzeichnis {{TT|/System/Library/CoreServices}} zu finden, andere im Verzeichnis {{TT|/Applications/Utilities/}} (dt.: {{TT|/Applications/Dienstpogramme/}}). * '''Dashboard, Dock:'''<br />{{TT|/System/Library/CoreServices/Dock.app/Contents/Resources/}} ==Dateien, Ordner und Laufwerke== * '''Festplatten und Images:'''<br />{{TT|/System/Library/Extensions/IOStorageFamily.kext/Contents/Resources/}} * '''Software RAID''':<br />{{TT|/System/Library/Extensions/SoftRAID.kext/Contents/Resources/}} * '''BDs''':<br />{{TT|/System/Library/Extensions/IOBDStorageFamily.kext/Contents/Resources/}} * '''DVDs''':<br />{{TT|/System/Library/Extensions/IODVDStorageFamily.kext/Contents/Resources/}} * '''CDs''':<br />{{TT|/System/Library/Extensions/IOCDStorageFamily.kext/Contents/Resources/}} ==Dateitypen== 17f5fa060e0695e0582372446dea11d5b2651303 Lion Recovery 0 181 870 869 2019-02-18T09:20:45Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Hint]]Der '''"Recovery Modus"''' von OSX Lion (Version 10.7) bietet eine Möglichkeit, von einer sog. "Recovery Partition" aus ein vorhandenes System entweder zu warten (zur Fehlerbehebung) oder neu zu installieren. Dazu bietet es die bisher auf den Installations-DVDs verfügbaren Hilfsprogramme an, wie z.B.: * Terminal * Festplatten-Dienstprogramm * Netzwerkdienstprogramm Von hier aus lässt sich das System auch unter Verwendung eines vorhandenen Time Machine Backups wiederherstellen. Sie wird bei einer Installation von OSX Lion automatisch angelegt, taucht jedoch nicht im Festplatten-Dienstprogramm als Partition auf sondern lediglich in der Startvolume-Auswahl beim Starten des Mac (direkt nach dem Start <kb>alt</kb> gedrückt halten). Durch folgende Tastenkombination kann auch direkt von dieser Partition gestartet werden (siehe [[Startup_Key_Combinations|hier]]): <kb>apfel + r</kb> {{Wichtig|'''Partitionsschema:''' Die Recovery Partition kann derzeit wohl nur auf Festplatten mit dem Apple Partitionsschema "GUID" (für Intel-Macs) erstellt und verwendet werden. Da sie automatisch auf derselben Festplatte wie die zugehörige OSX-Installation erstellt wird, sollte man (so denn auf Lion Recovery Wert gelegt wird) auf die Verwendung eines anderen Partitionsschemas verzichten.}} {{Information|1='''Offline Installation von OSX Lion''' Für eine reine offline-Installation von OSX Lion (ohne verfügbare Internetverbindung) kann aus dem heruntergeladenen App-Store-Bundle "{{TT|Mac OS X Lion Installation.app}}" sehr einfach eine Installations-DVD erzeugt werden: * im Finder-Kontextmenü dieses Archivs "Paketinhalt anzeigen" auswählen * das DiskImage "{{TT|InstallESD.dmg}}" im Unterverzeichnis {{TT|Contents/SharedSupport}} herauskopieren, z.B. auf den Desktop * Im Festplatten-Dienstprogram den "Brennen" Button anklicken und dieses Image auswählen. }} ==Internet Recovery== Falls keine Recovery-Partition zur Verfügung steht (z.B. nach einem Festplattenwechsel, existiert alternativ die Möglichkeit der '''"Internet Recovery"'''. Dabei wird diese Partition über das Internet installiert und ermöglicht anschließend eine Neuinstallation von OSX Lion (mit der für den Kauf von OSX Lion verwendeten Apple ID) oder alternativ eine Wiederherstellugn mit Hilfe eines Time Machine Backups. Dabei sollte klar sein, dass zumindest für den Download des Recovery Images eine Internetverbindung notwendig ist. Die entsprechenden Dienstprogramme zur Netzwerkkonfiguration sind im Recovery-System verfügbar. ==Recovery Disk Assistant== Alternativ dazu kann mit Hilfe des [http://support.apple.com/kb/DL1433 Recovery Disk Assistant] die Recovery-Partition nachträglich und auch auf externen Laufwerken angelegt werden. Anschließend kann wie oben beschrieben von diesen Laufwerken gestartet und ein evtl. defektes System repariert/wiederhergestellt (oder OSX Lion installiert) werden. Weitere Informationen dazu gibt es im entsprechenden [http://support.apple.com/kb/HT4848 Support-Dokument]. ==Siehe auch== * [http://www.apple.com/macosx/recovery/ Lion Recovery Webseite] (apple.com) * [http://support.apple.com/kb/HT4718 Apple Support-Dokument HT4718] (support.apple.com) * [http://support.apple.com/kb/DL1433 Recovery Disk Assistant] und dazugehöriges [http://support.apple.com/kb/HT4848 Support-Dokument] 13622c2a69f758b0158e082db0fefb57afa9d384 871 870 2019-02-18T09:20:53Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Hint]]Der '''"Recovery Modus"''' von OSX Lion (Version 10.7) bietet eine Möglichkeit, von einer sog. "Recovery Partition" aus ein vorhandenes System entweder zu warten (zur Fehlerbehebung) oder neu zu installieren. Dazu bietet es die bisher auf den Installations-DVDs verfügbaren Hilfsprogramme an, wie z.B.: * Terminal * Festplatten-Dienstprogramm * Netzwerkdienstprogramm Von hier aus lässt sich das System auch unter Verwendung eines vorhandenen Time Machine Backups wiederherstellen. Sie wird bei einer Installation von OSX Lion automatisch angelegt, taucht jedoch nicht im Festplatten-Dienstprogramm als Partition auf sondern lediglich in der Startvolume-Auswahl beim Starten des Mac (direkt nach dem Start <kb>alt</kb> gedrückt halten). Durch folgende Tastenkombination kann auch direkt von dieser Partition gestartet werden (siehe [[Startup_Key_Combinations|hier]]): <kb>apfel + r</kb> {{Important|'''Partitionsschema:''' Die Recovery Partition kann derzeit wohl nur auf Festplatten mit dem Apple Partitionsschema "GUID" (für Intel-Macs) erstellt und verwendet werden. Da sie automatisch auf derselben Festplatte wie die zugehörige OSX-Installation erstellt wird, sollte man (so denn auf Lion Recovery Wert gelegt wird) auf die Verwendung eines anderen Partitionsschemas verzichten.}} {{Information|1='''Offline Installation von OSX Lion''' Für eine reine offline-Installation von OSX Lion (ohne verfügbare Internetverbindung) kann aus dem heruntergeladenen App-Store-Bundle "{{TT|Mac OS X Lion Installation.app}}" sehr einfach eine Installations-DVD erzeugt werden: * im Finder-Kontextmenü dieses Archivs "Paketinhalt anzeigen" auswählen * das DiskImage "{{TT|InstallESD.dmg}}" im Unterverzeichnis {{TT|Contents/SharedSupport}} herauskopieren, z.B. auf den Desktop * Im Festplatten-Dienstprogram den "Brennen" Button anklicken und dieses Image auswählen. }} ==Internet Recovery== Falls keine Recovery-Partition zur Verfügung steht (z.B. nach einem Festplattenwechsel, existiert alternativ die Möglichkeit der '''"Internet Recovery"'''. Dabei wird diese Partition über das Internet installiert und ermöglicht anschließend eine Neuinstallation von OSX Lion (mit der für den Kauf von OSX Lion verwendeten Apple ID) oder alternativ eine Wiederherstellugn mit Hilfe eines Time Machine Backups. Dabei sollte klar sein, dass zumindest für den Download des Recovery Images eine Internetverbindung notwendig ist. Die entsprechenden Dienstprogramme zur Netzwerkkonfiguration sind im Recovery-System verfügbar. ==Recovery Disk Assistant== Alternativ dazu kann mit Hilfe des [http://support.apple.com/kb/DL1433 Recovery Disk Assistant] die Recovery-Partition nachträglich und auch auf externen Laufwerken angelegt werden. Anschließend kann wie oben beschrieben von diesen Laufwerken gestartet und ein evtl. defektes System repariert/wiederhergestellt (oder OSX Lion installiert) werden. Weitere Informationen dazu gibt es im entsprechenden [http://support.apple.com/kb/HT4848 Support-Dokument]. ==Siehe auch== * [http://www.apple.com/macosx/recovery/ Lion Recovery Webseite] (apple.com) * [http://support.apple.com/kb/HT4718 Apple Support-Dokument HT4718] (support.apple.com) * [http://support.apple.com/kb/DL1433 Recovery Disk Assistant] und dazugehöriges [http://support.apple.com/kb/HT4848 Support-Dokument] ac851375605facc37ec579276187759112b22413 Systemkeychain 0 323 1634 2019-02-18T09:22:43Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]]systemkeychain ist ein kleines Werkzeug für das Terminal, um den Systemschlüsselbund zu bearbeiten, zu sichern und ggf. wiederherzustellen. Die Ausführung ist daher auch nur einem Administrator (bzw. einem Benutzer mit Administratorrechten) möglich. Da es derzeit noch keine manpage zu diesem Tool gibt, soll dieser Artikel hier solange als Erstz dienen und die wichtigsten Optionen auflisten: ==Nutzung== -S = Angabe einer passphrase -s = Quell-Schlüsselbund -k = Ziel-Schlüsselbund systemkeychain -S [passphrase] # (re)create system root keychain systemkeychain [-k destination-keychain] -s source-keychain ... ==Optionen== The options above have the following meanings: -v = verbose -f = force -c = create if needed -C = setup system -t = test unlock ==Beispiele== '''Einen neuen Systemschlüsselbund erstellen:''' systemkeychain -C '''Testen, ob das Unlocking funktioniert:''' systemkeychain -vt ==Weitere Informationen== * [http://darwinsource.opendarwin.org/Current/security_systemkeychain-11/src/systemkeychain.cpp Quellcode des Tools] aus dem OpenDarwin Projekt f29e6cf982ed3f3274e6aa0188c9809e562a92ed VirtualBox VM-Starter erstellen 0 332 1652 2019-02-18T09:23:39Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:OS]]Üblicherweise werden VirtualBox VMs über die Programmoberfläche gestartet, in der diese auch angelegt und bearbeitet werden. Mit einem einfachen AppleScript lässt sich das jedoch auch umgehen, so dass die VMs ohne diesen Umweg direkt ("headless") aufgerufen werden können, beispielsweise via Dock-Icon oder Spotlight. Dazu ist im '''AppleSkript-Editor'' (zu finden unter {{TT|/Applications/Utilities}}) folgendes Stückchen Code einzugeben, wobei "Name der VM" (innerhalb der Anführungszeichen, diese müssen beibehalten werden) natürlich durch den jeweiligen Namen der VM (so wie er in der VirtualBox Applikation erscheint) zu ersetzen ist: <source lang=applescript> set VB_GUEST to "Name der VM" set VB_VM to quoted form of VB_GUEST do shell script "vboxmanage startvm " & VB_VM </source> Anschließend ist das Skript im Dateiformat "Programm" an eine beliebige Stelle zu speichern. Im Skript-Editor (oder anschließend über das Finder-Informationsfenster) kann diesem dann auch noch ein aussagekräftigeres Icon verpasst werden, beispielsweise ein VirtualBox Dokumenticon. Diese befinden sich innerhalb des VirtualBox Application-Bundle unter "{{TT|Contents/Resources/}}" /Applications/VirtualBox.app/Contents/Resources/ b5fa7d791c1ebb499737206146d30629716705be OS X App aus Xcode in anderer Sprache und Locale starten 0 287 1560 2019-02-18T10:37:32Z Hagbard 2 /* mit Xcode */ wikitext text/x-wiki [[Category:Development]][[Category:Hint]]Beim Entwickeln lokalisierter OS X Programme mit Xcode muss man zum Verifizieren der lokalisierten Oberfläche das Programm des öfteren auch in anderen Sprachen testen. Der übliche weg über das Umstellen der Sprache in den Systemeinstellungen oder das Verwenden von Hilfsprogrammen wie [http://www.tj-hd.co.uk/en-gb/languageswitcher/ Language Switcher] ist jedoch recht umständlich. ==im {{Terminal}}== Einfacher geht es durch den Start mit folgendem Startparameter: <source> -AppleLanguages "(German, English)" </source> also z.B.: <source> /Applications/Calendar.app/Contents/MacOS/Calendar -AppleLanguages "(German,English)" </source> Die Anführungszeichen sind dabei nur notwendig, wenn mehrere Sprachen angegeben werden sollen (für die Reihenfolge von Ersatzsprachen). Analog dazu lassen sich auch verschieden Locales testen, und zwar mit folgendem Parameter: <source> -AppleLocale en_GB </source> Für die Verwendung im Terminal ist zu beachten, dass das Terminal-Kommando {{TT|1={{Man|open|open}}}} hierzu offenbar '''nicht''' verwendet werden kann. == mit Xcode == [[Image:Xcode_SchemeEditor_Languages.png|right|{{TT|-AppleLanguages}} Startparameter in Xcode|thumb]]Um das nun direkt von Xcode durchführen zu lassen, sind folgende Schritte notwendig: # "manage schemes..." aufrufen (Schema-Verwaltung) # das jeweilige Schema auswählen # dort unter "Run" in das Tab "Arguments" wechseln # in die Liste "Arguments Passed On Launch" einen Eintrag mit diesem Parameter erstellen (siehe Screenshot rechts) Für einen einfachen Wechsel zwischen mehreren Sprachen können auch mehrere Schemata erzeugt werden, die dann im Xcode-Hauptfenster direkt ausgewählt werden können. [[Image:Xcode_SchemeEditor_Options.png|right|Neuere Xcode-Versionen erlauben die Konfiguration von Region und Sprache über Auswahlfelder|thumb]] 0250a61ab94105faac987fdb41b392bfa3d808f4 Open Source Anwendungen/Webbasierte Anwendungen 0 305 1598 2019-02-18T11:17:50Z Hagbard 2 wikitext text/x-wiki __NOTOC__ {{Navigation_Open_Source_Anwendungen}} Webbasierte Applikationen benötigen üblicherweise einen Webserver (in der Regel Apache oder IIS) als Laufzeitumgebung, wobei oftmals statt des in Mac OS X integrierten Apache Webservers sogenannte "[[wikipedia:en:List_of_AMP_packages|AMP]]" Umgebungen eingesetzt werden da diese unabhängig von Betriebssystemupdate sind und neben weiteren Funktionen/Bibliotheken auch in der Regel einen MySQL Datenbankserver beinhalten. ==Webbasierte Anwendungen== {{SoftwareTable |TITLE=Content Management |ENTRIES= {{SoftwareTableEntry |NAME=webEdition |ICON=WebEdition-logo.svg |URL=http://www.webedition.org |DESCRIPTION=Ein benutzerfreundliches, modular aufgebautes, freies Web-Content-Management-System ([[wikipedia:de:Content-Management-System|WCMS]]). Es ist ein Datei- und zugleich Datenbank-basiertes System und kann somit sowohl statische Inhalte performant ablegen als auch komplexe dynamische Inhalte bereitstellen. |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:Mysql-dolphin-square.svg|24px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] (CMS), [[wikipedia:de:GNU_Lesser_General_Public_License|LGPL]] (SDK) }} }} {{SoftwareTable |TITLE=Webstatistiken |ENTRIES= {{SoftwareTableEntry |NAME=matomo |ICON=Matomo Logo.svg |URL=http://www.matomo.org |DESCRIPTION=matomo (früher: Piwik) ist eine funktionsreiche und erweiterbare Web-Analytik-Software für den Betrieb auf dem eigenen Server (siehe auch: [[wikipedia:de:Piwik|Piwik in der Wikipedia]]) |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:Mysql-dolphin-square.svg|24px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Projektmanagement |ENTRIES= {{SoftwareTableDummyEntry}} }} {{SoftwareTable |TITLE=Kommunikation und Zusammenarbeit |ENTRIES= {{SoftwareTableDummyEntry}} }} {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableEntry |NAME=eXtplorer |URL=http://extplorer.sourceforge.net/ |DESCRIPTION=Webbasierter Dateimanager mit großem Funktionsumfang, basiert auf dem JS-Framework [http://www.exts.com ExtJS], Weitere Infos auf der [sourceforge.net/projects/extplorer Projektseite] |DEPS=[[Image:PHP-logo.svg|48px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]], [[wikipedia:de:Mozilla_Public_License|MPL]] }} {{SoftwareTableEntry |NAME=phpMyAdmin |URL=http://www.phpmyadmin.net/ |DESCRIPTION=Webbasiertes Werkzeug zur Verwaltung eines [http://www.mysql.com MySQL] Datenbankservers |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:Mysql-dolphin-square.svg|24px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} {{SoftwareTableEntry |NAME=MySQLDumper |URL=http://www.mysqldumper.de/ |DESCRIPTION=Webbasiertes Werkzeug zur Verwaltung eines [http://www.mysql.com MySQL] Datenbankservers, sehr gut geeignet v.a. für das Erstellen und Wiederherstellen von Backups großer Datenbanken. |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:Mysql-dolphin-square.svg|24px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} 0a6c3c47b453f29e7b945311f52be832f4c9a89c Open Source Anwendungen/Kommunikation und Messaging 0 296 1580 2019-02-18T11:31:23Z Hagbard 2 wikitext text/x-wiki __NOTOC__ {{Navigation_Open_Source_Anwendungen}} ==Kommmunikation und Messaging== Für Webbrowser und Dateiübertragungstools siehe [[Open_Source_Anwendungen/Internet und Netzwerk|Internet und Netzwerk]] {{SoftwareTable |TITLE=E-Mail |ENTRIES= {{SoftwareTableEntry |NAME=Mozilla Thunderbird |ICON=Thunderbird.png |URL=http://www.mozilla.com/thunderbird/ |DESCRIPTION=Plattformübergreifender E-Mail Client, News- und RSS-Reader der Mozilla Foundation<br />Die '''ESR'''-Versionen mit längerem Update-Support (ab Version 10, v.a. für Unternehmen) gibt es [https://www.mozilla.org/en-US/thunderbird/organizations/all-esr.html hier] oder [https://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/ hier] |DEPS= |LICENSE=[[wikipedia:de:Mozilla Public License|MPL]]/[[wikipedia:de:GNU General Public License|GPL]]/[[wikipedia:de:GNU Lesser General Public License|LGPL]] Dreifachlizenz }} {{SoftwareTableEntry |NAME=Mozilla Seamonkey |ICON=SeaMonkey.svg |URL=http://www.mozilla.org/projects/seamonkey/ |DESCRIPTION=Die klassische Browser-Suite (Vorgänger: Mozilla Suite) mit Browser, E-Mail- und News-Client |DEPS= |LICENSE=[[wikipedia:de:Mozilla Public License|MPL]]/[[wikipedia:de:GNU General Public License|GPL]]/[[wikipedia:de:GNU Lesser General Public License|LGPL]] Dreifachlizenz }} {{SoftwareTableEntry |NAME=<del>Correo Mail</del> |URL=http://code.google.com/p/correo/ |DESCRIPTION=<del>Mail Client von [http://www.nkreeger.com/ Nick Kreeger] (einem der [http://www.caminobrowser.org Camino]-Entwickler) auf Basis der Camino-Engine (Ziel: eine native Alternative zu Mozilla Thunderbird)</del> Projekt scheinbar inaktiv oder Entwicklung eingestellt |DEPS= |LICENSE=[[wikipedia:de:Mozilla Public License|MPL 1.1]] }} }} {{SoftwareTable |TITLE=Instant Messaging |ENTRIES= {{SoftwareTableEntry |NAME=Adium X |ICON=Adium.png |URL=http://www.adium.im/ |DESCRIPTION=Freier und umfangreich konfigurierbarer Multi-Protocol Chat Client |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=Colloquy |ICON=Colloquy-irc-icon.png |URL=http://www.colloquy.info/ |DESCRIPTION=Feier und umfangreich konfigurierbarer IRC-Client für Mac OS X (Portierung des verbreiteten Programms [[wikipedia:de:XChat|XChat]]) |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=Xchat-Aqua |ICON=X-Chat Aqua.png |URL=http://xchataqua.sourceforge.net/ |DESCRIPTION=Freier IRC-Client für Mac OS X |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=Psi |ICON=Psi icon new.png |URL=http://psi.affinix.com/ |DESCRIPTION=plattformübergreifender Jabber-Client |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=Chax |URL=http://www.ksuther.com/chax/ |DESCRIPTION=Diverse Erweiterungen für iChat (z.B. Tabs u.v.m.), seit Version 1.4.6 OpenSource (siehe [http://www.ksuther.com/weblog/?p=29 Eintrag im Weblog]) |DEPS=[[Image:Font Awesome 5 regular comment-dots.svg|32px|iChat]] |LICENSE=[[wikipedia:de:MIT-Lizenz|MIT]] }} {{SoftwareTableEntry |NAME=<del>Fire</del> |ICON=Fire icon.png |URL=http://sourceforge.net/projects/fire |DESCRIPTION=<del>Multi-Protocol Chat Client</del> Wird offenbar nicht mehr weiterentwickelt (letzte Version 1.5.6 vom 16.02.2006) |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} }} {{SoftwareTable |TITLE=Social Networking |ENTRIES= {{SoftwareTableDummyEntry}} }} {{SoftwareTable |TITLE=Telefon/Mobiles |ENTRIES= {{SoftwareTableDummyEntry}} }} {{SoftwareTable |TITLE=Synchronisierung |ENTRIES= {{SoftwareTableDummyEntry}} }} {{SoftwareTable |TITLE=Kommunikation |ENTRIES= {{SoftwareTableDummyEntry}} }} {{SoftwareTable |TITLE=Wekzeuge |ENTRIES= {{SoftwareTableEntry |NAME=iNdependence |URL=http://code.google.com/p/independence/ |DESCRIPTION=Universalwerkzeug für iPhones (Jailbreak, Aktivierung, SSH-Installation etc.) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} }} e1329700441b46a2e4ea5af730c405e4a3abbd1c Open Source Anwendungen/Internet und Netzwerk 0 295 1578 2019-02-18T11:37:48Z Hagbard 2 /* Internet und Netzwerk */ wikitext text/x-wiki __NOTOC__ {{Navigation_Open_Source_Anwendungen}} ==Internet und Netzwerk== Für E-Mail Programme siehe [[Open_Source_Anwendungen/Kommunikation_und_Messaging|Kommunikation und Messaging]] {{SoftwareTable |TITLE=Web-Browser |ENTRIES= {{SoftwareTableEntry |NAME=Moziilla Firefox |ICON=Firefox_Logo,_2017.png |URL=http://www.mozilla.com/firefox/ |DESCRIPTION=Plattformübergreifender Open Source Web Browser der Mozilla Foundation, mehr Informationen dazu u.a. im deutschsprachigen [http://www.firefox-browser.de FiefoxWiki]<br />Die '''ESR'''-Versionen mit längerem Update-Support (ab Version 10, v.a. für Unternehmen) gibt es [https://www.mozilla.org/en-US/firefox/organizations/faq/#esr-downloads hier] oder [https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/ hier] |DEPS= |LICENSE=[[wikipedia:de:Mozilla Public License|MPL]]/[[wikipedia:de:GNU General Public License|GPL]]/[[wikipedia:de:GNU Lesser General Public License|LGPL]] Dreifachlizenz }} {{SoftwareTableEntry |NAME=TenFourFox |ICON=Deer park globe.svg |URL=http://www.floodgap.com/software/tenfourfox/ |DESCRIPTION=Firefox für PowerPC Macs |DEPS= |LICENSE=[[wikipedia:de:Mozilla Public License|MPL]]/[[wikipedia:de:GNU General Public License|GPL]], andere (siehe About-Box) }} {{SoftwareTableEntry |NAME=Camino |ICON=Camino icon.png |URL=http://www.caminobrowser.org |DESCRIPTION=Speziell für Mac OS X angepasster Mozilla-Browser |DEPS= |LICENSE=[[wikipedia:de:Mozilla Public License|MPL]]/[[wikipedia:de:GNU General Public License|GPL]]/[[wikipedia:de:GNU Lesser General Public License|LGPL]] Dreifachlizenz }} {{SoftwareTableEntry |NAME=Mozilla Seamonkey |ICON=SeaMonkey.png |URL=http://www.mozilla.org/projects/seamonkey/ |DESCRIPTION=Die klassische Browser-Suite (Vorgänger: Mozilla Suite) mit Browser, E-Mail- und News-Client |DEPS= |LICENSE=[[wikipedia:de:Mozilla Public License|MPL]]/[[wikipedia:de:GNU General Public License|GPL]]/[[wikipedia:de:GNU Lesser General Public License|LGPL]] Dreifachlizenz }} {{SoftwareTableEntry |NAME=Webkit |ICON=WebKit logo.svg |URL=http://www.webkit.org |DESCRIPTION=Referenzimplementierung der [http://www.webkit.org/ WebKit] Browser-Engine sowie die Entwicklerversion von [http://www.apple.com/de/safari/ Apple Safari] (Webkit Browser) |DEPS= |LICENSE=teils [[wikipedia:de:GNU Lesser General Public License|LGPL]], teils [[wikipedia:de:BSD-Lizenz|BSD]] }} {{SoftwareTableEntry |NAME=Google Chrome |ICON=Chrome-512.png |URL=http://chrome.google.com |DESCRIPTION=Auf [http://www.webkit.org/ WebKit] basierender Browser für Mac OS X |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD]] }} {{SoftwareTableEntry |NAME=Shiira |ICON=Shiira.png |URL=http://shiira.jp/en |DESCRIPTION=<del>Auf [http://www.webkit.org/ WebKit] basierender Browser für Mac OS X</del> Wird scheinbar nicht mehr aktiv weiterentwickelt (letzte Version 2.2 vom 18.07.2007) |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD]] }} }} {{SoftwareTable |TITLE=Browser-Erweiterungen und Werkzeuge |ENTRIES= {{SoftwareTableEntry |NAME=Safari AdBlock |URL=http://safariadblock.sourceforge.net/ |DESCRIPTION=Adblocking AddOn für Safari, ähnlich der bekannten [http://adblockplus.org Firefox-Erweiterung] |DEPS=[[Image:Font Awesome 5 brands safari.svg|24px|Safari]] |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=GlimmerBlocker |URL=http://glimmerblocker.org/ |DESCRIPTION=Browserübergreifender Adblocking-Proxy, funktionell ähnlich der bekannten [http://adblockplus.org Firefox-Erweiterung].Ein kleiner Bericht dazu ist auf [http://www.opensourcemac.de/2009/01/14/werbefrei/ opensourcemac.de] erschienen. |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} }} {{SoftwareTable |TITLE=Dateitransfer |ENTRIES= {{SoftwareTableEntry |NAME=Cyberduck |ICON=Cyberduck_icon.png |URL=http://www.cyberduck.ch/ |DESCRIPTION=Client für FTP, FTP/TLS, SFTP, Amazon S3, Google Docs und Cloud Files |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Filezilla |ICON=FileZilla logo.png |URL=http://filezilla.sourceforge.net |DESCRIPTION=Plattformünergreifender Client für die Protokolle FTP, FTP/TLS und SFTP (seit Version 3 plattformübergreifend auch für Mac OS X, davor: nur für Windows) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Fugu |ICON=Fugu icon.png |URL=http://rsug.itd.umich.edu/software/fugu/ |DESCRIPTION=Graphischer SFTP/SCP Client für Mac OS X, Entwicklung offensichtlich eingeschlafen (letzte Version: 1.2.0 vom 10.01.2006) |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD]] }} {{SoftwareTableEntry |NAME=Vuze |ICON=Vuze icon.png |URL=http://www.vuze.com/ |DESCRIPTION=Plattformübergreifender BitTorrent-Client (früher: [http://azureus.sourceforge.net/ Azureus]) |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=OneButton FTP |URL=http://www.onebutton.org/ |DESCRIPTION=<del>Einfacher, schlanker und schneller FTP-Client</del> wird leider nicht mehr weiterentwickelt (siehe auch: [http://sourceforge.net/projects/gosee/ Sourceforge Projektseite]) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=News, Podcasts, eBooks |ENTRIES= {{SoftwareTableEntry |NAME=Vienna |ICON=Vienna news icon.png |URL=http://www.vienna-rss.org/ |DESCRIPTION=Newsreader für RSS-/RDF- und Atom-Newsfeeds |DEPS= |LICENSE=[[wikipedia:de:Apache-Lizenz|Apache]] }} {{SoftwareTableEntry |NAME=Juice |ICON=Juice.png |URL=http://juicereceiver.sourceforge.net/ |DESCRIPTION=Plattformübergreifender Podcast-Client |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Google Book Downloader |URL=http://hactheplanet.com/mac/googlebookdownloader |DESCRIPTION=Download-Client für [http://books.google.com Google Books] (Download als PDF oder Einzelbilder) |DEPS= |LICENSE=-?- }} }} {{SoftwareTable |TITLE=Sicherheit |ENTRIES= {{SoftwareTableEntry |NAME=WaterRoof |URL=http://www.hanynet.com/waterroof/ |DESCRIPTION=Graphisches Frontend für die Bearbeitung von Regeln des Mac OS X Paketfilters {{Man|ipfw|ipfw}} |DEPS= |LICENSE=seit 3.4.2: [http://www.nolicense.org/ NLPL]<br/>davor: [[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=NoobProof |URL=http://www.hanynet.com/noobproof/ |DESCRIPTION=Einfaches, graphisches Frontend für die Bearbeitung von Regeln des Mac OS X Paketfilters {{Man|ipfw|ipfw}} (v.a. für Einsteiger, siehe [http://www.hanynet.com/comparison.html Vergleichsliste]) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Mac GNU PG |URL=http://macgpg.sourceforge.net/ |DESCRIPTION=Mac-Portierung von [http://www.gnupg.org/ GnuPG] für die Verschlüsselung und Zertifizierung von E-Mails |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableEntry |NAME=Zenmap |URL=http://nmap.org/zenmap/ |DESCRIPTION=GUI für den (spätestens [http://www.securityfocus.com/news/4831 seit Matrix Reloaded]) bekannten Portscanner [http://insecure.org/nmap/ nmap] (frühere Mac OS X Version: [http://nmapfe-osx.sourceforge.net/ NmapFE]) |DEPS=[[Image:X11.png|24px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Andiparos |URL=http://code.google.com/p/andiparos/ |DESCRIPTION=http-Monitor, v.a. für die Softwareentwicklungsehr zu empfehlen (da deutlich übersichtlicher als Webscarab) |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} {{SoftwareTableEntry |NAME=WebScarab |URL=http://www.owasp.org/index.php/WebScarab |DESCRIPTION=http/https Monitor/Filter/Injector, v.a. für [[wikipedia:de:Penetrationtest|Penetrationstests]] sehr zu empfehlen (Mac OS X Packages gibt es [http://research.corsaire.com/tools/ hier]) |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]], [[wikipedia:de:GNU Lesser General Public License|LGPL]] }} {{SoftwareTableEntry |NAME=KisMAC |URL=http://www.kismac-ng.org/ |DESCRIPTION=WLAN-Scanner |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=iStumbler |ICON=IStumbler.png |URL=http://www.istumbler.net/ |DESCRIPTION=WLAN-, [http://bonjour.macosforge.org/ Bonjour]- und Bluetooth-Scanner |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD]] }} }} {{SoftwareTable |TITLE=Fernsteuerung |ENTRIES= {{SoftwareTableEntry |NAME=Chicken of the VNC |ICON=Deer park globe.svg |URL=http://sourceforge.net/projects/cotvnc/ |DESCRIPTION=[[wikipedia:de:VNC|VNC-Client]] für Mac OS X |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} bf8cbffe2b957b28022ef127210664cbfd3ea138 Open Source Anwendungen/Grafik- und Bildbearbeitung 0 294 1576 2019-02-18T11:46:49Z Hagbard 2 wikitext text/x-wiki __NOTOC__ {{Navigation_Open_Source_Anwendungen}} ==Grafik- und Bildbearbeitung== {{SoftwareTable |TITLE=Bildbearbeitungen |ENTRIES= {{SoftwareTableEntry|NAME=The GIMP |ICON=GIMP.png |URL=http://www.gimp.org |DESCRIPTION=''Die'' [[wikipedia:de:GIMP|OpenSource Bildbearbeitung]], seit Version 2.8 wird kein X11 mehr benötigt (nativ). |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv3]] }} {{SoftwareTableEntry |NAME=Seashore |URL=http://seashore.sourceforge.net/ |DESCRIPTION=OpenSource Bildbearbeitung (es sind jedoch bisher nur grundlegende Funktionen vorhanden) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=CinePaint |URL=http://www.cinepaint.org/ |DESCRIPTION=[[wikipedia:de:GIMP|GIMP]]-Fork für die Bearbeitung ganzer Bilderserien (bietet auch eine höhere Farbtiefe als 8Bit, in erster Linie für die Filmbranche und für Fotografen, siehe [[wikipedia:de:CinePaint|Wikipedia]]) |DEPS={{Navimg|xsize=32px|ysize=32px|image=X11.png|link=X11}} |LICENSE=[[wikipedia:de:GNU General Public License|GPL]], [[wikipedia:de:GNU Lesser General Public License|LGPL]], [[wikipedia:de:BSD-Lizenz|BSD]], [[wikipedia:de:Mozilla Public License|MPL]] }} {{SoftwareTableEntry |NAME=Inkscape |ICON=Inkscape Logo.svg |URL=http://www.inkscape.org/?lang=de |DESCRIPTION=Open-Source-Vektorgrafikeditor (siehe [[wikipedia:de:Inkscape|Wikipedia]]), auch als [http://www.freesmug.org/portableapps/inkscape/ portable Version] |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Fotografie |ENTRIES= {{SoftwareTableEntry |NAME=darktable |ICON=Darktable icon.svg |URL=http://www.darktable.org |DESCRIPTION=Open Source Lighttable und Darkroom Software (incl. Workflows, scriptable mit [[wikipedia:en:Lua_(programming_language)|LUA]]), experimentelle Builds für OS X stehen [http://sourceforge.net/projects/darktable/files/darktable/ hier zur Verfügung] |DEPS= |LICENSE=[[wikipedia:en:GNU_General_Public_License_3|GPLv3]] }} }} {{SoftwareTable |TITLE=Viewer und Converter |ENTRIES= {{SoftwareTableEntry |NAME=Phoenix Slides |URL=http://www.blyt.net/phxslides/ |DESCRIPTION=Schneller Bildbetrachter mit einigen, grundlegenden Bearbeitungsfunktionen und [[wikipedia:de:Exchangeable_Image_File_Format|EXIF]] Support |DEPS= |LICENSE=[http://creativecommons.org/licenses/by-nc-sa/2.0/ CCPL]<br />(by-nc-sa) }} }} {{SoftwareTable |TITLE=Kamera-Tools |ENTRIES= {{SoftwareTableDummyEntry}} }} {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableEntry |NAME=SmillaEnlarger |URL=http://sourceforge.net/projects/imageenlarger/ |DESCRIPTION=Werkzeug zum qualitativ hochwertigen Vergrößern von Bildern auf bis zu 200% der Originalgröße (siehe [http://www.golem.de/0908/68926.html Artikel dazu] auf [http://www.golem.de golem.de]) |DEPS=[[Image:Font Awesome 5 brands windows.svg|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv3]] }} }} c1d2be29f3e3c237ca21c0ed0a8750deb737389c Open Source Anwendungen/PowerPC 0 298 1584 2019-02-18T11:55:10Z Hagbard 2 wikitext text/x-wiki __NOTOC__ {{Navigation_Open_Source_Anwendungen}} [[Image:PowerPC_logo.svg|128px|right]] Dieser Artikel bietet eine kleine Übersicht wichtiger Programme, die weiterhin mit PowerPC Unterstützung verfügbar und teilweise sogar noch weiterentwickelt werden. Weitere Programme dieser Art sind auch in den anderen Artikeln dieser Artikelreihe zu finden. {{SoftwareTable |TITLE=Internet und Kommunikation |ENTRIES= {{SoftwareTableEntry |NAME=TenFourFox |ICON=Deer park globe.svg |URL=http://www.floodgap.com/software/tenfourfox/ |DESCRIPTION=Aktuelle Firefox Builds für PowerPC Macs |DEPS= |LICENSE=[[wikipedia:de:Mozilla Public License|MPL]]/[[wikipedia:de:GNU General Public License|GPL]], andere (siehe About-Box) }} {{SoftwareTableEntry |NAME=SeaMonkey PPC |ICON=SeaMonkey.png |URL=https://code.google.com/p/seamonkey-ppc/ |DESCRIPTION=Aktuelle [http://www.seamonkey-project.org/ Seamonkey] Builds für PowerPC Macs |DEPS= |LICENSE=[[wikipedia:de:Mozilla Public License|MPL]]/[[wikipedia:de:GNU General Public License|GPL]], andere (siehe About-Box) }} {{SoftwareTableEntry |NAME=GlimmerBlocker |URL=http://glimmerblocker.org/ |DESCRIPTION=Browserübergreifender Adblocking-Proxy, funktionell ähnlich der bekannten [http://adblockplus.org Firefox-Erweiterung].Ein kleiner Bericht dazu ist auf [http://www.opensourcemac.de/2009/01/14/werbefrei/ opensourcemac.de] erschienen. |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=Cyberduck |ICON=Cyberduck_icon.png |URL=http://www.cyberduck.ch/ |DESCRIPTION=Client für FTP, FTP/TLS, SFTP, Amazon S3, Google Docs und Cloud Files |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Adium X |ICON=Adium.png |URL=http://www.adium.im/ |DESCRIPTION=Freier und umfangreich konfigurierbarer Multi-Protocol Chat Client |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} }} {{SoftwareTable |TITLE=Multimedia |ENTRIES= {{SoftwareTableEntry |NAME=VLC media player |ICON=VLC Icon.svg |URL=http://www.videolan.org |DESCRIPTION=Freier, plattformübergreifender Multiformat-Player mit Unterstützung von Netzwerkstreaming |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=niceplayer |ICON=NicePlayer.png |URL=http://code.google.com/p/niceplayer/ |DESCRIPTION=Mediaplayer für Mac OS X ("fullscreen, borderless multi-engine player") |DEPS= |LICENSE=[[wikipedia:de:Mozilla_Public_License|MPL 1.1]] }} {{SoftwareTableEntry |NAME=TV-Browser |ICON=TV-Browser.svg |URL=http://www.tvbrowser.org/ |DESCRIPTION=Umfassender, funktionsreicher und erweiterbarer Browser für das Fernsehprogramm |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Office und Produktivität |ENTRIES= {{SoftwareTableEntry |NAME=LibreOffice |ICON=LibreOffice icon 3.3.1 48 px.svg |URL=http://www.libreoffice.org |DESCRIPTION=OpenOffice Fork mit demselben Funktionsumfang (s.u.), wird derzeit aktiver weiterentwickelt als das OpenOffice |DEPS= |LICENSE=[[wikipedia:de:GNU Lesser General Public License|LGPL]] }} {{SoftwareTableEntry |NAME=OpenOffice.org |ICON=Aoo4icon.svg |URL=http://de.openoffice.org |DESCRIPTION=Komplette Bürosuite, bestehend aus Textverarbeitung, Tabellenkalkulation, Präsentationsporgramm u.v.m. OpenOffice.org ist seit Version 3 eine native Mac OS X Anwendung und benötigt daher kein X11 mehr. |DEPS= |LICENSE=[[wikipedia:de:GNU Lesser General Public License|LGPL]] }} {{SoftwareTableEntry |NAME=NeoOffice |ICON=NeoOffice icon.png |URL=http://www.neooffice.org/ |DESCRIPTION=NeoOffice (ehem. NeoOffice/J) ist ein Projekt, dessen Ziel es ist, durch Java-Integration das Office-Paket OpenOffice.org nativ auf Mac OS X ohne X11-Umgebung zu portieren. Bis Version 3.1.2 auf PPC-Macs lauffähig |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=ScratchPad |URL=http://scratchpad.alexseifert.com/ |DESCRIPTION=Einfacher Notizblock incl. Textformatierung (fett/kursiv/Tabulatoren/...) und Einbindung von Bilddateien |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableEntry |NAME=SimplyBurns |URL=http://simplyburns.berlios.de/ |DESCRIPTION=Brennprogramm für CDs und DVDs (Daten, Audio-CD, Kopien, Images (ISO, DMG, CUE/BIN, TOC/BIN) brennen) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Burn |ICON=Burn.png |URL=http://burn-osx.sourceforge.net/ |DESCRIPTION=Kleines Brennprogramm für CDs und DVDs (Daten, Audio, Video-DVD (VIDEO_TS-Ordner), Kopien) |DEPS=[[Image:Quicktime-Logo.svg|Quicktime 7|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=CronniX |URL=http://code.google.com/p/cronnix/ |DESCRIPTION=Graphische Oberlfäche für das Verwalten von cronjobs ([[wikipedia:de:cron|crontab]]) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL 3]] }} }} {{SoftwareTable |TITLE=Datenrettung und Wiederherstellung |ENTRIES= {{SoftwareTableEntry |NAME=PhotoRec |URL=http://www.cgsecurity.org/wiki/PhotoRec |DESCRIPTION=Software zum Wiederherstellen von Videos, Bildern und anderen Dokumenten von Festplatten oder CD-ROMs oder Kamera-Speichermedien. Verfügbar für Mac OS X (PPC unt Intel), Windows, Linux, BSD und SunOS |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=TestDisk |URL=http://www.cgsecurity.org/wiki/TestDisk |DESCRIPTION=Werkzeug zum Wiederherstellen verlorener Partitionen oder um nicht bootende Festplatten wieder bootfähig zu machen. Verfügbar für Mac OS X (PPC unt Intel), Windows, Linux, BSD und SunOS |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Grafik und Bildbearbeitung |ENTRIES= {{SoftwareTableEntry|NAME=The GIMP |ICON=GIMP.png |URL=http://www.gimp.org |DESCRIPTION=''Die'' [[wikipedia:de:GIMP|OpenSource Bildbearbeitung]] in verschiedenen Formen: * [http://sourceforge.net/projects/gimponosx Für X11], siehe auch [http://gimp.lisanet.de/Website/Download.html hier] (stabil, aber Mac-untypisch) * [http://www.plasticbugs.com/ GIMPShop] (GIMP-Hack für Photoshop-Nutzer, passt Menüstruktur und Tastatursteuerung an, benötigt X11) * [http://gimp-app.sourceforge.net/ Nativ] (Pakete leider veraltet) |DEPS={{Navimg|xsize=32px|ysize=32px|image=X11.png|link=X11}} |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Seashore |URL=http://seashore.sourceforge.net/ |DESCRIPTION=OpenSource Bildbearbeitung (es sind jedoch bisher nur grundlegende Funktionen vorhanden) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=CinePaint |URL=http://www.cinepaint.org/ |DESCRIPTION=[[wikipedia:de:GIMP|GIMP]]-Fork für die Bearbeitung ganzer Bilderserien (bietet auch eine höhere Farbtiefe als 8Bit, in erster Linie für die Filmbranche und für Fotografen, siehe [[wikipedia:de:CinePaint|Wikipedia]]) |DEPS={{Navimg|xsize=32px|ysize=32px|image=X11.png|link=X11}} |LICENSE=[[wikipedia:de:GNU General Public License|GPL]], [[wikipedia:de:GNU Lesser General Public License|LGPL]], [[wikipedia:de:BSD-Lizenz|BSD]], [[wikipedia:de:Mozilla Public License|MPL]] }} {{SoftwareTableEntry |NAME=Inkscape |ICON=Inkscape Logo.svg |URL=http://www.inkscape.org/?lang=de |DESCRIPTION=Open-Source-Vektorgrafikeditor (siehe [[wikipedia:de:Inkscape|Wikipedia]]), auch als [http://www.freesmug.org/portableapps/inkscape/ portable Version] |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} 930a56e56cb8dc1eee79a8d4d549965222950ef2 Open Source Anwendungen/Programmierung und Entwicklung 0 300 1588 2019-02-18T12:18:13Z Hagbard 2 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ {{Navigation_Open_Source_Anwendungen}} ==Softwareentwicklung== {{SoftwareTable |TITLE=Editoren |ENTRIES= {{SoftwareTableEntry |NAME=TextMate 2 |ICON=TextmateIcon.png |URL=http://github.com/textmate/textmate/ |DESCRIPTION=Sehr flexibler, erweiterbarer und dennoch schneller Cocoa-Texteditor, seit Version 2 Open Source |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv3]] }} {{SoftwareTableEntry |NAME=Editra |ICON=Editra64.png |URL=http://editra.org/ |DESCRIPTION=Plattformübergreifender Texteditor für Mac OS X, Linux und Windows |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=MacVim |ICON=Vim gloss 128.png |URL=http://code.google.com/p/macvim/ |DESCRIPTION=Mac-Portierung des Kommandozeilen-Klassikers [http://www.vim.org/ VIM] |DEPS= |LICENSE=VIM License }} {{SoftwareTableEntry |NAME=jEdit |ICON=JEdit.png |URL=http://jedit.org/ |DESCRIPTION=Über PlugIns erweiterbarer, plattformübergreifender Open-Source Editor |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=HexEdit |URL=http://sourceforge.net/projects/hexedit/ |DESCRIPTION=Hex-Editor für Mac OS X, läuft unter so ziemlich jeder Version von Mac OS (X) |DEPS= |LICENSE=[[wikipedia:de:Mozilla_Public_License|Mozilla Public License 1.0 (MPL)]] }} {{SoftwareTableEntry |NAME=Hex Fiend |URL=http://ridiculousfish.com/hexfiend/ |DESCRIPTION=Schneller, schlanker Hex Editor für Mac OS X |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD]] }} }} {{SoftwareTable |TITLE=Entwicklungsumgebungen (IDE) |ENTRIES= {{SoftwareTableEntry |NAME=Eclipse |ICON=Eclipse-SVG.svg |URL=http://www.eclipse.org |DESCRIPTION=Open-Source-Plattform zur Entwicklung von Software verschiedenster Art und Sprache. |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:Eclipse Public License|EPL]] (früher [[wikipedia:de:Common Public License|CPL]] }} {{SoftwareTableEntry |NAME=NetBeans |ICON=Apache NetBeans Logo.svg |URL=http://www.netbeans.org |DESCRIPTION=Open-Source-Entwicklungsumgebung zur Entwicklung von Software verschiedenster Art. Spezialisierte Versionen für Skriptsprachen wie PHP, Python oder Ruby sind verfügbar. |DEPS= |LICENSE=[[wikipedia:de:CDDL|CDDL]], [[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=MonoDevelop |ICON=Monodevelop Logo.svg |URL=http://www.monodevelop.org |DESCRIPTION=Entwicklungsumgebung auf Basis des [[wikipedia:de:Mono-Projekt|Mono-Projekts]] für die plattformübergreifende Softwareentwicklung mit [[wikipedia:de:.NET|.NET]] |DEPS=[[Image:Mono_Project_Logo.svg|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Programmiersprachen und Entwicklungspakete |ENTRIES= {{SoftwareTableEntry |NAME=PHP |ICON=PHP-logo.svg |URL=http://www.php.net |DESCRIPTION=Plattformübergreifende Programmiersprache; PHP-Installationspakete für Mac OS X sind [http://www.entropy.ch/software/macosx/php/ hier verfügbar] |DEPS= |LICENSE=[[wikipedia:de:PHP-Lizenz|PHP-Lizenz]] }} {{SoftwareTableEntry |NAME=Python |ICON=Python.svg |URL=http://www.python.org/ |DESCRIPTION= |DEPS= |LICENSE=Python License }} }} {{SoftwareTable |TITLE=Versioninerungssysteme |ENTRIES= {{SoftwareTableEntry |NAME=svnX |URL=http://code.google.com/p/svnx/ |DESCRIPTION=Der wohl (funktionell) vollständigste und beste, freie Cocoa [[wikipedia:de:Subversion_(Software)|Subversion]]-Client |DEPS= |LICENSE=[[wikipedia:de:GNU Lesser General Public License|LGPL]] }} {{SoftwareTableEntry |NAME=SCPlugin |ICON=Subversion-logo.svg |URL=http://scplugin.tigris.org/ |DESCRIPTION=[[wikipedia:de:Subversion_(Software)|Subversion]]-Plugins für den Finder, ermöglicht diverse SVN-Operationen über das Finder-Kontextmenü sowie das Durchsuchen von SVN-Repositories via WebDAV über Finder-Serververbindungen (http, https) |DEPS= |LICENSE=[[wikipedia:de:MIT-Lizenz|MIT]] }} {{SoftwareTableEntry |NAME=PySVN Workbench |ICON=Subversion-logo.svg |URL=http://pysvn.tigris.org/ |DESCRIPTION=Plattformübergreifender [[wikipedia:de:Subversion_(Software)|Subversion]]-Client |DEPS=[[Image:Python.svg|32px]] |LICENSE=[[wikipedia:de:Apache-Lizenz|Apache-Lizenz]] }} {{SoftwareTableEntry |NAME=GitX |URL=http://gitx.frim.nl/ |DESCRIPTION=Graphische Oberfläche für das Versionierungssystem [[wikipedia:de:Git|Git]]. Das dafür benötigte Kommandozeilenprogramm gibt es unter [http://git-scm.com/ git-scm.com]. |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Sonstige Werkzeuge|ENTRIES= {{SoftwareTableEntry |NAME=Sequel Pro |URL=http://www.sequelpro.com/ |DESCRIPTION=graphisches MySQL-Verwaltungstool (früher: CocoaMySQL, siehe [http://code.google.com/p/sequel-pro/ Projektseite]), ermöglicht auch den Remote-Zugriff auf MySQL Server via SSH |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Flycut |URL=https://github.com/TermiT/Flycut |DESCRIPTION=Einfache, recht praktische Verwaltung für die Zwischenablage (Fork von [http://jumpcut.sourceforge.net/ Jumpcut]) |DEPS= |LICENSE=[[wikipedia:de:MIT-Lizenz|MIT]] }} }} 194045b33ed8c8fdcdc8d7744d74cf8695357cb6 Mac App Store Kurztipps 0 187 934 933 2019-02-18T12:23:03Z Hagbard 2 wikitext text/x-wiki [[Category:OS]] ==Deinstallierte Apps werden weiterhin angezeigt== Hin und wieder passiert es, dass bereits deinstallierte Programme weiterhin oder wieder in der Mac App Store Applikation angezeigt werden. Wenn seit der Deinstallation kein weiteres Update veröffentlicht wurde, ist also eine erneute Installation nicht möglich. Dies kann unterschiedliche Gründe haben, und in vielen Fällen genügt ein Reboot oder ein Ab- und wieder Anmelden, um das Problem zu lösen. Oftmals genügt das jedoch nicht und es ist eine der folgendenden Vorgehensweisen anzuwenden: ===App-Cache löschen=== In manchen Fällen ist einfach nur etwas im App-eigenen Cache durcheinandergekommen, was die App Store App darin hindert, selbigen korrekt zu aktualisieren. Um diesen Cache zu löschen, ist folgendes zu tun: * App Store beenden * im Finder in den "{{TT|Library}}" Ordner des Benutzer wechseln (bei gedrückter <KB>alt</KB>-Taste im Finder-Menü "Gehe zu" den entsprechenden Eintrag auswählen (dieser ist normalerweise nicht sichtbar und muss durch die <KB>alt</KB>-Taste aktiviert werden) * dort in das Unterverzeichnis "{{TT|Caches}}" wechseln * darin das Verzeichnis "{{TT|com.apple.appstore}}" löschen Falls das alleine nichts bewirkt, ist dieses Vorgehen zu wiederholen und direkt im Anschluss eine Ab- und Wiederanmeldung am System durchzuführen, ggf. ist auch ein Neustart des Rechners notwendig. '''Hinweis:''' Unter Mac OS X 10.6 ist dieser Cache unter {{TT|~/Library/Application Support/AppStore/}} zu finden. ===Externe Laufwerke=== ... können ebenfalls ein Grund für dieses Verhalten sein, beispielsweise ein eingehängtes '''TimeMachine'''-Sicherungslaufwerk. Dieser Fall scheint zwar recht selten aufzutreten, [[User:Hagbard|ich]] konnte das jedoch schon mehrmals beobachten – insbesondere nach einer Neuinstallation des Systems. In diesem Fall ist folgendes zu tun: * obige Vorgehensweise zum App-Cache löschen wiederholen * vom System abmelden und erneut anmelden * nach dem Anmelden <u>alle</u> eingehängten, externen Laufwerke auswerfen * Mac App Store starten ===Weitere Möglichkeiten (nicht verifiziert)=== * "Receipts" installierter Apps unter einem der beiden folgenden Verzeichnisse werden nicht korrekt aktualisiert:<pre>/private/var/db/receipts/</pre><pre>/Library/Recipts/InstallHistory.plist</pre> * Löschen des "LaunchServices" Cache im [[:Kategorie:Terminal|Terminal]] mit folgendem Kommando:<pre>/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user</pre> * Debug-Menü anzeigen:<pre>defaults write com.apple.appstore ShowDebugMenu -bool true</pre> ebd9808e6b48beeaeb1c808499540280c93ce27a 935 934 2019-02-18T12:28:29Z Hagbard 2 wikitext text/x-wiki [[Category:OS]] ==Deinstallierte Apps werden weiterhin angezeigt== Hin und wieder passiert es, dass bereits deinstallierte Programme weiterhin oder wieder in der Mac App Store Applikation angezeigt werden. Wenn seit der Deinstallation kein weiteres Update veröffentlicht wurde, ist also eine erneute Installation nicht möglich. Dies kann unterschiedliche Gründe haben, und in vielen Fällen genügt ein Reboot oder ein Ab- und wieder Anmelden, um das Problem zu lösen. Oftmals genügt das jedoch nicht und es ist eine der folgendenden Vorgehensweisen anzuwenden: ===App-Cache löschen=== In manchen Fällen ist einfach nur etwas im App-eigenen Cache durcheinandergekommen, was die App Store App darin hindert, selbigen korrekt zu aktualisieren. Um diesen Cache zu löschen, ist folgendes zu tun: * App Store beenden * im Finder in den "{{TT|Library}}" Ordner des Benutzer wechseln (bei gedrückter <KB>alt</KB>-Taste im Finder-Menü "Gehe zu" den entsprechenden Eintrag auswählen (dieser ist normalerweise nicht sichtbar und muss durch die <KB>alt</KB>-Taste aktiviert werden) * dort in das Unterverzeichnis "{{TT|Caches}}" wechseln * darin das Verzeichnis "{{TT|com.apple.appstore}}" löschen Falls das alleine nichts bewirkt, ist dieses Vorgehen zu wiederholen und direkt im Anschluss eine Ab- und Wiederanmeldung am System durchzuführen, ggf. ist auch ein Neustart des Rechners notwendig. '''Hinweis:''' Unter Mac OS X 10.6 ist dieser Cache unter {{TT|~/Library/Application Support/AppStore/}} zu finden. ===Externe Laufwerke=== ... können ebenfalls ein Grund für dieses Verhalten sein, beispielsweise ein eingehängtes '''TimeMachine'''-Sicherungslaufwerk. Dieser Fall scheint zwar recht selten aufzutreten, [[User:Hagbard|ich]] konnte das jedoch schon mehrmals beobachten – insbesondere nach einer Neuinstallation des Systems. In diesem Fall ist folgendes zu tun: * obige Vorgehensweise zum App-Cache löschen wiederholen * vom System abmelden und erneut anmelden * nach dem Anmelden <u>alle</u> eingehängten, externen Laufwerke auswerfen * Mac App Store starten ===Weitere Möglichkeiten (nicht verifiziert)=== * "Receipts" installierter Apps unter einem der beiden folgenden Verzeichnisse werden nicht korrekt aktualisiert:<pre>/private/var/db/receipts/</pre><pre>/Library/Recipts/InstallHistory.plist</pre> * Löschen des "LaunchServices" Cache im [[:Category:Terminal|Terminal]] mit folgendem Kommando:<pre>/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user</pre> * Debug-Menü anzeigen:<pre>defaults write com.apple.appstore ShowDebugMenu -bool true</pre> 2bcd6f4acbfd3d61112a4c2327c6e8cb94d9e673 Hidden Features/Safari 0 79 297 2019-02-18T12:27:50Z Hagbard 2 wikitext text/x-wiki [[Category:App]]Einige Funktionen in Safari können nur über die Konfigurationsdatei {{TT|com.apple.safari.plist}} (MacOS X) bzw. {{TT|Preferences.plist}} (Windows) geändert werden, da für sie keine entsprechenden Felder im Einstellungsdialog vorhanden sind. ==Setzen versteckter Konfigurations-Optionen== Die folgenden Optionen müssen allso von Hand in der Konfigurationsdatei von Safari (XML-Datei) geändert werden, die sich je nach Betriebssystem am folgenden Ort befindet: ;MacOS X /Users/USERNAME/Library/Preferences/com.apple.safari.plist ;Windows XP C:\Document and Settings\%USERNAME%\Application Data\Apple Computer\Safari\Preferences.plist C:\Dokumente und Einstellungen\%USERNAME%\Application Data\Apple Computer\Safari\Preferences.plist ;Windows Vista %APPDATA%/Apple Computer/Safari/Preferences.plist Diese Einstellungen können entweder direkt in dieser Datei geändert werden (Hinzufügen von Optionen am Ende der Datei, direkt vor {{TT|<nowiki></dict></plist></nowiki>}}), oder (unter MacOS X) über den Terminal-Befehl {{Man|defaults|defaults}}, z.B.: <pre> defaults write com.apple.Safari <key> defaults delete com.apple.Safari <key> </pre> Letzteres löscht den Eintrag und bewirkt, dass wieder die Standardeinstellung von Safari verwendet wird. {{Information|1=Eine komplette Liste aller standardmäßig gesetzter Optionen ist (unter Mac OS X) innerhalb des Safari Application Bundles ({{TT|/Applications/Safari.app}} rechtsklicken und "Paketinhalte anzeigen" auswählen) in der Datei {{TT|Contents/Resources/Defaults.plist}} zu finden.}} ==Safari Allgemein== ===Verlauf anpassen=== Anzahl der Seiten, die im Verlauf gespeichert werden: <pre> defaults write com.apple.Safari WebKitHistoryItemLimit 200 </pre> Anzahl der Tage, nach denen Einträge im Verlauf gelöscht werden: <pre> defaults write com.apple.Safari WebKitHistoryAgeInDaysLimit 30 </pre> ===Font Anti-Aliasing beeinflussen=== Hiermit kann die Weichzeichnung von Textenbeeinflusst werden <pre> defaults write com.apple.Safari AppleAntiAliasingThreshold -int 8 defaults write com.apple.Safari AppleSmoothFontsSizeThreshold -int 8 defaults write com.apple.Safari AppleAntiAliasingThreshold -int 2 defaults write com.apple.Safari AppleSmoothFontsSizeThreshold -int 2 defaults delete com.apple.Safari AppleAntiAliasingThreshold defaults delete com.apple.Safari AppleSmoothFontsSizeThreshold </pre> ===Debug-Menü aktivieren=== Aktiviert das Debug-Menü mit erweiterten Funktionen wie z.B. UserAgent-Auswahl oder dem Web-Inspector <pre> defaults write com.apple.Safari IncludeDebugMenu 1 </pre> bzw. <pre> <key>IncludeDebugMenu</key> <true/> </pre> ===Web-Inspector=== Den Web-Inspector (ab Safari 3) kann man auch einzeln ohne das Debug-Menü aktivieren. Dieser steht dann im Kontextmenü von Safari zur Verfügung: <pre> defaults write com.apple.Safari WebKitDeveloperExtras -bool true defaults delete com.apple.Safari WebKitDeveloperExtras </pre> {{Information|Dies aktiviert auch den Web-Inspektor innerhalb des Mac App Store und ermöglicht das Herausfinden verschiedener Link-Adressen innerhalb des App Store.}} ===Tooltips (title tags)=== Die als Tooltips angezeigten title-HTML-Tags können über folgende Option (de-)aktiviert werden: <pre> defaults write com.apple.Safari WebKitShowsURLsInToolTips 1 defaults delete com.apple.Safari WebKitShowsURLsInToolTips </pre> ==Safari 4 Beta== Neue Optionen in der Safari 4 Beta, die in der finalen Version wieder entfallen sind (oder zumindest nicht mehr funktionieren): ===Position der Tableiste=== positioniert die Tableiste (wie in Safari 3) unterhalb der Bookmarkleiste: <pre> DebugSafari4TabBarIsOnTop defaults delete com.apple.Safari DebugSafari4TabBarIsOnTop </pre> Neue Optionen in Safari 4 bzw. Optionen, um das Verhalten von Safari 3 wiederherzustellen: ===Ladestatus in der URL-Zeile=== Wenn die folgenden Optionen beide auf "NO" gesetzt sind, erscheint wieder der Ladestatus (Fortschrittsbalken) in der URL-Zeile und das "spinning wheel" innerhalb der Tabs: <pre> DebugSafari4IncludeToolbarRedesign DebugSafari4LoadProgressStyle defaults write com.apple.Safari DebugSafari4IncludeToolbarRedesign -bool NO defaults write com.apple.Safari DebugSafari4IncludeToolbarRedesign -bool YES defaults write com.apple.Safari DebugSafari4LoadProgressStyle -bool NO defaults write com.apple.Safari DebugSafari4LoadProgressStyle -bool YES </pre> ===URL Autovervollständigung=== Diese Option deaktiviert die neue Auto-Vervollständigung von URLs <pre> DebugSafari4IncludeFancyURLCompletionList defaults write com.apple.Safari DebugSafari4IncludeFancyURLCompletionList -bool NO defaults write com.apple.Safari DebugSafari4IncludeFancyURLCompletionList -bool YES </pre> ===Google Suggest Menü=== Diese Option deaktiviert das neue Google Suggest Menü im Suchfeld rechts <pre> DebugSafari4IncludeGoogleSuggest defaults write com.apple.Safari DebugSafari4IncludeGoogleSuggest -bool NO defaults write com.apple.Safari DebugSafari4IncludeGoogleSuggest -bool YES </pre> ===Cover-Flow für Bookmarks=== ... lässt sich über diese Option (de-)aktivieren: <pre> DebugSafari4IncludeFlowViewInBookmarksView defaults write com.apple.Safari DebugSafari4IncludeFlowViewInBookmarksView -bool NO defaults write com.apple.Safari DebugSafari4IncludeFlowViewInBookmarksView -bool YES </pre> ===TopSite-Screenshot-Animation=== Der Überblenden-Effekt bei der Auswahl einer der TopSites lässt sich ebenfalls deaktivieren: <pre> DebugSafari4TopSitesZoomToPageAnimationDimsSnapshot defaults write com.apple.Safari DebugSafari4TopSitesZoomToPageAnimationDimsSnapshot -bool NO defaults write com.apple.Safari DebugSafari4TopSitesZoomToPageAnimationDimsSnapshot -bool YES </pre> ===TopSite Funktion=== ... (wohl v.a. aus Performancegründen) deaktivieren: <pre> DebugSafari4IncludeTopSites defaults write com.apple.Safari DebugSafari4IncludeTopSites -bool NO defaults write com.apple.Safari DebugSafari4IncludeTopSites -bool YES </pre> ==Safari 4== ===TopSite Funktion deaktivieren=== Um die [http://www.apple.com/safari/whats-new.html#topsites TopSite Funktion] in Safari 4.x zu deaktivieren, funktioniert die oben beschriebene Vorgehensweise aus der Betaphase nicht mehr. In aktuellen Versionen ist statt dessen folgende Datei im Property List Editor (Bestandteil von Xcode) oder wahlweise im TextEditor des Vetrauens zu öffnen: ~/Library/Safari/TopSites.plist Dann entweder den Inhalt des XML-Tags "TopSites" löschen oder wahlweise den gesamten Inhalt der Datei, diese speichern und anschließend im Finder Info-Dialog für weitere Änderungen sperren (Abschnitt "Allgemein" > "Geschützt"). Außerdem ist das folgende Verzeichnis zu schützen: ~/Library/Safari/Caches/com.apple.safari/Webpage Previews Damit kann Safari keine weiteren TopSites mehr speichern und die Übersicht bleibt leer. {{Information|Dies ist allerdings nur eine reine Symptombehandlung. Eine Vorgehensweise, um TopSites ''wirklich'' zu deaktivieren (und damit Bandbreite und Speicherplatz zu schonen) ist [[User:Hagbard|mir]] zumindest nicht bekannt. Das ist besonders bei teuren mobilen Internetverbindungen ärgerlich, da Safari dafür im Prinzip unbrauchbar ist.}} ==WebKit Nightly Builds== ===WebGL aktivieren=== Die aktuellen nightly builds von [http://webkit.org WebKit] unterstützen unter Mac OS 10.5 und 10.6 [[wikipedia:en:WebGL|WebGL]] ([[wikipedia:de:OpenGL_ES|OpenGL ES]] im Browser), das sich über das folgende Kommando im [[:Category:Terminal|Terminal]] (de-)aktivieren lässt: defaults write com.apple.Safari WebKitWebGLEnabled -bool YES Anwendungsbeispiel: [http://www.ambiera.com/copperlicht/ Copperlicht Engine] von Ambiera (incl. [http://www.ambiera.com/copperlicht/demos.html Demos]) ==Weitere Informationen== * [http://developer.apple.com/internet/safari/faq.html Safari FAQ] (developer.apple.com) * [http://developer.apple.com/safari/ Safari DevCenter] (developer.apple.com) e30f2f9d2b7421b60dde79113b6b098a9be8a50d MacOS absichern/Betriebssystemkonfiguration 0 76 960 959 2019-02-18T12:28:24Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Bild:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Bild:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [[mu:AutomountMaker|AutomountMaker]], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [[mu:Supinfo Share Manager|Supinfo Share Manager]] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Bild:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Bild:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Bild:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Bild:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Bild:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Bild:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Bild:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen [[Bild:MacOS10.3.png|16px]]{{Product_OSX_Version|10.3}} bis [[Bild:MacOS10.6.png|16px]]{{Product_OSX_Version|10.6}} * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 5f97a3529f5076e33a19e62d16ce63e5da7a6b92 961 960 2019-02-18T12:29:31Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Bild:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Bild:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [[mu:AutomountMaker|AutomountMaker]], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [[mu:Supinfo Share Manager|Supinfo Share Manager]] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Bild:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Bild:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Bild:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Bild:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Bild:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Bild:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Bild:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 54ecd156550b0d40be8116d554404c3e53c63378 HFS-Volume bootfähig machen 0 74 287 2019-02-18T12:28:41Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]][[Category:OS]][[Category:Hint]]Um ein Volume z.B. nach der Wiederherstellung aus einem DMG bootfähig zu machen, kann das [[:Category:Terminal|Terminal]]-Programm {{Man|bless|bless}} verwendet werden: ==Informationen über ein Volume abrufen== Allgemeine Informationen ermitteln: bless -info /Volumes/VOLUMENAME Dabei ist VOLUMENAME durch den Partitionsnamen zu ersetzen ==Bootfähigkeit aktivieren== === Mac OS X oder Mac OS 9 === Um ein Volume als bootfähig zu markieren, das entweder Mac OS X oder Mac OS 9 enthält, folgendes im Terminal eingeben: sudo bless --mount "/Volumes/VOLUMENAME" --setBoot === Mac OS X / Darwin === Um ein Volume mit (ausschließlich) Mac OS X als bootfähig zu markieren (erstellt BootX und boot.efi Dateien), folgendes im Terminal eingeben: sudo bless --folder "/Volumes/VOLUMENAME/System/Library/CoreServices" --bootinfo --bootefi Dabei ist VOLUMENAME durch den Partitionsnamen zu ersetzen cc2f01cce83e40c010a481f0757806d8c525866d Google Updater deinstallieren 0 72 283 2019-02-18T12:33:58Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] Selbst nach der Deinstallation von Google Apps wie Picasa oder Chrome bleibt oft der Google Updater (Google Software Update Agent) zurück und nervt mit laufenden Verbindungsversuchen. Da [http://tools.google.com/mac/updaterfaq.html diese Anleitung von Google] allerdings ins Leere läuft (bei [[User:Hagbard|mir]] hat noch nie eine Applikation namens "Google Update.app" existiert), hier also eine Kurzanleitung zur Deinstallation (Quelle: [http://www.google.com/support/installer/bin/answer.py?answer=100386 Google Support Dokument]): ;Für den aktuellen Benutzer ... folgendes im Terminal eingeben: sudo ~/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/GoogleSoftwareUpdateAgent.app/Contents/Resources/install.py --uninstall ;Für alle Benutzer ... folgendes im Terminal eingeben (root-Rechte benötigt): sudo /Users/<username>/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/GoogleSoftwareUpdateAgent.app/Contents/Resources/install.py --uninstall ==Siehe auch== * [[Google Programme ohne Updater nutzen]] 4d8cb37734bc449a7166431bb0e7251717ff95da IPhone Quickies 0 81 301 2019-02-18T12:35:15Z Hagbard 2 wikitext text/x-wiki __TOC__ Hier finden sich ein paar (hoffentlich) hilfreiche Tipps & Tricks für den Fall, dass das iPhone zickt, der iPod touch nicht mehr starten will oder beim Jailbreak/Unlock irgendetwas schiefgelaufen ist. ==Synchronisieren== === Apps werden nicht mehr synchronisiert === In diesem Fall hat (falls ein Neustart des iPhone nicht hilft und man nicht gleich das iPhone zurücksetzen will) schon häufiger (allerdings leider nicht immer) die folgende Vorgehensweise geholfen: # Den aktuellen Computer vom iTunes Store abmelden (Menü "Store" > "Diesen Computer deaktivieren ...") # iPhone in iTunes auswerfen und abklemmen # iTunes beenden # Im (versteckten Verzeichnis) {{TT|/Users/Shared/SC Info/}} die beiden dort enthaltenen (ebenfalls versteckten) Dateien {{TT|SC Info.sidb}} und {{TT|SC Info.sidd}} löschen, entweder über das {{Terminal}} oder über die Anzeige versteckter Dateien im Finder, z.B. via [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool] # iTunes erneut beenden und neu starten # Computer wieder aktivieren (Menü "Store" > "Diesen Computer aktivieren ...") # iTunes neu starten und iPhone anschließen Unter Windows müssten sich die genannten Dateien in folgendem Verzeichnis befinden (Vista bzw. XP): :{{TT|C:\ProgramData\Apple Computer\iTunes\SC Info\}} :{{TT|C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Apple Computer\iTunes\SC Info}} ==Starten und Neustarten== [[Bild:IPhone_im_Recovery_Mode.png|thumb|100px|right|iPhone im [[IPhone_Quickies#Recovery_Mode|Recovery Mode]]]] ===Recovery Mode=== # Gerät vom Mac trennen und ausschalten # Home-Button drücken und gedrückt halten # Währenddessen das Gerät mit dem Mac verbinden # Den Home Button erst loslassen, wenn das iTunes-Icon mit einem USB-Stecker auf dem Display erscheint (siehe Abb. rechts) Anschließend sollte iTunes dann das Gerät im Wartungsmodus erkennen. Den Recovery Mode kann man mit einem [[#Reboot/Reset|Reset]] wieder verlassen (s.u.) ===DFU-Mode=== Den DFU-Mode startet man wie folgt, eine idiotensichere Anleitung bietet das Programm [[google:Pwnage|Pwnage]] (eigentlich für Jailbreaks gedacht): # Gerät ausschalten # das Gerät mit dem Computer verbinden und iTunes starten # die Tasten "Home" und "Sleep" (bzw. Power an der Oberseite) zusammen drücken # ca. 10 Sekunden lang gedrückt halten # danach (NUR) den Sleep/Power Button loslassen # den Home Button weitere 5 Sekunden gedrückt halten # Loslassen, sobald iTunes das Gerät im Wartungsmodus erkennt (der Bildschirm bleibt hier im Gegensatz zum [[#Recovery Mode| Recovery Mode]] schwarz). Den DFU-Mode kann man mit einem [[#Reboot/Reset|Reset]] wieder verlassen (s.u.) ===Reboot/Reset=== Um das Gerät nach einem Freeze (oder wenn man es aus Versehen in den DFU-Mode gestartet hat) neu zu booten, ist Folgendes zu tun: # die Tasten "Home" und "Sleep" (bzw. Power an der Oberseite) zusammen drücken # ca. 10 Sekunden lang gedrückt halten bis das Gerät neu startet (bzw. das Apple Logo sichtbar wird) # Dann erst loslassen Wenn dann das Apple-Logo im Display erscheint, war die Operation erfolgreich und das Gerät wird neu gestartet. ==Fehlerbehebung== === Geräte werden nicht mehr erkannt === Dies passiert hin und wieder nach der Installation einer neuen iTunes Version, in diesem Fall werden die Geräte dann auch in allen anderen Programmen (Xcode, iPhone Configuration Utility, ...) nicht mehr erkannt. Hierbei hilft nur eine (vollständige!) Neuinstallation von iTunes, wofür folgende Schritte durchzuführen sind: # Folgende Dateien löschen:<source>/Applications/iTunes.app /System/Library/Extensions/AppleMobileDevice.kext /Library/Receipts/AppleMobileDeviceSupport.pkg</source></div> # Mac neu starten # ggf. Papierkorb leeren # iTunes erneut installieren === iPhone bootet nur bis zum Apple-Logo === Wenn das iPhone nur bis zum Apple Logo bootet, dann hängenbleibt und auch nach einem [[#Reboot/Reset|Reset]] nicht weiter kommt, hilft normalerweise folgende Vorgehensweise: # iTunes starten und iPhone an den Mac anschliessen # iPhone ausschalten und wieder einschalten, danach mindestens 15 Minuten warten -> Rechner und iPhone in dieser Zeit nicht anfassen! Alternativ: # iPhone gewaltsam in den [[#DFU-Mode|DFU-Mode]] booten # an den Mac anschließen und warten, bis iTunes das iPhone im Wartungsmodus erkennt # iPhone Firmware in iTunes wiederherstellen (Vorsicht bei gejailbreaktem iPhone 3G(S))! ===Keine Netzverbindung=== Falls es Probleme mit der Netzverbindung (kein Service über GSM, EDGE oder 3G/UMTS) gibt, können die folgenden Tipps möglicherweise helfen: * Am iPhone: Zurücksetzen der Netzwerkeinstellungen (Einstellungen > Zurücksetzen > Netzwerkeinstellungen) * Einen [[#Reboot/Reset|Reset]] durchführen (s.o.) * Am iPhone: Das Gerät zurücksetzen (Einstellungen > Zurücksetzen > Einstellungen; Achtung: NICHT "Inhalte und Einstellungen"! Dadurch werden alle Daten und alle installierten Apps gelöscht!) * Am iPhone: SIM-Karte überprüfen (richtig eingelegt? Karte reinigen, evtl. mit einer andere Karte testen) * iPhone im [[#DFU-Mode|DFU-Mode]] starten und wiederherstellen (s.o.) * Flugmodus aktivieren und ca. 30 Sekunden aktiviert lassen, anschließend den Flugmodus wieder deaktivieren * iPhone im Flugmodus neu starten * Mobileconfig neu installieren ===iPhone lässt sich nicht mehr einschalten=== Wenn das iPhone tiefentladen war und es sich infolgedessen nicht mehr einschalten lässt und auch nicht mehr vom Computer erkannt wird (wenn man die Akkuwarnungen ignoriert und solange wartet, bis das iPhone sich von selbst ausschaltet, kann das passieren), hat vielen iPhone Nutzern bereits folgende Vorgehensweise geholfen (u.U. muss dazu vorher die SIM-Karte entfernt werden, manchmal sind auch nicht alle Schritte notwendig): # USB-Verbindung trennen (Gerät/Netzteil/Dock/etc.) # Power- und Home-Buttons gleichzeitig 10 Sekunden gedrückt halten # Power-Button loslassen und den Home-Button weitere 10 Sekunden gedrückt halten # USB-Kabel einstecken, iTunes sollte nun das iPhone im Recovery Modus erkennen (falls nicht, Schritte 1-3 nochmals versuchen und ggf. die SIM-Karte entfernen) # [http://code.google.com/p/independence/ Independence] starten, um das iPhone aus dem Recovery Modus zu holen ('''keinen Restore''' mit iTunes machen, das ist nicht notwendig!) In [[User:Hagbard|meinem]] Fall schaltete sich das Gerät bereits bei Schritt 3 wieder ein und startete ordnungsgemäß, das Display sollte also währenddessen laufend beobachtet werden. ===Gerät verlässt den Recovery Mode nicht=== Falls das Gerät beim Neustart (z.B. nach einem Fehlgeschlagenen Restore-Versuch) immer im Wartungszustand landet, kann [http://thefirmwareumbrella.blogspot.com/ TinyUmbrella] Abhilfe schaffen. Dort werden alle Geräte im Wartungszustand unter "Recovery Devices" gelistet, denen man mit einem Klick aus selbigem heraushelfen kann (dort kann man auch Geräte in den Wartungszustand versetzen). ==Telefon-Codes== Folgende Codes einfach in der Telefon-App eingeben und "anrufen": {| |-- style="background-color:#e2e2e2;" | style="width:140px;" | Nummer || Funktion |-- | {{TT|*135#}} || Zeigt die eigene Telefonnummer an |-- | {{TT|*#5005*7672#}} || Zeigt die aktuell verwendete [[wikipedia:de:Short Message Service Centre|SMSC]]-Nummer des iPhones an |-- | {{TT|*3001#12345#*}} || Aktiviert den "Field Test Mode" (ab iOS 4.0) und zeigt die Signalstärke an (zur Fehleranalyse) |-- | {{TT|*#06#}} || Zeigt die [[wikipedia:de:International Mobile Equipment Identity|IMEI]] des iPhones an (z.B. für die Idenfikation bei Diebstahl) |-- | {{TT|*646#}} || Zeigt das aktuelle Gesprächsaufkommen an (muss vom Carrier unterstützt werden) |-- | {{TT|##002#}} || Löscht alle Rufumleitungen inklusive der Weiterleitungen zur Mailbox |} Weitere Codes sind [http://www.iphone-tipps.de/die-apple-iphone-codes/ hier zu finden] ==Informationen der Seriennummer== Einige Stellen der Seriennummer haben eine best. Bedeutung: ;1./2. Stelle :Werk, in dem das Gerät hergestellt wurde (z.B. 84/88 = Shenzhen/China, V5/83/87/9C = China) ;3. Stelle :Herstellungsjahr (8 = 2008, 9 = 2009, 0 = 2010, 1 = 2011 usw.) ;4./5. Stelle :Kalenderwoche der Herstellung ;6.-11. Stelle: :Entweder #xxxx# oder xxxxx# (zur Identifikation des Gerätes) ;Beispiel :88105xxxxxx = Shenzhen/China, 5. Kalenderwoche 2011 (31.1. - 6.2.2011) Eine vollständige Analys der Seriennummer gibt es beispielsweise [http://www.chipmunk.nl/klantenservice/applemodel.html hier] ==Weitere Informationen== * [http://www.macbug.de/2008/02/02/iphone-unterschied-zwischen-dfu-mode-und-restore-mode-anleitung/ Unterschied zwischen DFU Mode und Recovery Mode] * [http://www.apfeltalk.de/forum/iphone-1-hilfe-t229596.html Erste Hilfe Tricks] (apfeltalk.de) * The iPhone Wiki: [http://theiphonewiki.com/wiki/index.php?title=ITunes_Errors iTunes Errors] * Apple: [http://support.apple.com/kb/TS1275?viewlocale=de_DE iOS: Warnmeldungen bei Aktualisierung und Wiederherstellung] (auf [http://support.apple.com/kb/TS1275 englisch]) * Apple: [http://support.apple.com/kb/ts1424?viewlocale=de_DE&locale=de_DE iTunes: Mögliche iTunes Store Fehler] (auf [http://support.apple.com/kb/ts1424 englisch]) == iPhone Tools== ;Allgemeine Tools * [http://supercrazyawesome.com/downloads/iPhone%20Backup%20Extractor.app.zip iPhone Backup Extractor] Downloadlink * [http://www.iphone-explorer.com/ iPhone Explorer] ;PNG-Dateien * [http://atpeek.download.atpurpose.com/PngUncrush.zip PngUncrush] ([[QuickLook]] Plugin) * David Watanabe: [http://www.newsfirex.com/blog/?p=176 iPhone .png Decoding] (Terminal) 1c70380d42816c3413f2e3945c0da1be6e5d593b ITunes Rechnungen mit ausgewiesener USt 0 86 311 2019-02-18T12:35:22Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]]<div style="float:right">{{Contentbox|content= '''iTunes SARL'''<br /> 8 rue Heinrich Heine<br /> L-1720 Luxembourg<br /> VAT: LU 20165772 ---- '''Apple Sales International'''<br /> Hollyhill Instustrial Estate<br /> Hollyhill, Cork<br /> Ireland<br /> VAT: IE 6554690W}}</div> ==iTunes Rechnungen== Wie vielleicht der eine oder andere weiß, verkauft Apple via iTunes (aus deren Sicht) ausschließlich an Privatkunden und nicht an Unternehmer (trotz der eigentlich anderslautenden Rechtslage, siehe beispielsweise [http://carta.info/28290/apple-finanzministerium-moniert-mehrwertsteuerpraxis-des-itunes-store/ hier]). Das hat zur Folge, das '''Rechnungen des iTunes Store aus Luxemburg''' (dem Sitz der iTunes S.A.R.L.) kommen und damit nach luxemburgischem Recht versteuert werden, derzeit also mit 15% MwSt. In diesen per E-Mail verschickten Belegen ist jedoch - da sie ja für Privatkunden gedacht sind - die luxemburgische MwSt. nicht explizit ausgewiesen sondern lediglich der Brutto-Betrag. Der Mac App Store sitzt abweichend davon übrigens in Irland, dort beläuft sich die MwSt./Ust. derzeit auf 21%. Das restliche Vorgehen ist aber dasselbe ... Da aber auch iOS Apps durchaus gewerblich genutzt werden können – das iPad wird ja schließlich explizit [http://www.apple.com/de/ipad/business/ für den Unternehmenseinsatz beworben] – fällt auch die direkte Vorsteuervergütung flach, zumal sich Apple auch im "normalen" Business Store (zumindest bei mir) beharrlich weigert, Netto-Rechnungen zu stellen. Einen "Business iTunes Store" gibt es erst gar nicht ... {{Information|'''Da iTunes Guthabenkarten'''<br /><br /> Da iTunes Guthabenkarten mehrwertsteuerfrei sind (wie z.B. Prepaid Handy-Guthabenkarten und vermutlich auch allen anderen derartigen Guthabenkarten, das sieht man dann spätestens auf dem Kassenzettel), ist hierüber also auch kein Vorsteuerabzug möglich. Schließlich fällt die Mehrwertsteuer/Umsatzsteuer erst bei Leistungserbringung an.}} Für den iTunes Store ist also für Unternehmer aus Deutschland offenbar folgende Vorgehensweise nötig, um wieder an die USt. zu kommen: {{Information|'''Info:''' die "Express Lane" ist neuerdings ganz unten links in der Übersicht der Supportseite zu finden und trägt den Namen "Support kontaktieren"}} # '''Eine Rechnung mit MwSt. anfordern:''' im [http://www.apple.com/de/support/itunes/account/ Apple iTunes Support] unter "Account & Abrechnung" via "Express Lane" eine Anfrage stellen (dazu den Punkt "Express Lane Support für Ihren Account" unter "Account-Sicherheit" verwenden). Dort kann man dann eine E-Mail Anfrage stellen, z.B. mit dem Thema "Rechnung mit ausgewiesener USt." ("Sonstiges Tema" auswählen): ## [https://expresslane.apple.com/ Express Lane] im Browser öffnen ## Ganz oben links den richtigen Store auswählen ## '''iTunes Store:''' Express Lane > iTunes > iTunes Store > Einkauf, Abrechnung & Rückzahlung ## '''Mac App Store:''' Express Lane > Weitere Produkte & Dienste > Mac Appp Store > Einkauf, Abrechnung & Rückzahlung ## Angaben zur Anfrage: ##*Problembeschreibung: "Mein Thema wird nicht aufgeführt" ##* Thema: "Rechnung mit ausgewiesener USt" ##* Weitere Angaben nach Bedarf, Bestellnummer ist dem iTunes Beleg zu entnehmen ## Eine Anmeldung ist empfehlenswert (scheint die Bearbeitung zu beschleunigen) ## Kontaktinformationen: ##* Apple ID eintragen ##* {{MARK}} '''Wichtig:''' nicht vergessen, im Feld "Weitere Angaben" die eigene USt.-ID anzugeben! # '''[http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Inlaendische_Unternehmer.html Umsatzsteuervergütung]''' an inländische Unternehmer in anderen EU-Mitgliedstaaten: via BZSt kann man sich dann die USt. vom luxemburgischen bzw. irischen Fiskus wieder zurückholen. #* {{MARK}} Für die Erstattung ist eine zeitliche Frist zu beachten: Der Vergütungsantrag ist '''bis zum 30. September des Folgejahres''' zu stellen. Danach ist keine Erstattung mehr möglich. #* Die Anmeldung beim BZSt (Bundeszentralamt für Steuern) erfolgt dabei über [https://www.elsteronline.de/bportal/ BZStOnline] via Elster (Login derzeit nur mit Softwarezertifikat). #* Luxemburg und Irland erfordern es (zumindest derzeit) nicht, die Rechnungen dem Antrag beizulegen. Eine aktuelle Präferenzliste der EU-Mitgliedstaaten ist [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Hilfsmittel/Praeferenzliste_EU_Mitgliedstaaten.html beim BZSt] zu bekommen. #* Für die Umsatzsteuervergütung existieren '''länderspezifische Grenzwerte''' (in nationaler Währung), diese sind ebenfalls obiger Präferenzliste zu entnehmen. Der Vergütungsbetrag muss '''mindestens € 50,-''' betragen oder einem entsprechend in Landeswährung umgerechneten Betrag entsprechen. Außerdem existieren u.U. weitere Unterschiede bzgl. des Zeitraumes der Rückvergütungen (monatlich, quartalsweise, jährlich etc.) # Der Rest hängt dann vom jeweiligen Land ab. Die Iren scheinen generell etwas länger zu brauchen als unsere westlichen Nachbarn aus Luxemburg ... Weitere Informationen zur Vorsteuervergütung sind [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Vorschriften_Merkblaetter/Vorschriften_Merkblaetter_node.html beim BZSt erhältlich]. Das bedeutet, dass man für jede Rechnung einzeln ein Exemplar mit ausgewiesener MwSt. anfordern muss. Bisher lief das aber immer recht problemlos und ich bekam innerhalb von 10-15 Minuten (tagsüber, werktags) die neuen Rechnungen per E-Mail zugestellt. Da das Finanzamt seit 2010 auch keine signierten PDFs mehr verlangt, sollten diese E-Mail Rechnungen für diesen Zweck auch vollkommen ausreichend sein. Die einzige Alternative ist, auf die Vorsteuer zu verzichten und den Bruttobetrag am Jahresende als Betriebsausgabe geltend zu machen. Da die gekauften Apps wert- und funktionsmäßig wohl in den meisten Fällen als sog. "Trivialsoftware" durchgehen dürften, sollte das also in der Regel keine größeren Probleme verursachen. Höherpreisige Apps sind dann jedoch u.U. über mehrere Jahre abzuschreiben oder als GWG abzusetzen. {{Important|'''Rechnungsempfänger in iTunes Rechnungen'''<br /><br /> Bei Artikeln mit einem Wert von mehr als € 150,- ist jedoch zu beachten, dass als Rechnungsempfänger der Inhaber des jeweiligen iTunes-Kontos aufgeführt wird. Das bedeutet, dass bei teureren Artikeln wie beispielsweise FinalCut X u.U. Probleme mit dem Finanzamt zu erwarten sind, falls die Rechnung einen abweichenden Rechnungsempfänger ausweist. Für Unternehmen, in denen mehrere Personen Zugriff auf den iTunes Store haben, ist es also dringend anzuraten, für alle Einkäufe ein eigenes iTunes-Konto samt AppleID anzulegen, um anschließend Rechnungen mit korrektem Rechnungsempfänger zu erhalten.}} ==Developer Program Rechnungen== Wie die Belege des Mac App Store kommen auch die Rechnungen des '''iOS/Mac Developer Program aus Irland''' und werden demzufolge nach irischem Recht versteuert (derzeit 21% VAT) – wie übrigens auch alles, was an nicht-materiellem (Software etc.) über den herkömmlichen Online Store verkauft wird. Hardware-Rechnungen kommen zwar auch aus Irland, weisen aber (zumindest war es bei [[User:Hagbard|mir]] bisher immer so) explizit die deutsche MwSt. aus. Wenn bei der Beantragung eines Developer Program (genauer beim "Einkauf" desselbigen) die USt.-ID angegeben wurde, sollte die Rechnung nun direkt die irische Mehrwertsteuer ausweisen. Diese kann auf oben beschriebenem Weg über das BZSt zurückgeholt werden. Andernfalls ist eine [http://developer.apple.com/contact/ Anfrage beim Apple Developer Support] nowendig, um eine neue Rechnung mit ausgewiesener Mehrwertsteuer (VAT) zu erhalten. Einigen iOS Entwicklern ist es wohl auch schon gelungen, über eine telefonische Anfrage beim Developer Support eine Rückerstattung der MwSt. zu erwirken. Ob das aber immer und reibungslos funktioniert, sei einmal dahingestellt. ==Links== * Apple: ** [http://www.apple.com/de/support/itunes/account/ iTunes Support - Account & Abrechnung] ** [https://expresslane.apple.com/GetproductgroupList.do?&PRKEYS=131629&category_id=SC0002&symptom_id=20182 Express Lane Support für Ihren Account] ** [http://developer.apple.com/contact/ Apple Developer Support] * Bundeszentralamt für Steuern (BZSt): ** [https://www.elsteronline.de/bportal/ BZStOnline] (www.elsteronline.de/bportal/) ** [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Inlaendische_Unternehmer.html Umsatzsteuervergütung an inländische Unternehmer in anderen EU-Mitgliedstaaten] ** [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Hilfsmittel/Praeferenzliste_EU_Mitgliedstaaten.html Präferenzen der EU-Mitgliedstaaten] (PDF) ** [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Vorschriften_Merkblaetter/vorStVergVerfahren_ab20100101.pdf Vorsteuer-Vergütungsverfahren ab 01.01.2010] (PDF) ** [http://www.bzst.de/DE/Steuern_International/USt_im_In_und_Ausland/Merkblatt_USt_Inland_Ausland.pdf Merkblatt Umsatzsteuer im In- und Ausland] (PDF) ** [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Vorschriften_Merkblaetter/Merkblatt_USt_EU.pdf Merkblatt EU-Umsatzsteuersätze] (PDF) 93a28a66c731fd015838bd7188ae6669a3c93ed8 SSD Reconditioning 0 166 795 794 2019-02-18T12:35:30Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] Nach einem längeren Zeitraum und dementsprechend vielen Schreibzugriffen neigen SSDs im Allgemeinen dazu, durch eine ungünstige Verteilung der belegten Speicherbereiche immer langsamer zu werden - insbesondere bei gleichzeitigen Zugriffen bei erhöhter CPU-Last. Dies zeigt sich dann beispielsweise in einem Geschwindigkeitstest mit dem kostenlosten (jedoch nicht Open Source) Programm [https://www.aja.com/de/products/aja-system-test AJA System Test]. Eine Abhilfe ist zwar rein technisch gesehen recht einfach, jedoch relativ zeitraubend und es wird ein weiterer Datenträger von mindestens der Größe der aufzufrischenden SSD benötigt. Im Wesentlichen wird dazu die SSD geleert - d.h. vollständig mit 0en "voll"-geschrieben und anschließend wieder mit den vorherigen Nutzdaten (Betriebssystem etc.) befüllt. Dazu sind die folgenden Schritten durchzuführen: # ein '''vollständiges Backup''' der gesamtem SSD, beispielsweise auf eine externe Festplatte (s.u.) # '''Löschen der Partitionen''' auf der SSD (via Festplattendienstprogram) # '''Wiederherstellen des Backups''' von der externen HDD auf der SSD Nun sollte der AJA System Test wieder deutlich höhere Werte ausgeben. Viele Anleitungen beschreiben auch das Löschen der gesamten SSD durch Überschreiben aller Speicherbereiche mit Nullen. Diese Funktion des Festplattendienstprogramms (über den Button "Freien Speicher löschen ...") ist für SSDs aus technischen Gründen nicht verfügbar (siehe [https://support.apple.com/en-us/HT201949 hier]). Alternativ kann das natürlich auch über ein Terminal-Kommando bewerkstelligt werden, wobei die Wirkung dessen wohl eher zweifelhaft zu sein scheint: dd if=/dev/zero of=/dev/<partition> bs=100k Die Datensicherung kann entweder über das OS X Festplattendienstprogramm oder (idealerweise) mit Programmen wie [http://www.bombich.com Carbon Copy Cloner] (kommerziell) oder [http://www.shirt-pocket.com/SuperDuper/ SuperDuper] (kostenlos mit eingeschränktem Funktionsumfang, hierfür jedoch ausreichend) durchgeführt werden; letztere beiden sind dabei deutlich komfortabler zu bedienen (im Vergleich zum OS X Bordwerkzeug) und bieten diverse Konfigurationsmöglichkeiten. '''''Anmerkung, etwas off-topic:''''' Die beiden genannten Programme ([[User:Hagbard|ich persönlich]] bevorzuge den CCC) bieten sich beispielsweise auch für laufende Hintergrundsicherungen der gesamten SSD an, so dass der Mac im Schadensfall einfach direkt von der externen Sicherung aus gestartet wird und man ohne Unterbruch und (hoffentlich Datenverluste) weiterarbeiten kann, da so immer ein vollständiges und lauffähiges System zur Verfügung steht. Für die Sicherung der allerwichtigsten und sich häufig ändernden Daten kann man dann immer noch zusätzlich Time Machine verwenden ... == Siehe auch== * arstechnica: [http://arstechnica.com/information-technology/2012/06/inside-the-ssd-revolution-how-solid-state-disks-really-work/ Solid-state revolution: in-depth on how SSDs really work] * Mac Performance Guide: [http://macperformanceguide.com/Storage-SSD-Reconditioning.html Reconditioning a solid state drive (SSD)] * Mac Performance Guide: [http://macperformanceguide.com/blog/2010/20100529_DiskTester--dlt-ssd.html Restoring solid state drive performance with DiskTester ‘recondition’] * Cnet: [http://www.cnet.com/news/maintaining-ssd-drives-in-os-x/ Maintaining SSD drives in OS X] d7bbda2837161ad3c5cabc110ccaf253e2d880ff Looup Words and Terms in a Dictionary 0 61 202 2019-02-18T12:35:41Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] ==Dictionary Schnellzugriff== Für all diejenigen, die häufiger Wörter (oder heisst es dann Worte) im Duden nachschlagen müssen, empfiehlt sich die Tastenkombination <KB>ctrl + cmd + d</KB> Die Funktion ist in Cocoa-Applikationen wie den folgenden verfügbar: * TextEdit * Safari * Mail * Pages * Keynote Wer Sidetrack oder eine Mehr-Button-Maus benutzt, kann auch einen Shortcut auf diese Kombination legen ([http://www.agentlebossanova.net/images/sidetrack.jpg Einrichtung mit Sidetrack]) ==Auswahl an Wörterbüchern== Leider wird Mac OS X nur mit englischen Wörterbüchern ausgeliefert: * New Oxford American Dictonary * Oxford American Writers Dictionary * englische Wikipedia (seit Mac OS 10.5) Es lässt sich aber mit denen [http://web.mac.com/tekl/deutsch/W%C3%B6rterb%C3%BCcher.html auf dieser Seite] verfügbaren Wörterbüchern/Thesauri nachrüsten. ==Dictionary-Interna== Die Dictionaties sind in Form von <font face="courier">*.dict</font> Archiven im folgenden Verzeichnis zu finden: /Library/Dictionaries/ und beinhalten die folgenden Dateien: '''dict_body''' Dictionary-Inhalte als XML-Datei '''dictionary_1''' sieht ziemlich binär aus ... vllt. irgendeine Art TOC? '''images/''' ggf. noch ein Unterverzeichnis mit Bilddateien und die üblichen MacOS X Archiv-Beschreibungsdateien '''Info.plist''' '''PkgInfo''' Typ des Archivs (dictlam) '''version.plist''' Das Dictionary selber ist eine XML-Datei und folgt der [http://oup.dataformat.com/doc/OUP_DTD_Dictionary.html Dictionary DTD]. Vielleicht weiss jemand, was sich hinter der Binärdatei versteckt, sie beginnt auf jeden Fall recht obskur mit dictL,com.apple.DictionaryAccessMethod.ForwardTrie [http://www.google.com Google] wusste da auf die Schnelle auch nicht weiter ... ==Dictionaries hinzufügen== Nett wäre z.B. ein Wrapper für [http://dict.leo.org dict.leo.org] oder die [http://de.wikipedia.org Wikipedia] :) Vielleicht kann man ja irgendwie die [http://de.wikipedia.org/wiki/Wikipedia:Wikipedia-Distribution/Rohdaten Rohdaten] der Wikipedia Offline-Distribution Nutzen, die es als XML-Datei [http://download.directmedia.de/wikipedia/wikipedia_1_2005_xml.zip hier] zum Download gibt. Die ist aber anscheinend nicht sonderlich well-formed ... Unter [http://meta.wikimedia.org/wiki/Wik2dict diesem Link hier] gibts ein Konvertierungstool, um den SQL-Dump eines mediawikis ins dict-Format zu konvertieren (was ja das Dictionary-Tool in MacOS X verwendet). Damit wärs theoretisch möglich, die Wikipedia zu importieren, halt nur immer mit den aktuellen Release-Ständen 27cb522d89e0a3828a3718663dcab1e0cf1750d9 Kurztipp - Wörter im Dictionary nachschlagen 0 66 842 841 2019-02-18T12:35:41Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] ==Dictionary Schnellzugriff== Für all diejenigen, die häufiger Wörter (oder heisst es dann Worte) im Duden nachschlagen müssen, empfiehlt sich die Tastenkombination <KB>ctrl + cmd + d</KB> Die Funktion ist in Cocoa-Applikationen wie den folgenden verfügbar: * TextEdit * Safari * Mail * Pages * Keynote Wer Sidetrack oder eine Mehr-Button-Maus benutzt, kann auch einen Shortcut auf diese Kombination legen ([http://www.agentlebossanova.net/images/sidetrack.jpg Einrichtung mit Sidetrack]) ==Auswahl an Wörterbüchern== Leider wird Mac OS X nur mit englischen Wörterbüchern ausgeliefert: * New Oxford American Dictonary * Oxford American Writers Dictionary * englische Wikipedia (seit Mac OS 10.5) Es lässt sich aber mit denen [http://web.mac.com/tekl/deutsch/W%C3%B6rterb%C3%BCcher.html auf dieser Seite] verfügbaren Wörterbüchern/Thesauri nachrüsten. ==Dictionary-Interna== Die Dictionaties sind in Form von <font face="courier">*.dict</font> Archiven im folgenden Verzeichnis zu finden: /Library/Dictionaries/ und beinhalten die folgenden Dateien: '''dict_body''' Dictionary-Inhalte als XML-Datei '''dictionary_1''' sieht ziemlich binär aus ... vllt. irgendeine Art TOC? '''images/''' ggf. noch ein Unterverzeichnis mit Bilddateien und die üblichen MacOS X Archiv-Beschreibungsdateien '''Info.plist''' '''PkgInfo''' Typ des Archivs (dictlam) '''version.plist''' Das Dictionary selber ist eine XML-Datei und folgt der [http://oup.dataformat.com/doc/OUP_DTD_Dictionary.html Dictionary DTD]. Vielleicht weiss jemand, was sich hinter der Binärdatei versteckt, sie beginnt auf jeden Fall recht obskur mit dictL,com.apple.DictionaryAccessMethod.ForwardTrie [http://www.google.com Google] wusste da auf die Schnelle auch nicht weiter ... ==Dictionaries hinzufügen== Nett wäre z.B. ein Wrapper für [http://dict.leo.org dict.leo.org] oder die [http://de.wikipedia.org Wikipedia] :) Vielleicht kann man ja irgendwie die [http://de.wikipedia.org/wiki/Wikipedia:Wikipedia-Distribution/Rohdaten Rohdaten] der Wikipedia Offline-Distribution Nutzen, die es als XML-Datei [http://download.directmedia.de/wikipedia/wikipedia_1_2005_xml.zip hier] zum Download gibt. Die ist aber anscheinend nicht sonderlich well-formed ... Unter [http://meta.wikimedia.org/wiki/Wik2dict diesem Link hier] gibts ein Konvertierungstool, um den SQL-Dump eines mediawikis ins dict-Format zu konvertieren (was ja das Dictionary-Tool in MacOS X verwendet). Damit wärs theoretisch möglich, die Wikipedia zu importieren, halt nur immer mit den aktuellen Release-Ständen 27cb522d89e0a3828a3718663dcab1e0cf1750d9 ObjC Quickies 0 291 1568 2019-02-18T12:36:03Z Hagbard 2 wikitext text/x-wiki [[Category:Development]] Hier eine kleine Sammlung aus ObjC Schnippseln, die dem einen oder anderen beim Quereinstieg in ObjC eventuell helfen könnten: ==Strings verketten== zuerst werden die Strings erzeugt: NSString *vorname = @"hagbard"; NSString *nachname = @"celine"; und anschließend verkettet: NSString *name = [vorname stringByAppendingString:nachname]; oder so: NSString *name = [NSString stringWithFormat:@"%@ %@", voname, nachname]; Das ganze deshalb, weil in ObjC (wie auch in Java) Strings Objekte sind und keine Variablen. - [[User:Hagbard|hagbard]] 14:08, 22. Sep 2006 (CEST) ==Strings vergleichen== aus demselben Grund kann man Strings auch nicht so vergleichen: if (vorname == "hagbard") { ... } sondern so: if ([vorname isEqualToString:@"hagbard") { ... } oder so: if ([[sender title] isEqualToString:@"hagbard"]) { NSLog(@"huhu!"); } Mehr dazu gibts [[ADC:documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/Reference.html|hier]] und [[ADC:documentation/Cocoa/Reference/ApplicationKit/Classes/NSString_AppKitAdditions/Reference/Reference.html|hier]] zu sehen 6b556000170c71d7404a7944050a8e172f2e46d5 PHP Security 0 163 782 781 2019-02-18T12:36:10Z Hagbard 2 wikitext text/x-wiki [[Category:Development]]In diesem Artikel sollen Möglichkeiten vorgestellt Werden, PHP gegen Angriffe abzusichern. Dabei sollen neben einigen Konfigurationstipps auch auf Erweiterungen wie mod-Security, FASTCGI oder suexec vorgestellt und beschrieben werden. ==Konfigurationsdateien== PHP-Direktiven lassen sich prinzipiell auf 2 verschiedenen Wegen einstellen: * in der Konfigurationsdatei {{tt|php.ini}} * in einer {{tt|.htaccess}} Datei mit Hilfe der PHP Apache-Direktiven ===php.ini=== Es existieren üblicherweise verschiedene Exemplare der Datei {{tt|php.ini}} für verschiedene Einsatzzwecke, hier am Beispiel eines Debian-Systems: {|style="margin-top:10px; margin-bottom:10px; margin-left:10px;" |-- |bgcolor="#e2e2e2"|Ort||bgcolor="#e2e2e2"|Zweck |-- |{{tt|/etc/php.ini }} ||Globale Konfiguration |-- |{{tt|/etc/php4/apache/php.ini }} ||Konfiguration für das Apache-PHP-Modul |-- |{{tt|/etc/php4/cgi/php.ini }} ||Konfiguration für den CGI-Betrieb im Apache |-- |{{tt|/etc/php4/cli/php.ini }} ||Konfiguration für die Nutzung in Shell-Skripten |} Unter Mac OS X existiert in der Standardinstallation lediglich die folgende Datei: /private/etc/php.ini ===.htaccess=== Einige (nicht alle!) Konfigurationsdirektiven lassen sich auch innerhalb der sog. ".htaccess" Dateien verwenden. Das ermöglicht beispielsweise unterschiedliche Einstellungen für einzelne VirtualHosts oder Verzeichnisse - so sind Produktivinstallationen anders (wesentlich restriktiver) zu konfigurieren als Entwicklungssysteme. Weitere Informationen zur Verwendung von .htaccess Dateien sind in den [[#Weitere_Informationen|am Ende des Artikels verlinkten Seiten]] nachzulesen. ===Wichtige Einstellungen=== {|style="margin-top:10px; margin-bottom:10px; margin-left:10px;" |-- |bgcolor="#e2e2e2" width="220px" |Direktive||bgcolor="#e2e2e2" width="120px" |Wert||bgcolor="#e2e2e2"|Beschreibung |-- |{{tt|php_flag register_globals}}||off||EGPCS Variablen sind nicht mehr global zugänglich bzw. als globale Variablen registriert (EGPCS = Environment/Umgebung, GET, POST, Cookie, Server) |-- |{{tt|php_flag display_errors}}||off||Fehlermeldungen nicht im Client (Browser) darstellen |-- |{{tt|php_flag log_errors}}||on||Fehlermeldungen in ein Logfile schreiben |-- |{{tt|php_flag error_log}} ||$PFADANGABE||Pfadangabe für das Logfile, z.B. {{tt|/home/web/logs/php4.log}} |-- | || syslog || Fehlermeldungen werden durch syslogd protokolliert |} ==PHP safe mode== Der sog. "safe mode" von PHP dient in erster Linie dazu, Sicherheitsprobleme durch Dateizugriffe bei gemeinsam genutzten Server (sog. "shared server", wie sie beispielsweise bei handelsüblichen Web-Hosting Angeboten zum Einsatz kommen) zu verhindern. Sprich: Kunde A soll nicht auf die Dateien und Verzeichnisse des Kunden B zugreifen können. Anschließend überprüft der PHP-Parser, ob der Eigentümer der Datei identisch mit dem Benutzer ist, der das Skript aufruft. Außerdem ist im safe mode der Zugriff auf [http://de.php.net/manual/de/reserved.variables.php Umgebungsvariablen] nur lesend möglich. Dieser Ansatz hat jedoch den großen Nachteil erhebliche Nebenwirkungen auf verschiedenste PHP-Funktionen zu besitzen. Eine Übersicht der dadurch eingeschränkten Funktionen ist [http://de.php.net/manual/de/features.safe-mode.php#features.safe-mode.functions im PHP Handbuch] nachzulesen. ===safe mode aktivieren=== Aktiviert und konfiguriert wird der PHP safe mode in der Konfigurationsdatei {{tt|php.ini}} durch die folgenden Direktiven: {| |-- |bgcolor="#e2e2e2" width="250px"|Direktive||bgcolor="#e2e2e2"|Beschreibung |-- |safe_mode = on || safe mode anhand eines Benutzers |-- |safe_mode_gid = 0||safe mode anhand der Gruppenzugehörigkeit (anstatt safe-mode zu verwenden, unter Angabe der Group-ID) |-- |safe_mode_include_dir = || Freigabe von Verzeichnissen für die PHP-Funktionen include() und require(). Mehrere Verzeichnisse werden durch Kommata getrennt, die Freigabe gilt dabei für die angegebenen Verzeichnisse inklusive allen darin enthaltenen Unterverzeichnissen. |-- |safe_mode_exec_dir = || Freigabe von Verzeichnissen für Systemaufrufe durch Funktionen wie system() oder exec() (Handhabung siehe safe_mode_include_dir) |-- |safe_mode_allowed_env_vars = PHP_ ||Freigabe von Umgebungsvariablen für schreibenden Zugriff. Ist der Wert leer, werden ALLE Umgebungsvariablen freigegeben! Mehrere Variablen/Präfixe werden durch Kommata voneinander getrennt. |-- |safe_mode_protected_env_vars = LD_LIBRARY_PATH ||Enthält eine Liste aller Umgeungsvariablen, die <u>nicht</u> mit der Funktion putenv() veränderbar sein sollen. '''Hinweis:''' die Angabe safe_mode_allowed_env_vars hebt diesen Schutz wieder auf! |-- |} ===safe mode abfragen=== Mit den folgenden Zeilen PHP-Code kann abgefragt werden, ob der safe mode aktiviert ist: <?php if ( ini_get('safe_mode') ) { // safe mode aktiviert } else { // safe mode nicht aktiviert } ===Dateizugriffe mit {{tt|open_basedir}} einschränken=== Eine weitere Möglichkeit alternativ zum safe mode, Dateizugriffe einzuschränken, ist der Einsatz der PHP Direktive open_basedir Im Rahmen der Apache-Konfiguration. Dadurch ist es möglich, für jeden Benutzer des Servers Dateizugriffsopertationen auf ein bestimmtes Verzeichnis (üblicherweise dessen Document Root) einzuschränken, z.B.: <Directory /home/web/user0815/> php_admin_value open_basedir /home/web/user0815/ </Directory> Durch folgenden Eintrag: disable_functions readfile,system in der Datei {{tt|php.ini}} kann zusätzlich der Zugriff durch die PHP Funktionen readfile() und system() verhindert werden (siehe folgender Abschnitt). ===Direktiven unabhängig von {{tt|safe_mode}}=== {| |-- |bgcolor="#e2e2e2" width="200px"|Direktive||bgcolor="#e2e2e2"|Beschreibung |-- |open_basedir = || Freigabe eines Verzeichnisses für Dateioperationen, wirksam für das Verzeichnis mit allen Unterverzeichnissen, unabhängig von der safe_mode Konfiguration. Bei Angabe eines Punktes "." wird der Speicherort des gerade ausgeführten Skriptes als basedir verwendet (sicherheitstechnisch bedenklich, da durch chdir() veränderbar). Kann durch die Angabe von {{tt|php_admin_value open_basedir none}} in der {{tt|httpd.conf}} deaktiviert werden. |-- |disable_functions = || Eine Liste von Funktionen, die (aus Sicherheitsgründen) nicht ausgeführt werden dürfen. Kann auch in der Datei {{tt|php.ini}} konfiguriert werden, nicht jedoch in der Datei {{tt|httpd.conf}} |-- |disable_classes = || Angabe einer Liste von Klassen, die (aus Sicherheitsgründen) nicht verwendet werden dürfen. Kann auch in der Datei {{tt|php.ini}} konfiguriert werden, nicht jedoch in der Datei {{tt|httpd.conf}} |} ==suexec, FastCGI und suPHP== ''... kommt noch ...'' Web-Links: * [http://www.suphp.org/ suPHP Projekt] (Ausführen von PHP Skripten mit den Rechten des Dateibesitzers) * [http://httpd.apache.org/docs/1.3/suexec.html suexec] (apache.org) * FastCGI: [http://www.fastcgi.com/ Projektseite], [[wikipedia:de:FastCGI|Wikipedia-Artikel]] ==Apache-Hardening mit mod_security== mod-Security ist eine [[wikipedia:de:Web_Application_Firewall|Applikationsfirewall]] in Form eines Apache-Moduls. Dabei kann anhand von Regeln - in denen auch [[wikipedia:de:Regulärer Ausdruck|reguläre Ausdrücke]] zum Einsatz kommen können - definiert werden, welche GET- und POST-Aufrufe<ref name="HTTPrequest">GET und POST sind verschiedene Methoden für [[wikipedia:de:Hypertext_Transfer_Protocol|HTTP]]-Anragen an einen Server</ref> "böse" sind und daher blockiert werden sollen. Diese Regeln werden dann direkt in die Apache-Konfiguration integriert und sehen beispielsweise so aus: <nowiki>SecFilter "drop[[:space:]]table"</nowiki> Obiger Eintrag blockiert also den String "drop table" und soll damit das Löschen einer Tabelle via [[wikipedia:de:SQL|SQL-Query]] verhindern. Mit diese Modul können also recht einfach verschiedene Ziele verfolgt werden: * Verminderung der Gefahr von SQL-Injection (Einfügen von Datenbankabfragen durch mangelhafte Überprüfung eingegebener Daten, z.B. in Formularen oder über die URL) * Abfangen von Systemaufrufen über fehlerhafte Skripte * Protokollierung sicherheitsrelevanter Vorfälle * Absichern des WebServers durch die "chroot"-Funktion von mod_security (Kapseln der Laufzeitumgebung des Webservers, um bei Angriffen Übergriffe auf die Systemumgebung zu verhindern) Außerdem bietet mod_security noch einige nette "Security-by-Obscurity" Funktionen wie beispielsweise das Ändern der Serversignatur: SecServerSignature "Microsoft-IIS/5.0" Der Einsatz von mod_security empfiehlt sich vor allem in den folgenden Fällen: * Software, die nur ungenügend getestet wurde * Software, die bekanntermaßen recht häufig Sicherheitslücken aufweist * Eigenentwicklungen (Jeder macht Fehler) mod_security bietet also einige wertvolle Funktionen zur Absicherung eines Webservers und der darin laufenden Applikationen, ohne gleich auf schwergewichtigere Lösungen wie [[wikipedia:de:Intrusion_Detection_System|IDS]] (Intrusion Detection System, z.B. [[wikipedia:de:Snort|Snort]]), [[wikipedia:de:Proxy|Proxies]] oder [[wikipedia:de:Application_Layer_Gateway|ALG]] (Application Level Gateway) setzen zu müssen. Weitere Informationen zu mod_security finden sich [[#mod_security|am Ende dieses Artikels]]. ==Verschiedene Tipps== ===PHP Skripte vor direkter Ausführung sichern=== Eine einfache Möglichkeit, das Ausführen von PHP-Skripten - und auch allgemein auch das Auslesen von durch PHP-Skripte eingebundene Dateien - durch direkte Adressierung im Browser zu verhindern, ist das Erstellen einer .htaccess-Datei mit dem folgenden Inhalt: order allow,deny deny from all Dadurch wird der direkte Zugriff auf die Dateien verhindert, Skripte können diese Dateien jedoch weiterhin problemlos einbinden und verwenden. ==Weitere Informationen== ===PHP Ressourcen=== * Artikel [[Webentwicklungs-Ressourcen]] hier im Wiki * [http://de.php.net/manual/de/ PHP Handbuch] (offizielles Handbuch) * Apple Developer Connection: [[ADC:internet/opensource/php.html|PHP on Mac OS X]] * O'Reilly [http://www.onlamp.com/php/ ONLamp.com/php]: PHP devcenter * [http://www.hardened-php.net/ Hardened-PHP Project] * [http://www.phpsec.org/ PHP Security Consortium] ===PHP Konfiguration=== * PHP Handbuch: [http://de.php.net/manual/de/security.php Teil IV. Sicherheit] * php.net: [http://de2.php.net/manual/de/print/configuration.php#configuration.file Informationen zur Konfiguration] * php.net: [http://de2.php.net/manual/de/print/ini.php Übersicht aller php.ini Direktiven] und [http://de2.php.net/manual/de/print/ini.core.php deren Beschreibung] * Securityfocus: [http://www.securityfocus.com/infocus/1706 Securing PHP Step-by-Step] * [http://phpsec.org/projects/phpsecinfo/ PHPSecInfo] - gibt analog zu {{tt|phpinfo()}} sicherheitsrelevante Informationen zur aktuellen PHP-Konfiguration aus. ===PHP safe mode=== * PHP Handbuch: [http://de.php.net/manual/de/features.safe-mode.php Kapitel 42. Safe Mode] * domainepublic.net: [http://doc.domainepublic.net/php/doc.php.court/ini.sect.safe-mode.html Konfigurationsübersicht] (Sécurité et Safe Mode) ===Apache Web Server=== * [http://httpd.apache.org Projektseite] des Apache Server Project * [http://de.selfhtml.org/servercgi/server/apache.htm Kleine Apache-Einführung] bei SelfHTML.org * Securityfocus: [http://www.securityfocus.com/infocus/1694 Securing Apache Step-by-Step] * Securityfocus: [http://www.securityfocus.com/infocus/1786 Securing Apache 2 Step-by-Step] ===.htaccess=== * [http://de.selfhtml.org/servercgi/server/htaccess.htm SelfHTML Artikel] zu .htaccess Dateien * [[wikipedia:de:Htaccess|Wikipedia-Artikel]] zum Thema * Beschreibung in der Apache Dokumentation, für [http://httpd.apache.org/docs/1.3/howto/htaccess.html Apache 1.3] und [http://httpd.apache.org/docs/2.0/howto/htaccess.html Apache 2] * Ken Coar: [http://apache-server.com/tutorials/ATusing-htaccess.html Using .htaccess Files with Apache] ===mod_security=== * [http://www.modsecurity.org/ Projektseite] * modsecurity.org: [http://www.modsecurity.org/documentation/quick-examples.html Quick examples] * Securityfocus: [http://www.securityfocus.com/infocus/1739 Web Security Appliance With Apache and mod_security] * O'Reilly [http://www.onlamp.com/ ONLamp.com]: ** [http://www.onlamp.com/pub/a/apache/2003/11/26/mod_security.html Introducing mod_security] ** [http://www.onlamp.com/pub/a/onlamp/2005/06/09/wss_security.html Securing Web Services with mod_security] * Fedora News: [http://fedoranews.org/jorge/mod_security/ HOWTO: Enhancing Apache with mod_security] ===PHPIDS=== * [http://php-ids.org/ Projektseite] * PHPIDS [http://groups.google.de/group/php-ids/ Google Group] * [http://www.heise.de/security/Erste-Schritte-mit-der-Einbruchserkennung-PHPIDS--/artikel/136032 Artikel auf heise security] vom 24.04.2009] * [http://www.net-developers.de/2009/05/23/phpids-intrusion-detection-system/ Weiterer Artikel auf net-developers.de] ===Weitere Themen=== * Securityfocus: [http://www.securityfocus.com/infocus/1726 Securing MySQL Step-by-Step] ===Bücher=== * '''PHP-Sicherheit. PHP/MySQL-Webanwendungen sicher programmieren'''<br />von Christopher Kunz, Peter Prochaska (Dpunkt Verlag), ISBN 3898643697<br />Buchtipp des [http://www.phpmagazin.de/itr/buchtipps/psecom,id,503,nodeid,63.html PHP-Magazins] ----- <references/> 975dfa0f3db48711ff6dd33f8d044e7762a4b321 Tastaturbelegung und Zeichentabelle mit AppleScript anzeigen 0 325 1638 2019-02-18T12:36:29Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Hint]]Manchmal ist es recht hilfreich, die Tastaturbelegung (virtuelle Tastatur) oder die Sonderzeichentabelle auch außerhalb von Applikationen anzeigen zu können. Allerdings stören sich manche (z.B. [[User:Hagbard|ich]]) an dem Sprachauswahlmenü in der Menüleiste, zumal dafür nur wenige Zeilen AppleScript notwendig sind. Diese Sind im Skript-Editor in ein neues Skript einzufügen, das dann als "Programm-Bundle" (Startdialog deaktivieren) gespeichert und fortan als eigenständiges Programm aufgerufen werden kann (startet deutlich schneller als ein Skript). ==Tastatur (Keyboard Viewer)== <source lang="AppleScript" LINES="FALSE> tell application "Finder" open item "System:Library:Components:KeyboardViewer.component:Contents:SharedSupport:KeyboardViewerServer.app" of the startup disk end tell </source> ==Zeichenpalette (Character Palette)== <source lang="AppleScript" LINES="FALSE> tell application "Finder" open item "System:Library:Components:CharacterPalette.component:Contents:SharedSupport:CharPaletteServer" of the startup disk end tell </source> b70df664f680c1fae1fbaa48047618b1f51b0f2a Windows-Quickies 0 335 1658 2019-02-18T12:36:35Z Hagbard 2 wikitext text/x-wiki [[Category:Windows]][[Image:Windows logo and wordmark - 2012.svg|right|128px]] Da dank [http://www.apple.com/de/bootcamp/ BootCamp], [http://www.parallels.com Parallels] oder welcher Multiboot-, Virtualisierungs- oder [[Emulatoren|Emulationssoftware]] auch immer der eine oder andere Mac-User sicherlich auch einmal einen Blick auf Windows werfen möchte, habe [[User:Hagbard|ich]] mir einfach mal die Freiheit genommen, diesen Artikel hier zu starten. Er soll als Sammelstelle für all die kleinen Tipps und Tricks dienen, die einem das Arbeiten/Spielen/Kennenlernen von Windows leichter machen können/sollen ... ==Anmeldung== Tipps rund um die Anmeldung und den Willkommensbildschirm ===Administrator im Willkommensbildschirm anzeigen=== Standardmäßig werden nur die lokalen Benutzer präsentiert (falls man in keiner Domäne Mitglied ist sondern in einer Arbeitsgruppe). Der Administrator dagegen fehlt. Abhilfe: # zweimaliges Drücken des [[wikipedia:de:Affengriff|Affengriffs]] <KB>ctrl + alt + del</KB>(scheint unter der Vista RC1 nicht (mehr?) zu funktionieren) # Unter Windows XP lassen sich mit Hilfe der [http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx Power Toys] alle lokalen Benutzer freischalten # oder in der [[wikipedia:de:Windows-Registrierungsdatenbank|Registrierdatenbank]] im Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList\ Unter diesem Schlüssel kann für jeden Benutzer jeweils ein Eintrag vom Typ DWORD angelegt werden. Ein Wert 0 zeigt an, daß der Benutzer nicht auf der Willkommensseite aufgeführt werden soll, eine 1 dagegen blendet ihn ein. 464563c9d0e957ae7149d9214d462bac97b5d89d Networking cables and interfaces 0 328 1644 2019-02-18T12:36:42Z Hagbard 2 wikitext text/x-wiki [[Category:Network]]Trotz der eigentlich relativ einfachen Verkabelung bei Ethernet, ISDN oder normalen Telefonen ist doch hin und wieder etwas zu beachten. Daher im Folgenden eine kleine Übersicht über verwendete Kabeltypen, Steckerformen, Leitungsbelegungen, Farbcodierungen etc. für den alltäglichen Verkabelungswahnsinn: ==Kabel== Im Bereich der Netzwerke werden derzeit die folgenden Mediemtypen verwendet: * Kupferverkabelung (Copper) * Glasfaserkabel (Fibrechannel / Optical Media) * Funkübertragung (Wireless Media) wobei in diesem Artikel nur die für eine Netzwerkverkabelung aktuell relevanten Medientypen unter Verwendung von RJ45-Steckern und -Kabeln näher betrachtet werden sollen: ===RJ-XX Stecker=== Bei Ethernet kommen sog. [[wikipedia:de:RJ45|RJ45]] Stecker zum Einsatz, wobei RJ-XX eine übliche Abkürzung für von der FCC genormte Steckerverbindungen ist (RJ = Registered Jack, genormte Buchse). Die bekanntesten dieser ''Westernstecker'' sind: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" |-- bgcolor="#ffffff" | width="80px" | RJ-11 || 4-poliger Westernstecker (6 Kontaktpositionen, Verwendung z.B. als ANschlußkabel analoger Telefone) |-- bgcolor="#ffffff" | width="80px" | RJ-12 || 6-poliger Westernstecker (z.B. als Anschlußkabel von Modems) |-- bgcolor="#ffffff" | width="80px" | RJ-14 || 4-poliger Westernstecker (Telefonstecker), findet z.B. Verwendung bei analogen Telefonen (z.B.: Anschluß des Telefonhörers) |-- bgcolor="#ffffff" | width="80px" | RJ-45 || 8-poliger Westernstecker, Verwendung z.B. bei ISDN (IAE) oder Ethernet (UAE) |-- bgcolor="#ffffff" | width="80px" | DEC || 4-poliger RJ-11 Westernstecker, wobei nur 2 Leitungen belegt sind. Verwendung z.B. bei ISDN (vom Hausanschluß zur NTBA) oder DSL (zwischen Splitter und Modem). Die Rastnase ist bei dieser Art RJ-Stecker leicht versetzt angebracht. |} ===Verdrillte Kabeltypen=== Bei Ethernet kommen also RJ-45 Stecker zum Einsatz, wobei heute die 8 Adern in Form 4 verdrillter Leitunspaare ausgelegt sind. Bei 1MBit Ethernet genügten dagegen auch 4 adrige Leitungen (mit 2 verdrillten Paaren). Bei der Abschirmung wird unterschieden zwischen 3 Typen: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" |-- bgcolor="#ffffff" | width="80px" | U-UTP || unshielded/unshielded (gar keine Schirmung) |-- bgcolor="#ffffff" | width="80px" | S-UTP || shielded/unshielded (eine Schirmung außen), wird oft auch als ScTP (Screened Twisted Pair) bezeichnet |-- bgcolor="#ffffff" | width="80px" | U-FTP || unshielded/shielded (Foiled Twisted Pair): eine Schirmung um jedes Adernpaar in Form einer metallischen Folie |-- bgcolor="#ffffff" | width="80px" | S-FTP || shielded/shielded (Foiled Twisted Pair): wie U/FTP, jedoch zusätzlich mit einer Schirmung außen |-- bgcolor="#ffffff" | width="80px" | S-STP || shielded/shielded (eine Schirmung außen, zusätzlich ist jedes Adernpaar einzeln geschirmt)<br />STP = shielded Twisted-Pair |} ===Qualitätsstufen=== Abhängig von der Anwendung ist eine bestimmte Kabelqualität vonnöten, von der beispeilsweise die verfügbare Bandbreite abhängt. Derzeit wird zwischen 6 Qualitätsstufen (Kategorien) unterschieden, bei Ethernet kommen im Regelfall Cat-5/Cat-5E Kabel zum Einsatz: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" | width="80px" | Kategorie || Typ || Bandbreite || max. Kabellänge || Anwendung |-- bgcolor="#ffffff" |Cat 3 || UTP || 16 MHz || 100m || 10Base-T, 4Mbps |-- bgcolor="#ffffff" |Cat 4 || UTP || 20 MHz || 100m || 10Base-T, 16Mbps |-- bgcolor="#ffffff" |Cat 5 || UTP || 100 MHz || 100m || 100Base-Tx, ATM, CDDI<sup>1)</sup> |-- bgcolor="#ffffff" |Cat 5E || UTP || 100 MHz || 100m || 1000Base-T |-- bgcolor="#ffffff" |Cat 6 || UTP || 250MHz || 100m || -?- |-- bgcolor="#ffffff" |Cat 7 || ScTP || 600MHz || 100m || -?- |} <div style="left:20px; align:left; text-align:left; width:400px; position:relative;"><sup>1)</sup><small> '''CDDI'''<br />CDDI ist die kostengünstigere Umsetzung der Übertragungstechnik [[Netzwerktopologien#FDDI|FDDI]] durch TP-Kupferkabel. Die Kabellänge ist hier sehr stark vom Kabeltyp abhängig (UTP: ca. 50m, STP: ca. 150m)</small></div> ===Adernpaare=== Bei [[Ethernet]] werden die Leitungen immer in Form verdrillter Adernpaare ausgeführt, daher die Bezeichnung ''twisted pair (TP) Verkabelung''. Durch die Verdrillung sollen Übersprechungen zwischen den Adernpaaren reduziert werden, eine eventuell vorhandene Schirmung schützt vor elektromagnetischen Störungen von außen. Bei den meisten Anwendungen (außer z.B. dem analogen Telefon oder 1000Base-T Ethernet) werden nur 2 Adernpaare verwendet, auch wenn alle 4 verbunden sind. Dabei kommt jeweils eines für den Empfang (Rx) und den Versand (Tx) zum Einsatz. Meistens werden jedoch alle Leitungen belegt, damit das Kabel für mehere Einsatzzwecke geeignet ist (z.B. Ethernet, TokenRing, ISDN, ...). Gigabit Ethernet dagegen benötigt immer 4 Adernpaare, da hier allen 4 Adernpaaren gleichzeitig gesendet und empfangen wird ([[wikipedia:de:Vollduplex|vollduplex]]), hier kommen der Standard [http://grouper.ieee.org/groups/802/3/index.html 802.3]ab sowie Kabel der Kategorien 5 oder 6 zum Einsatz. ==Belegungen== Je nach Anwendung unterscheidet sich die Belegung der einzelnen Leitungen, im Folgenden daher eine kleine Übersicht der wichtigsten Einsatzgebiete dieser bisweilen recht fragilen (und leider nicht minder überteuerten) <s>Plastikdinger</s> Steckerchen: ===Leitunsbelegung=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" | width="80px" | Anwendung || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 |-- bgcolor="#ffffff" | Telefon (analog) || (Tel) || (Tel) || || || || || Tel || Tel |-- bgcolor="#ffffff" | ISDN || || || Tx+ || Rx+ || Rx- || Tx- || || |-- bgcolor="#ffffff" | Ethernet (10/100) || Tx+ || Tx- || Rx+ || || || Rx- || || |} Das Kabel sind dabei wie folgt aus: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" | Leitung || Adernpaar || Farbcode <small>(kann abweichen)</small> |-- bgcolor="#ffffff" | 1 || 2 || <font color="orange">orange</font> / weiß (gestreift) |-- bgcolor="#ffffff" | 2 || 2 || <font color="orange">orange</font> |-- bgcolor="#ffffff" | 3 || 3 || <font color="green">grün</font> / weiß (gestreift) |-- bgcolor="#ffffff" | 4 || 1 || <font color="blue">blau</font> |-- bgcolor="#ffffff" | 5 || 1 || <font color="blue">blau</font> / weiß (gestreift) |-- bgcolor="#ffffff" | 6 || 3 || <font color="green">grün</font> |-- bgcolor="#ffffff" | 7 || 4 || <font color="brown">braun</font> / weiß (gestreift) |-- bgcolor="#ffffff" | 8 || 4 || <font color="brown">braun</font> |} ===gekreuzte Ethernet-Leitung=== Im Gegennsatz zu Ethernet-Verbindungen von Geräten zu Verteilern oder zwischen Verteilern (Hubs / Switches), bei denen direkt verbundene Leitungen (straight) eingesetzt werden, können auch zwei Geräte direkt miteinander Verbunden werden. Hier mmüssen jedoch einige Leitungsbelegungen (Pins) vertauscht werden: [[Image:ethernet_tp-belegung.png|thumb|center|300px|Adernbelegung eines Crossover-Kabels]] Für die Belegung der Pins wird von links nach rechts durchgezählt, wobei der RJ-45 Stecker von "unten" her betrachtet wird - also von der Seite ohne Rastnase. Blickt man von der Kabelöffnung her auf den Stecker, wird von rechts nach links durchgezählt. ==Verkabelung== Hier noch eine kleine Zusammenfassung der wichtigsten Punkte, die bei der Verkabelung zu beachten sind. ===Telefon (analog)=== ====Eigenfertigung von Kabeln==== Bei der Selbstanfertigung von Telefonkabeln müssen folgende Punkte beachtet werden: * Die Impedanz des Kabels beträgt ca. 30 bis 45 Ohm * Die mittleren Kontakte sind verdreht (TAE-F) * Die mittlere Frequenz bei dieser Anwendung ist ca. 10 kHz (da auf Sprache ausgelegt) ====Belegungen==== Bei Telefonkabeln existieren je nach Anwendungszweck 2 verschiedene Belegungen - F (für Telefone) und N (für Modem, Fax, etc.) * TAE-F * TAE-N ===ISDN=== Detailliertere Informationen über den Aufbau und die verwendeten Technologien von ISDN sind im [[ISDN]] Artikel zu finden. Bezüglich der Verkabelung sind hier die folgenden Punkte zu berücksichtigen: * Bei Endgeräten ohne eigene Stromversorgung erfolgt deren Speisung über eine 40V Spannung auf dem S0 Bus - die sog. "Phantomspeisung". Dazu muss die NTBA mit Strom versorgt werden. * Bei Verwendung von Geräten in Reihenschaltung muss jedes Ende des S0 Busses mit 100 Ohm Widerständen terminiert werden, die jeweils zwischen den Adern a1-b1 und a2-b2 geschaltet sein müssen (also immer Sender-Sender und Empfänger-Empfänger). Diese Dinger kann man sich mit handelsüblichen Billig-Widerständen (induktionsarme wären nicht schlecht) selber basteln, fertig konfektioniert holen sichs die Hersteller mit solchem Zubehör wirklich von den Lebenden ... ====Leitungslängen==== Außerdem sind noch die maximalen Leitunslängen zu beachten: * ca. 150 Meter bei Busbetrieb (normaler Betrieb ohne weitere Konfiguration am NTBA) * ca. 1000 Meter bei Punkt zu Punkt Betrieb (bei Verwendung von Telekommunikationsanlagen) * ca. 500 Meter bei erweitertem Busbetrieb (von der NTBA aus in beide Richtungen), wobei sich die Endgeräte auf den letzten 30 Metern des Busses befinden müssen Bei kurzen Strecken ist die Sache dabei relativ fehlertolerant, so arbeitet [[User:Hagbard|meine]] ISDN-Installation hier seit Jahr und Tag ohne einen einzigen Abschlußwiderstand. ====Leitungscodierung==== Bei ISDN sind 2 Leitungscodierungen gebräuchlich: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" | NTBA || Funktion || Farbcode || Strichcode |-- bgcolor="#ffffff" | a1 || Sender || <font color="red">rot</font> || ohne Ringe |-- bgcolor="#ffffff" | b1 || Sender || <font color="black">schwarz</font> || einzelne Ringe |-- bgcolor="#ffffff" | a2 || Empfänger || <font color="grey">weiss</font> || Doppelringe mit großem Abstand |-- bgcolor="#ffffff" | b2 || Empfänger || <font color="yellow">gelb</font> || Doppelringe mit kleinem Abstand |} Daraus wird ersichtlich, das wirklich nur 4 Adern verwendet werden, auch wenn einem gerne 8adrige Kabel verkauft werden ... Oft werden jedoch auch Kabel verwendet, deren 4 Adern in Form eines Sterns angeordnet sind. Dadurch soll die Störungsempfindlichkeit gesenkt werden, was dann beim Blick auf das Kabelende so aussieht: o <font color="grey">b1</font> o o <font color="black">a2</font> <font color="yellow">b2</font> o <font color="red">a1</font> ====Beschaltung von ISDN-Dosen==== Für die ISDN-Dosen werden sowohl IAE-4/IAE-8 als auch UAE-4/UAE-8 Dosen verkauft (alle RJ-45), wobei die Belegung sich dann wie folgt gestaltet: '''IAE-4 / IAE-8'''<br /> o o <font color="yellow">b2</font> <font color="black">a2</font> <font color="grey">b1</font> <font color="red">a1</font> o o '''UAE-4 / UAE-8'''<br /> <font color="yellow">b2</font> <font color="grey">b1</font> <font color="red">a1</font> <font color="black">a2</font> 8 7 6 5 4 3 2 1 ===DSL=== {{Construction|Dieser Abschnitt fehlt im thematischen Zusammenhang und sollte noch eingefügt werden.}} ===Ethernet=== Auf Coax-Verkabelung - wie sie bei 10BaseT Installationen verwendet werden - soll an dieser Stelle nicht näher eingegangen werden, allerdings sind auch bei Twisted-Pair Verkabelungen einige Dinge zu beachten: ====Maximallängen==== * Die Maximallänge darf bei Ethernet ohne Verstärker 200 Meter auf keinen Fall überschreiten, üblicherweise wird als Maximallänge 100 Meter angegeben ([[#Qualitätsstufen|siehe oben]]). * Es gilt die im [[Ethernet]] Artikel beschriebene Einschränkung von 4 Hubs in Reihe (gilt nicht bei Verwendung von Switches). ====Eigenfertigung von Kabeln==== Bei der Selbstanfertigung von Ethernet Kabeln müssen folgende Punkte beachtet werden: * Die Impedanz des Kabels muss 100 Ohm betragen * Die Adernpaare müssen mindestens 6 Wicklungen pro laufendem Meter haben * Der Gleichstromwiderstand darf auf 330 m nicht grösser als 28.6 Ohm seim * Die Maximale Abschwächung darf auf 330 m nicht grösser als 16 db sein (bei 5 Mhz), wobei gilt: 16 db = 1/40 der Ausgangsleistung Außerdem ist zu beachten, dass bei Patchkabeln neben den Knickradius des Kabels auch die Maximallänge variieren kann, da die Kabel ja frei liegen und daher störanfälliger sind. Kat. 5 Patch-Kabel werden daher in der Regel als UTP nur in einer Länge von bis zu 10 Metern verlkauft, darüber sind es üblicherweise S/UTP oder STP Kabel. ====Kabelkategorie für Hausverkabelungen==== Für höhere Anforderungen an die Schirmung sind bei größeren Leitungslängen Kabel der Kategorie 6 zu empfehlen, das gilt insbesondere für Gigabit Ethernet. Bei der Hausverkabelung sind in der Regel größere Strecken zu überbrücken, die Kabelwahl hängt dabei jedoch stark von der Fertigungsqualität und wohl weniger von der Kategorie ab. So können Kat. 5 Kabel durchaus reichen, bieten jedoch für zukünftige Geschwindigkeitssteigerungen (in Richtung Gigabit und 10Gigabit Ethernet) nach oben hin wenig Spielraum. In dieser Hinsicht empfiehlt sich also die Verwendung von Kabeln der Kategorie 6 oder gar 7. Das muss natürlich auch unter Berücksichtigung der baulichen Gegebenheiten erfolgen, wenn beispielsweise noch weitere singalführende Leitungen im gleichen Rohr liegen, die stark einstreuen könnten (z.B. TV/Radio). Für die Außenverlegung von Netzwerkleitungen gibt es speziell dafür gefertigte Kabel, hier gilt dasselbe wie oben. Für kürzere Strecken sollten dafür (aus eigener Erfahrung mit 100Base-T) gute Kat. 5 Kabel völlig ausreichen. ===1GBit Ethernet=== Die Verkabelung in einem Gigabit Ethernet Netzwerk erfolgt üblicherweise (SOHO) ebenfalls als 1000BASE-T in Form von Twisted-Pair Kabeln (8adrig) und ist damit prinzipiell identisch mit der oben beschriebenen Verkabelung von 100MBit Ethernet. Lediglich bei den verwendeten Kabeltypen ist darauf zu achten, Cat6 oder (v.a. für Haus- und Außenverkabelungen) eventuell sogar Cat7 Kabel zu verwenden. Die maximale Leitungslänge liegt - genau wie auch bei 10BASE-T und 100BASE-TX - bei 100 Metern (ohne Repeater). ==Weitere Typen== ===10GBit Ethernet=== ===TV-Kabel (koax)=== == Ausblick == Die Ethernet Entwicklung bleibt trotz des Siegeszuges schnurloser Netzwerke mitnichten stehen. Nach der Entwicklung des Gigabit Ethernet schien es zwar so, als ob dies die letzte Entwicklungsstufe unter Verwendung von Kupferkabeln sein würde, allerdings wird derzeit bereits an 10GBit Ethernet gearbeitet - sowohl über LWL als auch über Kupferkabel. und es wird auch schon über die nächste Stufe - 100GBit Ethernet - diskutiert. ===== Cat5 oder Cat6 ===== Generell gilt: je hochwertiger und störungsunempfindlicher das Kabel ist, desto mehr Luft hat man bezüglich zukünftiger Ethernet Geschwindigkeitssteigerungen. In Anbetracht dessen dass bereits an 10 GBit über Kuperkabel entwickelt wird, würde ich persönlich insbesondere für die Hausverkabelung eher zu einer höheren Kategorie neigen. Für Patchkabel ist das ganze weniger relevant, da diese ja relativ schnell mal ausgetauscht werden können und die Kostenvorteile bei einer höheren Anzahl kurzer Kabel niedrigerer Kategorie (also 5 oder 5e) erfahrungsgemäß heftig sind. Mehr Informationen dazu auch in obigem Abschnitt "[[#ethernet|Verkabelung]]" in diesem Artikel. ===== Kupfer oder Glas ===== {{Construction|Dieser Abschnitt fehlt im thematischen Zusammenhang und sollte noch eingefügt werden.}} be0a7e57a1135847958c60de6bdf5701bf3b52ec Größenänderung von Textareas in Safari 3 verhindern 0 73 285 2019-02-18T12:37:19Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] Standardmäßig sind HTML-Textareas in Safari ab der Version 3 in der Größe veränderbar, ohne dass dies extra (z.B. mit Javascript) implementiert werden muss. Manchmal jedoch ist diese Funktion eher unerwünscht, falls dadurch z.B. das Layout zerrissen wird oder eine Größenänderung schlicht und einfach keinen Sinn macht. In diesem Fall sind in den CSS-Defintionen für Textareas das [http://www.w3.org/TR/css3-ui/#resize CSS3-Attribut {{TT|"resize"}}] zu verwenden: ;keine Größenänderung erlauben <pre>textarea { resize:none; }</pre> ;Größenänderung erlauben (default) <pre>textarea { resize:both; }</pre> Die beiden Eigenschaften <pre> resize: vertical; resize: horizontal; </pre> haben hingegen bei mir nicht funktioniert. getestet mit Safari 3.0.4 (Mac OS 10.4) 88cee1abb24535e618b7b0b8e2c5ce600718b924 ISO-OSI Schichtenmodell 0 83 305 2019-02-18T13:27:21Z Hagbard 2 wikitext text/x-wiki [[Category:Network]] ==Das Schichtenmodell== Das ISO-OSI Schichtenmodell visualisiert die Vorgänge in einem Netzwerk mit Hilfe einer abstahierten schichtweisen Ansicht. Dabei baut jede Schicht auf den darunterliegenden über sog. ''Service Acess Points (SAP)'' auf und kann deren Dienste nutzen: [[Image:ISO-OSI-Schichtenmodell.png|center|300px]] Die Kommunikation in vielen Computernetzen ist nach dem OSI-Schichten-Modell strukturiert. Es beinhaltet sieben Schichten, die aufeinander aufbauen. Dabei nutzt es ein Konzept, in dem eine Schicht Dienste der unter ihr liegenden Schicht in Anspruch nimmt und durch eigene Funktionalität erweiterte Dienste der über ihr liegenden Schicht zu Verfügung stellt. Die wichtigsten Protokolle der Paketvermittlung sind X.25, [[wikipedia:TCP-IP|TCP/IP]], Frame Relay und SMDS (Switched Multimegabit Data Service) beziehungsweise Datex-M. ==Unterschiede der Schichtenmodelle== ==Die einzelnen Schichten== Die unteren drei Schichten bilden die wesentlichen Funktionen eines Netzwerkes. Die physikalische Schicht 1 beschreibt die Kabel und die Bitkodierung. Darauf aufsetzend bietet die Schicht 2 der über ihr liegenden Schicht die Möglichkeit, Datenpakete zwischen zwei Systemen zu senden und zu empfangen. Die Netzwerkschicht wiederum realisiert einen Dienst zur Übertragung mehrerer Datenpakete über mehrere Netzwerkknoten hinweg. Dies nutzt dann die Transportschicht 4 dazu, eine Ende-zu-Ende-Verbindung herzustellen und zu gewährleisten. Die darauf aufsetzenden Schichten werden in der Regel zusammengefaßt und beinhalten Dienste oder Anwendungen auf den Endsystemen, die das darunterliegende Transportmedium nutzen. ===Physical Layer=== zuständig für den Transport des Datenstroms: * elektrische Darstellung der Datenbits (Kodierung, Modulation) * optische Darstellung der Datenbits * Übertragungsgeschwindigkeit (Baud), Synchronisierung * Vollduplex / Halbduplex / ... (CSMADT = Collision Detection) * Physikalischer Anschluss, z.B.: Twisted Pair / Kupfer '''Belegung der Leitungen:''' [[Image:Ethernet_Verkabelung.png|thumb|right|250px|Leitungsbelegung bei Ethernet]] Bei einer Direktverbindung zweier Teilnehmer müssen die Adernpaare 1,2 und 3,6 vertrauscht werden (Cross-Over oder Cross-Linked Verbindung). Bei Gigabit Ethernet wird über jedes der 4 Leitungspaare gleichzeitig mit 250Mbit/s gesendet und empfangen, und zwar mit einer Frequenz von 125MHz (2Bit pro Takt). Daher müssen für 1GB-Ethernet Verbindungen 8adrige Kabel verwendet werden (Kat. 5 reicht jedoch auch hier für den Hausgebrauch meistens aus). Bei [[wikipedia:Asynchronous Transfer Mode|ATM]] sind die 4 Leitungen 1,2 & 7,8 belegt, bei [[ISDN]] die Leitungen 3,6 & 4,5 . Protokolle, die auf dem Physical Layer arbeiten, sind beispielsweise * [[Ethernet]] (Repeating) * [[ISDN]] (Integrated Services Digital Network) ===Data Link Layer=== Der Data Link Layer (auch: Link Local Layer) ist zuständig für eine fehlerfreie, gesicherte Übertragung der Daten: * Fehlererkennung: *# Prüfsumme (reines Addieren der Werte, ein Vertauschen von Bytes wird nicht erkannt) *#CRC (Polynomdivision), das Vertauschen von Bytes wird erkannt und es erfolgt ein erneutes Verschicken der Daten * Fehlerkorrektur: Aufgabe der DLC-Protokolle * Framing: *# '''Bitstuffing:''' Aufteilen der Daten in Frames, die durch Start- und Stop-Sequenzen voeinander getrennt werden. Diese Sequenzen du&#776;rfen in den Daten nicht vorkommen, weshalb nach 5 vorkommenden 1en von Sender eine 0 eingefügt wird, die der Empfänger wieder verwirft. *# '''Bildung von Frames:''' Transparente Übertragung der Daten über die Leitung mittels Framing und Bit-/Bytestuffing * DLC-Protokolle: *# HDLC, SDLC, ... *# LAPB, LAPD, ... Protokolle, die auf dem Data Link Layer arbeiten, sind beispielsweise * [[Ethernet]] (Switching) * [[wikipedia:Asynchronous Transfer Mode|ATM]] (Asynchronous Transfer Mode) * [[wikipedia:Serial Line Internet Protocol|SLIP]] (Serial Line IP) * [[wikipedia:Point-to-Point Protocol|PPP]] (Point-to-Point Protocol) ===Network Layer=== Transport der Daten im Netzwerk zum richtigen Ziel: * Verbindungsauf- & -abbbau * "Wegfindung" im Netz * "Wegfindung" in andere Netze * Anpassung der Daten an die darunterliegende Netzstruktur * Accounting (Statistik) * Fragmentierung der Pakete: Dynamische Anpassung der Paketgrößen an MTU und Geschwindigkeit * Wichtigste Protokolle: ** X.25 (Datex-P) ** Q 931 ([[ISDN]]) ** Q 2931 (ATM) ** [[wikipedia:TCP-IP|IP]] (Internet Protocol) ===Transport Layer=== Abstraktionsschicht zum Netzwerk: * eindeutiger, globaler Adressraum * Datagramservice ([[wikipedia:User Datagram Protocol|UDP]]) * Logische Verbindungen ([[wikipedia:Transmission Control Protocol|TCP]]) * Fehlerfreier Message- / Bytetransport von Endpunkt zu Endpunkt ** '''[[wikipedia:Transmission Control Protocol|TCP]]:''' nur fehlerfreier Bytetransport, da streamorientiertes Protokoll ** '''[[wikipedia:User Datagram Protocol|UDP]]:''' nur fehlerfreier Messagetransport, da messageorientiertes Protokoll; Fehlerkorr.: meist über [[wikipedia:Domain Name System|DNS]] * Multiplexen auf eine Netzwerkverbindung * Flusskontrolle: Anpassung der Geschwindigkeit (auch im [[Ethernet]]: über Multicast-Ethernet-Pakete von einem Switch) ===Session Layer=== ===Presentation Layer=== ===Application Layer=== ==Weiterführende Informationen== 84380a5c4ad386d725e508ac5fdffc63dcf8bab4 ISDN 0 82 303 2019-02-18T13:30:10Z Hagbard 2 wikitext text/x-wiki [[Category:Network]] ==ISDN== ISDN (Integrated Services Digital Network) ist ein Standard für den Zugang zu digitalen Telekommunikationsnetzen. ==ISDN-Technik== ===ISDN-Kanäle=== Bei einem ISDN-Anschluss verläuft die Kommunikation über mehrere Kanäle, wobei unterschieden wird zwischen den '''B-''' und den '''D-Kanälen'''. * '''[http://de.wikipedia.org/wiki/D-Kanal D-Kanal]:''' Steuerkanal, er dient der Übertragung von Steuerinformationen (z.B. Rufnummer, Rufnummer des Anrufers, Gebühreninformationen). Er besitzt eine Bandbreite von 16 kBit/s (Basisanschluss) bzw. 64 kBit/s (Primärmultiplexanschluss) * '''[http://de.wikipedia.org/wiki/B-Kanal B-Kanal]:''' Nutzkanäle, die der Datenübertragung dienen. Sie besitzen eine Bandbreite von jeweils: 64 kBit /s und sind vollduplex (d.h. es können gleichzeitig 64 kBit /s von A nach B und von B nach A übermittelt werden). Dabei existiert immer nur genau ein D-Kanal, die Anzahl der B-Kanäle ist abhängig von verwendeten Anschlusstyp. Wird eine höhere Datenübertragungsgeschwindigkeit gefordert (z.B. für Videokonferenzen), können mehrere B-Kanäle mittels Kanalbündelung wahlfrei zusammengeschaltet werden. Diese Zusammenschaltung mussjedoch bereits beim Verbindungsaufbau geschehen und lässt sich während einer laufenden Verbindung nicht mehr ändern. Ein dynamisches Zuschalten oder Abschalten von Kanälen ist also nicht möglich. ===Basisanschluss=== Beim Basisanschluss stehen die folgenden Kanäle zur Verfügung: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! Kanaltyp || width="200px" | Anzahl |---- bgcolor="#FFFFFF" | D || 1 mit 16 kBit/s |---- bgcolor="#FFFFFF" | B || 2 mit jeweils 64kBit/s |} Durch eine Bündelung aller B-Kanäle lässt sich eine maximale Transferrate von 128 kBit/s erreichen. ===Primärmultiplexanschluss=== Beim Primärmultiplexanschluss stehen die folgenden Kanäle zur Verfügung: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! Kanaltyp || width="200px" | Anzahl |---- bgcolor="#FFFFFF" | D || 1 mit 64 kBit/s |---- bgcolor="#FFFFFF" | B || 30 mit jeweils 64 kBit/s |} Durch eine Bündelung aller B-Kanäle lässt sich eine maximale Transferrate von 1920 kBit/s erreichen. ===ISDN S0-Bus=== ===B-ISDN=== [[Image:CellRelayZelle.png|thumb|150px|right|Zelle aus einem Cell-Relay-Netzwerk mit der Gesamtgröße von 53 Byte]] Beim Breitband-ISDN (B-ISDN) handelt es sich (wie auch bei ATM) um ein Cell-Relay Netzwerk, bei dem die Daten in Form von Zellen (Pakete mit fester Größe) übertragen werden. Die hier verwendeten Protokolle arbeiten auf [[ISO-OSI_Schichtenmodell#Physical_Layer|Physical Layer]] und [[ISO-OSI_Schichtenmodell#Data_Link_Layer|Data Link Layer]]. Dadurch ergeben sich die folgenden Vorteile: * konstante Verzögerungszeit durch feste Paketgröße * deterministisches Verhalten bei Buszugriff und Übertragung * hohe Übertragungsgeschwindigkeiten möglich Beim B-ISDN sieht das Schichtmodell in etwa so aus: '''Layer 1:''' Bitübertragungsschicht [http://de.wikipedia.org/wiki/Sonet SONET] (Synchronous Optical Network) '''Layer 2:''' Vermittlungsschicht [[wikipedia:Asynchronous transfer mode|ATM]] (Asynchronous Transfer Mode) Das Breitband-ISDN bietet mit einer Datenrate von 140Mbit/s gegenüber ISDN zusätzlich die Möglichkeit für folgende Dienste: * Videokonferenz * schnelle Datenübermittlung Allerdings wurden die Pläne der [http://de.wikipedia.org/wiki/Deutsche_Telekom Detuschen Telekom] für B-ISDN zugunsten verschiedener [[wikipedia:Digital_subscriber_line|DSL]]-Formen nie umgesetzt. ==Protokolle== ===Circuit-Switching=== Dieses Verfahren wird bei verbindungsorientierten Protokollen wie ISDN auf den B-Kanälen verwendet (auf dem D-Kanal wird paketorientiert - also mit Packet Switching - gearbeitet). Umgesetzt werden kann dies sowohl mechanisch als auch elektronisch, beispielsweise über einen Crossbar-Switch (Kreuzschienenverteiler): [[Image:ISDNKreuzschienenVerteiler.png|center|thumb|250px|ISDN Circuit-Switching über einen Kreuzschienenverteiler]] Bei ISDN werden nur die B-Kanäle mit Circuit-Switching geswitcht, der D-Kanal (Steuerungskanal) mit Packet-Switching. Der große Vorteil dabei ist die verzögerungsfreie Übertragung und eine konstante Bandbreite. Bei ISDN besteht dabei eine feste Verbindung, die vor dem eigentlichen Datentransfer aufgebaut wird (SDH – Synchrone Digitale Hierarchie). Dabei gibt es im gesamten Netz einen einzigen Taktgeber, auf den sich alle anderen synchonisieren müssen. (Er gibt den Bit-Takt an). Im Gegensatz dazu erfolgt dies beim Cell Switching (wie z.B. bei [[wikipedia:Asynchronous transfer mode|ATM]]) asynchron, es existiert also kein zentraler Taktgeber im ATM-Netz. ===HDLC=== Framing auf Layer 2 (Data Link Layer) ===Q931=== Layer 3 (Network Layer) ==Weiterführende Informationen== Informationen zur Verkabelung von ISDN Installationen sind im Artikel [[Verkabelung]] zu finden. * Wikipedia: ** [http://de.wikipedia.org/wiki/Isdn ISDN] (de) ** [http://de.wikipedia.org/wiki/Breitband-ISDN B-ISDN] (Breitband-ISDN) (de) ** [http://en.wikipedia.org/wiki/Circuit_switching Circuit-Switching] (en) ** [http://en.wikipedia.org/wiki/Cell_switching Cell-Switching] (en) * ISDN-KnowHow im Web: ** [http://www.klaus.franken.de/DE-ISDN-HOWTO/html/DE-ISDN-HOWTO.html Linux ISDN-Howto] (de) ** [http://info.electronicwerkstatt.de/bereiche/uebertragung/telecom/isdn/isdn.html ISDN Grundlagen] (de) ** [http://www.fh-luh.de/~wayne1/ISDN.html ISDN-Technik] FH Lippe/Höxter (de) ** [http://www.netzmafia.de/skripten/telefon/index.html Telefon und ISDN Installation] (Grundlagen, Verkabelung, ...) (de) 659686ba891dba1d32c7422c5c5b41b994f54642 Mount Network Shares on Login 0 160 769 768 2019-02-18T13:32:44Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:OS]] Netzwerkvolumes (z.B. AFP-, WebDAV- oder Windows-/SMB-Freigaben) bei der Anmeldung automatisch einzubinden ist erstaunlich einfach, dazu sind lediglich die folgenden wenigen Schritte notwendig: : [[Image:SharedVolume.png|24px]] Das entsprechende Netzwerkvolume verbinden : [[Image:SystemPreferences.png|24px]] Systemeinstellungen öffnen : [[Image:Accounts.png|24px]] Zu "Benutzer & Gruppen" > "Anmeldeobjekte" wechseln Dort kann man über den "+" Button auch eine aktuell eingehängte Freigabe als Anmeldeobjekt hinzufügen, die fortan bei jeder Anmeldung dieses Benutzers eingehängt wird. Am einfachsten funktioniert das, wenn in den Finder-Einstellungen die Anzeige von "verbundenen Servern" in der Finder-Seitenleiste aktiviert ist; dadurch lässt sich die eingehängte Freigabe recht einfach auffinden und auswählen. 6fa73aca59956cc52b35641fbdee3f8e4759f2ab 770 769 2019-02-19T07:15:41Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:OS]] Netzwerkvolumes (z.B. AFP-, WebDAV- oder Windows-/SMB-Freigaben) bei der Anmeldung automatisch einzubinden ist erstaunlich einfach, dazu sind lediglich die folgenden wenigen Schritte notwendig: * Das entsprechende Netzwerkvolume verbinden * Systemeinstellungen öffnen * Zu "Benutzer & Gruppen" > "Anmeldeobjekte" wechseln Dort kann man über den "+" Button auch eine aktuell eingehängte Freigabe als Anmeldeobjekt hinzufügen, die fortan bei jeder Anmeldung dieses Benutzers eingehängt wird. Am einfachsten funktioniert das, wenn in den Finder-Einstellungen die Anzeige von "verbundenen Servern" in der Finder-Seitenleiste aktiviert ist; dadurch lässt sich die eingehängte Freigabe recht einfach auffinden und auswählen. c3966666495966f5ab8b05906b4c20ef5119c553 MacOS absichern/Betriebssystemkonfiguration 0 76 962 961 2019-02-18T13:33:04Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [[mu:AutomountMaker|AutomountMaker]], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [[mu:Supinfo Share Manager|Supinfo Share Manager]] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 13ff94e013a8747cd6686c352093f16066abee3d 963 962 2019-02-19T07:35:37Z Hagbard 2 /* AFP Freigaben */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [[mu:Supinfo Share Manager|Supinfo Share Manager]] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 83495f4d2de0660ab22db3b23a3f8176e26f66fb 964 963 2019-02-19T07:36:32Z Hagbard 2 /* AFP Freigaben */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 52ed2786dbc9ea93b818893479e29106c216f656 Open Source Anwendungen/Systemwerkzeuge 0 304 1596 2019-02-18T13:34:26Z Hagbard 2 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ {{Navigation_Open_Source_Anwendungen}} ==Systemwerkzeuge== {{SoftwareTable |TITLE=Desktop-Tools |ENTRIES= {{SoftwareTableEntry |NAME=Quicksilver |URL=http://www.qsapp.com/ |DESCRIPTION=Um Plug-Ins Erweiterbarer Programmstarter für Mac OS X. Die aktuelle Version setzt mindestens Mac OS X 10.6 voraus, ältere Versionen sind jedoch verfügbar. Siehe auch: [[wikipedia:en:Quicksilver_(software)|Wikipedia]], [https://github.com/quicksilver/Quicksilver github Projektseite]. |DEPS= |LICENSE=[[wikipedia:de:Apache-Lizenz|Apache Lizenz]] }} {{SoftwareTableEntry |NAME=Launchy |URL=http://www.launchy.net/ |DESCRIPTION=Programmstarter für Mac OS X, Linux und Windows (vergleichbar mit Quicksilver, das <del>allerdings nicht</del> jetzt ebenfalls Open Source ist, s.o.). Siehe auch: [[wikipedia:de:Launchy|Wikipedia]] |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=iTerm |URL=http://iterm.sourceforge.net/downloads.shtml |DESCRIPTION=Terminal-Emulation mit erweiterten Funktionen (Bookmarks, Tabs, ...) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=MenuMeters |URL=http://www.ragingmenace.com/software/menumeters/index.html |DESCRIPTION=Systemmonitor für die Menüleiste (CPU-/Speicherauslastung, Netzwerk-/Festplattenaktivität, ...) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=DoubleCommand |URL=http://doublecommand.sourceforge.net/ |DESCRIPTION=Kernel-Extension zum Umbelegen von Tasten.<br />Downloads für frühere OS X Versionen sind [http://doublecommand.sourceforge.net/download.html hier] zu finden |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Dateisystem-Tools |ENTRIES= {{SoftwareTableEntry |NAME=Parted Magic |URL=http://partedmagic.com/ |DESCRIPTION=bootfägige Linux-Distribution mit dem Partitionierungswerkzeug [http://gparted.sourceforge.net/ GParted] und einer Vielzahl weiterer Systemwerkzeuge, auch als Version mit [http://www.clonezilla.org/ Clonezilla] erhältlich (Backup und Wiedeherstellung von Partitionen). Wahlweise von CD/DVD oder von USB-Medien startbar |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=GParted live |ICON=Gnome-logo.svg |URL=http://gparted.sourceforge.net/livecd.php |DESCRIPTION=Bootäfhige Linuxinstallation mit dem Partitionierungswerkzeug [http://gparted.sourceforge.net/ GParted] (Gnome Partition Editor) für eine Vielzahl an Dateisystemen. Wahlweise von CD/DVD oder von USB-Medien startbar |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=OSXFUSE |URL=http://osxfuse.github.com/ |DESCRIPTION=Fork von [https://code.google.com/p/macfuse/ MacFuse], das nicht mehr weiterentwickelt wird (vollständig abwärtskompatibel). Ermöglicht beispielsweise das Einhängen von FTP- und SSH-Servern als Volume. [http://macfusionapp.org/ MacFusion] (GUI für MacFuse) funktioniert auch mit OSXFUSE, dazu ist jedoch der "MacFUSE Compatibility Layer" zu installieren (standardmäßig deaktiviert)<br /> Weitere Informationen: siehe [[OSXFUSE_verwenden|hier]] |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD-Lizenz]] }} {{SoftwareTableEntry |NAME=Mac OS X Ext Filesystem |URL=http://sourceforge.net/projects/ext2fsx/ |DESCRIPTION=<del>Mac OS X Treiber für das [[wikipedia:de:Ext2|Ext2 Dateisystem]]</del> Wird leider nicht mehr weiterentwickelt |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD-Lizenz]], [[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=BSP |URL=http://www.end.com/BSP/ |DESCRIPTION=PrefPane für die Definition eigener Kategorien zur Erstellung der Spotlight-Indizes |DEPS= |LICENSE=[http://creativecommons.org/licenses/by-nc-sa/2.5/ CC] }} }} {{SoftwareTable |TITLE=Datenrettung und Wiederherstellung |ENTRIES= {{SoftwareTableEntry |NAME=PhotoRec |URL=http://www.cgsecurity.org/wiki/PhotoRec |DESCRIPTION=Software zum Wiederherstellen von Videos, Bildern und anderen Dokumenten von Festplatten oder CD-ROMs oder Kamera-Speichermedien. Verfügbar für Mac OS X (PPC unt Intel), Windows, Linux, BSD und SunOS |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=TestDisk |URL=http://www.cgsecurity.org/wiki/TestDisk |DESCRIPTION=Werkzeug zum Wiederherstellen verlorener Partitionen oder um nicht bootende Festplatten wieder bootfähig zu machen. Verfügbar für Mac OS X (PPC unt Intel), Windows, Linux, BSD und SunOS |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Archivierungs- und Brennprogramme |ENTRIES= {{SoftwareTableEntry |NAME=Keka |URL=http://www.kekaosx.com/de/ |DESCRIPTION=Archivierungsprogramm für Mac OS X, erzeugt (7z, Zip, Tar, Gzip, Bzip2) bzw. entpackt (RAR, 7z, Lzma, Zip, Tar, Gzip, Bzip2, ISO, EXE, CAB, PAX, ACE (PPC)) verschiedene Formate |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv3]] }} {{SoftwareTableEntry |NAME=The Unarchiver |URL=http://code.google.com/p/theunarchiver/ |DESCRIPTION=Ersatz für die Archiv-Funktion (BOMArchiveHelper.app) des Finder zum Entpacken von Archiven, unterstützt u.a. die Formate zip, tar-gzip, tar-bzip2, rar, 7zip, lha, ace, cab, StuffIt u.v.m. (basiert auf der [http://sourceforge.net/projects/libxad/ Amiga libxad]) |DEPS= |LICENSE=[[wikipedia:de:GNU_Lesser_General_Public_License|LGPL]] }} {{SoftwareTableEntry |NAME=SimplyBurns |URL=http://simplyburns.sourceforge.net/ |DESCRIPTION=Brennprogramm für CDs und DVDs (Daten, Audio-CD, Kopien, Images (ISO, DMG, CUE/BIN, TOC/BIN) brennen) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Burn |ICON=Burn.png |URL=http://burn-osx.sourceforge.net/ |DESCRIPTION=Kleines Brennprogramm für CDs und DVDs (Daten, Audio, Video-DVD (VIDEO_TS-Ordner), Kopien) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Backuplösungen |ENTRIES= {{SoftwareTableEntry |NAME=arRsync |URL=http://arrsync.sourceforge.net/ |DESCRIPTION=Auf [[wikipedia:de:Rsync|rsync]] basierendes Backup-Programm |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Bacula |URL=http://www.bacula.org/ |DESCRIPTION=Plattformübergreifende Backuplösung, auch für den Unternehmenseinsatz gedacht (Mac OS X, Unix, Linux, Windows) |DEPS=[[Image:X11.png|32px]] |LICENSE=[http://www.bacula.org/dev-manual/Bacula_Copyri_Tradem_Licens.html verschiedene] }} }} {{SoftwareTable |TITLE=Systemwartung und -pflege, Hardware-Tools |ENTRIES= {{SoftwareTableEntry |NAME=ClamXav |ICON=ClamAV.jpeg |URL=http://www.markallan.co.uk/clamXav/ |DESCRIPTION=Graphische Oberfläche für den plattformübergreifenden Virenscanner [http://www.clamav.net/ ClamAV] |DEPS= |LICENSE=''-?-'' }} {{SoftwareTableEntry |NAME=CronniX |URL=http://code.google.com/p/cronnix/ |DESCRIPTION=Graphische Oberlfäche für das Verwalten von cronjobs ([[wikipedia:de:cron|crontab]]) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL 3]] }} {{SoftwareTableEntry |NAME=Lingon |URL=http://sourceforge.net/projects/lingon/ |DESCRIPTION=Graphische Oberfläche für [http://launchd.macosforge.org/ launchd] ([[wikipedia:en:Launchd|Wikipedia]], engl.), allerdings nur bis zur [http://sourceforge.net/projects/lingon/files/Lingon/2.1.1/ Version 2.1.1] Open Source |DEPS= |LICENSE=[[wikipedia:de:Apache-Lizenz|Apache]] }} {{SoftwareTableEntry |NAME=SMARTReporter |URL=http://www.corecode.at/smartreporter/ |DESCRIPTION=[[wikipedia:deSelf-Monitoring%2C_Analysis_and_Reporting_Technology|SMART]] Status Reporter |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD]] }} {{SoftwareTableEntry |NAME=apcupsd (APC UPS Daemon) |URL=http://www.apcupsd.org/ |DESCRIPTION=Plattformübergreifendes (MacOS, Linux, Solaris, Windows) Monitoring von [http://www.apcc.com APC-USVs] |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} }} {{SoftwareTable |TITLE=Emulatoren & Virtualisierung |ENTRIES= {{SoftwareTableEntry |NAME=Q |URL=http://www.kju-app.org/ |DESCRIPTION=Graphische Oberfläche für den Open Source Emulator [http://fabrice.bellard.free.fr/qemu/ qemu] |DEPS= |LICENSE=[[wikipedia:de:GNU_Lesser_General_Public_License|LGPL]] u.a. }} {{SoftwareTableEntry |NAME=WineBottler |ICON=WINE-Logo.svg |URL=http://winebottler.kronenberg.org/ |DESCRIPTION=Erweiterte Version von Darwine (betrifft v.a. die Installation der Windows-Systemkomponenten, seit der Version 1.1.32 ist Wine zusammen mit WineBottler in einem Installationspaket zusammengefasst) |DEPS= |LICENSE=[[wikipedia:de:GNU_Lesser_General_Public_License|LGPL]] }} {{SoftwareTableEntry |NAME=<del>Darwine</del> |ICON=WINE-Logo.svg |URL=http://darwine.sourceforge.net/ |DESCRIPTION=<del>Mac OS X Portierung von [http://www.winehq.org/ Wine] (Seit der Version 1.1.29 wird der inoffizielle Build von Darwine unter dem Namen Wine weitergeführt)</del> Wird nicht mehr weiterentwickelt, bitte '''WineBottler''' verwenden |DEPS= |LICENSE=[[wikipedia:de:GNU_Lesser_General_Public_License|LGPL]] }} {{SoftwareTableEntry |NAME=VirtualBox |ICON=Virtualbox logo.png |URL=http://www.virtualbox.org/ |DESCRIPTION=Virtualisierungslösung, auch für Linux, Solaris/OpenSolaris und Windows verfügbar. Die OpenSource Edition ist gegenüber der Standardversion funktionell eingeschränkt und besitzt z.B. keinen USB- und 3D-Grafik-Support. |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Boxer |URL=http://boxerapp.com/ |DESCRIPTION=DOS-Emulator, in erster Linie für MS-DOS-Spiele (für Mac OS X 10.4 steht noch Version 0.87 zum Download zur Verfügung) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=FreeDOS |ICON=Freedosfishlogo.png |URL=http://www.freedos.org/ |DESCRIPTION=Open Source Implementierung von MS-DOS, beispielsweise für ältere Software oder zum Einspielen von Firmware-Updates |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} <!-- {{SoftwareTable |TITLE=Sonstige Tools |ENTRIES= }} --> 1b1fc78edc8c553e53892c2de86358c2a0858b0c Open Source Anwendungen/Produktivität und Büro 0 299 1586 2019-02-18T13:37:34Z Hagbard 2 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ {{Navigation_Open_Source_Anwendungen}} ==Produktivität / Büro== {{SoftwareTable |TITLE=Finanzen |ENTRIES= {{SoftwareTableEntry |NAME=Pecunia |URL=http://www.pecuniabanking.de/ |DESCRIPTION=HBCI-fähiges Homebanking Programm (basiert auf [http://www.aqbanking.de/ AqBanking]) mit Reporting für Kontoentwicklung und Kategorien für Umsätze. Derzeit nur PIN/TAN-Verfahren, Chipkarten-Unterstützung ist geplant |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Buddi |URL=http://buddi.digitalcave.ca/ |DESCRIPTION=Einfache Finanzverwaltung für Privatpersonen, über Plug-Ins erweiterbar |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=GnuCash |ICON=GnuCash logo.svg |URL=http://www.gnucash.org/ |DESCRIPTION=Finanzverwaltung für Prvatpersonen und kleine Unternehmen. Weitere Informationen dazu auf der [http://www.gnucash.org/ Webseite] oder in der [[wikipedia:de:GnuCash|Wikipedia]], Builds für Intel und PPC stehen [http://www.gnucash.org/download.phtml hier zur Verfügung].<br /> Aktuelle Versionen (seit Version 2.3.9) benötigen durch Verwendung von Quartz mindestens Mac OS X 10.5, dafür wird kein X11 mehr benötigt. Es stehen aber auch ältere Versionen zum Download zur Verfügung, diese erfordern dann eine X11 Installation.<br /> '''Hinweis:''' GnuCash hat leider immer noch keine [[wikipedia:de:ELSTER|ELSTER]]-Unterstützung (z.B. zur [[wikipedia:de:Umsatzsteuer-Voranmeldung|UStVa]]) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Taxbird |URL=http://www.taxbird.de/ |DESCRIPTION=Freier [[wikipedia:de:ELSTER|ELSTER]]-Client zur Einreichung von [[wikipedia:de:Lohnsteuer_(Deutschland)|LStA]] und [[wikipedia:de:Umsatzsteuer-Voranmeldung|UStVa]] |DEPS=[[Image:Tux.svg|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Komplettpakete |ENTRIES= {{SoftwareTableEntry |NAME=LibreOffice |ICON=LibreOffice icon 3.3.1 48 px.svg |URL=http://www.libreoffice.org |DESCRIPTION=OpenOffice Fork mit demselben Funktionsumfang (s.u.), wird derzeit aktiver weiterentwickelt als das OpenOffice |DEPS= |LICENSE=[[wikipedia:de:GNU Lesser General Public License|LGPL]] }} {{SoftwareTableEntry |NAME=OpenOffice.org |ICON=Aoo4icon.svg |URL=http://de.openoffice.org |DESCRIPTION=Komplette Bürosuite, bestehend aus Textverarbeitung, Tabellenkalkulation, Präsentationsporgramm u.v.m. OpenOffice.org ist seit Version 3 eine native Mac OS X Anwendung und benötigt daher kein X11 mehr. |DEPS= |LICENSE=[[wikipedia:de:GNU Lesser General Public License|LGPL]] }} {{SoftwareTableEntry |NAME=NeoOffice |ICON=NeoOffice icon.png |URL=http://www.neooffice.org/ |DESCRIPTION=NeoOffice (ehem. NeoOffice/J) ist ein Projekt, dessen Ziel es ist, durch Java-Integration das Office-Paket OpenOffice.org nativ auf Mac OS X ohne X11-Umgebung zu portieren. Bis Version 3.1.2 auf PPC-Macs lauffähig |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=DTP / Layout |ENTRIES= {{SoftwareTableEntry |NAME=Scribus |ICON=Scribus logo.svg |URL=http://www.scribus.net |DESCRIPTION=Plattformüergreifende, freie DTP-/Layout-Software |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=ScratchPad |URL=http://scratchpad.alexseifert.com/ |DESCRIPTION=Einfacher Notizblock incl. Textformatierung (fett/kursiv/Tabulatoren/...) und Einbindung von Bilddateien |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=TeXShop |ICON=TeXShop icon.png |URL=http://darkwing.uoregon.edu/~koch/texshop/texshop.html |DESCRIPTION=Graphische Arbeitsumgebung für den Textsatz mit [[wikipedia:de:LaTeX|LaTeX]] |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Terminplanung / Kalender |ENTRIES= {{SoftwareTableEntry |NAME=Mozilla Calendar Projekte |ICON=Crystal Clear app mozilla.png |URL=http://mozilla.org |DESCRIPTION=Calendar, Sunbird und Lightning sind Mozilla-Projekte für Kalender- und Terminplanungsprogramme, wahlweise eigenständig (Sunbird) oder als Integration in Thunderbird (Lightning) |DEPS= |LICENSE=[[wikipedia:de:Mozilla Public License|MPL]]/[[wikipedia:de:GNU General Public License|GPL]]/[[wikipedia:de:GNU Lesser General Public License|LGPL]] Dreifachlizenz }} }} {{SoftwareTable |TITLE=Dateibetrachter |ENTRIES= {{SoftwareTableEntry |NAME=iChm |URL=http://code.google.com/p/ichm/ |DESCRIPTION=Freier CHM-Reader für Mac OS X und [http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=295187047&mt=8 iPhone/iPod touch] |DEPS=iPhone OS 2.1 |LICENSE=[[wikipedia:de:MIT-Lizenz|MIT]] }} {{SoftwareTableEntry |NAME=Chmox |URL=http://chmox.sourceforge.net |DESCRIPTION=Dateibetrachter für CHM Dokumente (wird offensichtlich nicht mehr weiterentwickelt, letzte Version aus dem Jahr 2006) |DEPS= |LICENSE=[[wikipedia:de:GNU Lesser General Public License|LGPL]] }} }} {{SoftwareTable |TITLE=Verwaltungsprogramme |ENTRIES= {{SoftwareTableEntry |NAME=KeePass |URL=http://keepass.info/ |DESCRIPTION=Plattformübergreifende Passwortverwaltung, ab Version 2.0 basierend auf [[wikipedia:de:.NET|.NET]] (benötigt daher eine installierte [http://www.mono-project.com/ Mono-Laufzeitumgebung])<br />Mit [http://www.keepassx.org/ KeePassX] existiert eine OS X-Portierung von KeePass 1.x |DEPS=[[Image:Mono_Project_Logo.svg|24px|Mono 2.6 oder neuer wird für KeePass ab Version 2.0 benötigt]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=KeepassXC |ICON=KeePassXC.svg |URL=https://keepassxc.org |DESCRIPTION=[http://www.keepass.org/ Keepass]-kompatible, plattformübergreifende Passwortverwaltung |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Macpass |URL=https://macpassapp.org/ |DESCRIPTION=[http://www.keepass.org/ Keepass]-kompatible Passwortverwaltung für macOS |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableEntry |NAME=Skim |URL=http://skim-app.sourceforge.net |DESCRIPTION=PDF-Dokumente annotieren, mit Notizen und Anmerkungen versehen, Texte hervorheben/unterstreichen u.v.m. |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD]] }} {{SoftwareTableEntry |NAME=Combine PDFs |URL=http://www.monkeybreadsoftware.de/Freeware/CombinePDFs.shtml |DESCRIPTION=mehrere PDF Dateien zusammenführen |DEPS= |LICENSE=''-?-'' }} {{SoftwareTableEntry |NAME=ScratchPad |URL=http://scratchpad.alexseifert.com/ |DESCRIPTION=Einfacher Notizblock incl. Textformatierung (fett/kursiv/Tabulatoren/...) und Einbindung von Bilddateien |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=FBReader |URL=http://www.fbreader.org |DESCRIPTION=Plattformübergreifender Ebook-Reader für verschiedene Formate, z.B. ePub oder MobiPocket. Ein Mac Port ist [http://gobunov.ru/projects hier verfügbar]. |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} 99fdc3ffe4ec7e0013dde323bc0a8aa5349b7d78 Quartz Ressourcen 0 311 1610 2019-02-18T20:38:00Z Hagbard 2 wikitext text/x-wiki [[Category:Development]][[Category:Links]]Quartz ist die Grafikschicht des Apple Betriebssystemes [[:Category:OS|Mac OS X]]. Bei Quartz handelt es sich um eine Render-Bibliothek für 2D- und 3D-Grafiken, die das grundlegende Darstellungsmodell für Mac OS X bildet. Aufbauend auf dem plattformübergreifenden PDF-Standard (Portable Document Format), kann Quartz 2D hochwertige Texte und Grafiken mit Kantenglättung anzeigen und ausdrucken und bietet Unterstützung für OpenType-, PostScript- und TrueType-Zeichensätze ([[wikipedia:de:Quartz|mehr ...]]) Im folgenden ein paar gesammelte Links zu interessanten Informationen im Web rund um das Thema Quartz und Quartz Extreme. ===Quartz Bibliothek=== * [[wikipedia:de:Quartz|Quartz]] in der Wikipedia ([[wikipedia:en:Quartz_(graphics_layer)|engl.]]) * ADC: [[ADC:graphicsimaging/quartz/|Graphics & Imaging - Quartz]] * Apple: [http://developer.apple.com/documentation/MacOSX/Conceptual/SystemOverview/SystemArchitecture/chapter_3_section_4.html Übersicht für Entwickler] ===Quartz Extreme=== * [http://www.quartzcompositions.com/ quartzcompositions.com] * [http://www.quartzcompositions.com/phpBB2/mediawiki/index.php/Main_Page QuartzComposer Wiki] obiger Seite ==Siehe auch== * [[wikipedia:de:Core_Animation|Core Animation]] in der Wikipedia ([[wikipedia:en:Core_Animation|engl.]]) * ADC: [[ADC:documentation/Cocoa/Conceptual/CoreAnimation_guide/index.html|Introduction to Core Animation Programming]] 31f115be92a0ab6c97fa6af89b85865f0784a6fc Prevent .DS Store files on network shares 0 148 709 708 2019-02-18T20:38:39Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]] __NOEDITSECTION__ Für alle, die sich jedesmal über die {{TT|.DS_Store}} Dateien auf Netzwerkvolumes ärgern (lästig vor allem bei Samba-Shares unter Linux/Win32) hier ein - zwar nicht mehr taufrischer, aber dennoch ganz hilfreicher - Tipp (funktioniert ab Mac OS X Tiger). Diese Files werden durch den Finder erstellt und speichern Darstellungseigenschaften für die einzelnen Ordner (z.B. Spaltenansicht etc.). Wer im Sinne besserer Optik / Ordnung drauf verzichten kann mache das folgende: Durch die Eigabe von defaults write com.apple.desktopservices DSDontWriteNetworkStores true im Terminal (muss für jeden Benutzer durchgeführt werden) erstellt der Finder diese Dateien nicht mehr. Das ist nur gültig für Netzwerkvolumes via ... * SMB/CIFS * AFP * NFS * WebDAV und hat keinen Einfluss auf lokale Volumes (sprich Festplatten, Wechselplatten, DVD-RAMs, ...). Anschließend muss (laut [http://docs.info.apple.com/article.html?artnum=301711 Apple]) der Rechner neu gebootet werden. Die Änderungen werden in der folgenden Datei gespeichert: ~/Library/Preferences/com.apple.desktopservices.plist Um die Änderungen auch für andere Benutzer wirksam zu machen, muss nur diese Datei an die entsprechende Stelle im Benutzerverzeichnis kopiert werden. Infos über mögliche daraus resultierende Fehlverhalten des Finders gibts unter anderem in [http://docs.info.apple.com/article.html?artnum=107822 diesem Artikel] der Apple Knowledge Base. {{Contentbox|content=Apple Knowledge Base Artikel zum Thema: [http://support.apple.com/kb/HT1629 Mac OS X v10.4 and later: How to prevent .DS_Store file creation over network connections]}} ===Löschen aller {{TT|.DS_Store}} Dateien=== Um rekursiv alle ''.DS_Store'' Dateien in einem Verzeichnis auf einmal zu löschen, genügt die Eingabe der folgenden Zeile im Terminal (im betreffenden Verzeichnis): <source lang="bash"> find . -name '*.DS_Store' -type f -delete </source> Für ein anderes Verzeichnis als das aktuelle ist dies an Stelle des Punktes nach "find" anzugeben. 816a0f66c255bb4da850bf53a0382c005402334f Dashboard 0 56 192 2019-02-19T07:41:43Z Hagbard 2 wikitext text/x-wiki [[Category:OS]] ==Allgemeine Tipps== ===Tastaturshortcuts=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" |-- bgcolor="#ffffff" | width="100px" | Dashboard öffnen || je nach Konfiguration, Default: {{Key press|F12}}. Bei Gedrückthalten verschwindet das Dashboard beim Loslassen wieder. |-- bgcolor="#ffffff" | Widgets Verwalten: || {{Key press|CMD|'}} (accent aigu, links neben backspace) |-- bgcolor="#ffffff" | Durch die Liste scrollen || {{Key press|CMD|left}} bzw. {{Key press|CMD|right}} |-- bgcolor="#ffffff" | Aktives Widget neu laden || {{Key press|CMD|r}} (Sichtbar an dem Warp-Effekt) |-- bgcolor="#ffffff" | Einzelne Widgets direkt schließen || {{Key press|Opt}} (gedrückt halten und mit dem Cursor über das Widget fahren, dann erscheint das Schließen-Symbol) |-- bgcolor="#ffffff" | Screenshots erstellen (Auswahlbereich) || {{Key press|CMD|Shift|4}} dann Auswahl markieren |-- bgcolor="#ffffff" | Screenshots erstellen (Widget) || {{Key press|CMD|Shift|4}} danach {{Key press|Space}} und gewünschtes WIdget anklicken |} === Dashboard deaktivieren === Um Dashboard zu deaktivieren auf der shell: defaults write com.apple.dashboard mcx-disabled -boolean YES Um Dashboard zu aktivieren auf der shell: defaults write com.apple.dashboard mcx-disabled -boolean NO Danch mit killall Dock das Dock neustarten. Wer das öfters machen will, kann sich auch mit dem [http://www.macosxhints.com/dlfiles/dash_toggle_scpt.txt Skript] helfen. Alternativ bietet auch Onyx diese Funktionalität oder das [http://www.natal.be/index.php/?p=8 Disable-Dashboard-Widget] Eine sehr praktische Möglichkeit, Dashboard (z.B. aus Speicherplatzgründen bei seltener Nutzung) regelmäßig zu beenden, bietet das "[http://www.macupdate.com/info.php/id/19834 StopDashboard Widget]". Dabei wird Dashboard nicht dauerhaft deaktiviert sondern wird automatisch bei der nächsten Nutzung wieder gestartet; was dann natürlich etwas länger dauert ... ===Dashboard neu starten=== Falls man beim Herumprobieren einmal das Dashboard abschießen sollte, muss dass Dock im Package /System/Library/CoreServices/Dock.app neu gestartet werden, da Dashboard ein Unterprozess vom Dock ist und somit nicht selber neu gestartet werden kann. Das geschieht beispielsweise mit Hilfe des Dashboard Widgets "[http://www.natal.be/2005/10/stopdashboard-widget/ StopDashboard]", im Terminal mit killall Dock oder alternativ unter Angabe der Prozessnummer (PID): kill -1 PID wobei die PID (Prozess-ID) des Docks im Terminal mittels ps -ax | grep Dock ermittelt werden kann. Für jedes gestartete Widget existiert hier ein Subprozess mit einer eigenen PID, für das Beenden des Docks ist die erste zu benutzen, bei deren Eintrag in etwa so etwas stehen sollte: /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock -psn_0_1234567 Alternativ dazu geht das auch in der Aktivitäts-Anzeige (Activity Monitor) im Menü "Darstellung": Dock in der Liste auswählen > Menü "Darstellung" > Eintrag "Signal an Prozess Senden" > "Auflegen (SIGHUP)" auswählen Falls das Dashboard auch darauf nicht mehr reagiert, muss man es mit einem "SIGKILL" abwürgen. Dazu ist beim kill-Befehl oben statt einer "1" eine "9" zu benutzen (oder in der Aktivitäts-Anzeige der entsprechende Eintrag auszuwählen). Eventuell ist anschließend das Dock mit dem folgenden Kommando (oder einem Doppelklick auf Dock.app) neu zu starten (obwohl es eigentlich automatisch wieder starten sollte, hatte ich den Fall schonmal): [[open]] /System/Library/CoreServices/Dock.app ===Netzwerkkommunikation von {{TT|dashboardadvisoryd}} unterbinden=== Von Zeit zu Zeit und bei bestehender Internetverbindung wird vom Dashboard zusätzlich zur Widget-Updateprüfung eine Nutzungsstatistik an Apple verschickt, das ohne zusätzliche Tools wie [http://www.obdev.at/products/littlesnitch/ LittleSnitch] gar nicht vom Nutzer zu Bemerken wäre. Dabei versucht der Hintergrunddienst {{TT|dashboardadvisoryd}} in regelmäßigen Abständen (um genau zu sein, alle 28800 Sekunden = 8 Stunden), eine Verbindung zu {{TT|www.apple.com}} (TCP Port 80) aufzubauen, um (angeblich vollkommen anonymisierte und unverfängliche) Daten zu versenden (auch [http://www.spiegel.de/netzwelt/tech/0,1518,425236,00.html der Spiegel] hat sich bereits diesem Thema gewidmet). Um Mac OS X dieses Verhalten abzugewöhnen, genügt es, den Dienst einfach mit folgendem Kommando im [[:Category:Terminal|Terminal]] zu beenden: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dashboard.advisory.fetch.plist Dabei wird folgender Eintrag in die Konfigurationsdateien {{TT|/System/Library/LaunchDaemons/com.apple.dashboard.advisory.fetch.plist}} und {{TT|/etc/mach_init.d/dashboardadvisoryd.plist}} geschrieben: <key>Disabled</key> <true/> Diese Einstellung sollte anschließend auch nochmls kontrolliert und ggf. von Hand mit Hilfe des Property List Editors (Bestandteil von Xcode) oder anderen Tools wie beispielweise dem [http://www.nightproductions.net/prefsetter.html Pref Setter] (Donationware) eingetragen werden, da dies scheinbar nicht immer erfolgt (beispielsweise hier unter Snow Leopard). Diese Vorgehensweise macht allerdings einen Neustart notwendig. Reaktivieren lässt sich der Dienst dann mit folgendem Kommando: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.dashboard.advisory.fetch.plist Eine genauere Beschreibung, wie man Mac OS X dieses Verhalten abgewöhnen kann, findet sich auf [http://pp.hillrippers.ch/blog/2006/07/04/Disable+the+dashboardadvisory-daemon/ pp.hillrippers.ch], die manuelle Methode (z.B. bei Updates von Version 10.3 auf Tiger oder neuer notwendig) ist auch auf [http://hints.macworld.com/article.php?story=20060705012530786 macworld.com] genauer beschrieben. ==Dashboard Widgets== === Mitgelieferte Widgets=== Hier eine Übersicht der mitgelieferten Widgets, Bewertungen sind herzlich willkommen ... *Adressbuch *Flugrouten (Flight Tracker) *Gelbe Seiten (Phonebook) :liefert leider nur Daten aus den USA, für europäische Nutzer also nur medium sinnvoll *iTunes Steuerung *Kalender *Notizzettel (Stickies): :hat allerdings nicht den selben Datenbestand wie die '''normale''' Stickies.app Notizzettel-Applikation *Puzzle *Taschenrechner *Übersetzung *Währungen Umrechnen *Weltuhr *Wetter-Widget *Widget Manager (seit MacOS 10.4.2) :Verwaltung, Installation, Aktivierung und Deaktivierung von Dashboard Widgets *Wörterbuch (Dictionary) ===Empfehlungen der Redaktion=== Verschiedene, empfehlenswerte Widgets, die den Alltag erleichtern: '''Netzwerk und System:''' * [http://www.apple.com/downloads/dashboard/reference/xcuts.html xcuts] - eine Liste aller MacOS [[MacOS_Keyboard_Shortcuts|Keyboard Shortcuts]] * [http://www.dashboardwidgets.com/showcase/details.php?wid=1510 AppUpdate] sucht nach Updates installierter Software * Kleine Widgets zur Überwachung von Uptime, RAM-, CPU-, ... Auslastung etc. ([http://www.shockwidgets.com/ shockwidgets.com]) * Airport Radar, Übersicht verfügbarer WLANs ([http://www.macwireless.com/html/support/airport_radar/index.php macwireless.com]) '''Alltag:''' * [http://www.apple.com/downloads/dashboard/email_messaging/noteit.html NoteIt] ist ein mehr als würdiger Ersatz für das Stickies-Widget, es beherrscht auch die Übertragung der Notizen auf iPod und Mobiltelefon * [http://widgetschmie.de/cgi-bin/index.pl?lang=de&sub=widgets/Fernsehen Fernsehen] - das aktuelle Fernsehprogramm via TV-Today * [http://www.dastelefonbuch-marketing.de/services/ Telefonbuch] (sagt ja eigentlich schon alles) * [http://caseapps.com/reminder.html Reminder Widget] - ein einfacher, kleiner Wecker (sehr praktisch) * [http://www.2strong.de/ Staumelder Widget] - Übersicht aktueller Staumeldungen und Blitzersichtungen aus dem Raum [[wikipedia:de:Frankfurt_am_Main|FFM]] (Helfer werden gesucht!) * [http://inkspotting.com/wikity/ WikityWidget] - ein kleines Wiki im Dashboard (speichert die Daten in einer [http://www.sqlite.org/ SQLite] Datenbank), eignet sich hervorragend für umfangreichere Notizen. Durch die Möglichkeit von Links deutlich komfortabler und flexibler als die Mac OS Stickies ... * [http://palple.spymac.com/widgets/currencyconverter/index.html Currency Converter] (unterstützt neben einer Mehrfachkonvertierung auch mehr Währungen als das mitgelieferte Apple-Widget) * [http://www.dashboardwidgets.com/showcase/details.php?wid=520 dict.leo.org Widget] für de/en und de/fr '''Nützliche Werkzeuge:''' * [http://www.natal.be/2005/10/stopdashboard-widget/ StopDashboard] zum Beenden und Neustarten des Dashboard (bzw. des Dock) * Das [http://www.natal.be/index.php/?p=8 DisableDashboard Widget] zum Deaktivieren von Dashboard, z.B. um Arbeitsspeicher für andere speicherhungrige Anwendungen freizugeben. * [http://www.aranaio.com/osx.php Hier] gibt es Cheatsheet-Widgets für die Syntax der [[:Category:Terminal|Terminal-Kommandos]] {{Man|vi|vi}}, {{Man|sed|sed}}, {{Man|awk|awk}}, {{Man|diff|diff}} und {{Man|grep|grep}} '''Funstuff:''' * Für die tägliche Ration Bluescreen gibts [http://www.dashboardwidgets.com/showcase/details.php?wid=1035 dieses Widget hier] ===Widget Archive=== * Apple [http://www.apple.com/de/downloads/dashboard/ Dashboard Widgets] * [http://www.dashboardwidgets.com DashboardWidgets.com] * [http://www.tiger-widgets.de/ tiger-widgets.de] ==Widgets selber erstellen== ... kommt noch ... ===Widgets lokalisieren=== Eine sehr einfache Möglichkeit, sich einmal die Funktionsweise von Dashboard Wdgets und deren Bestandteile näher kennenzulernen, ist das Herumspielen an fertigen Widgets. Weitere Informationen dazu gibt es im Artikel "[[Widgets lokalisieren]]". ==Weitere Informationen== ===Macwrench=== * [[Screenshots von Dashboard-Widgets erstellen]] * <del>Yahoo Widgets (früher: Konfabulator)</del> wurde eingestellt * [https://dev.opera.com/tags/widgets/ Opera Widgets] (kleine Widgets für den Webbrowser [http://www.opera.com Opera] ===Weblinks=== * Apple Developer Connection: [http://developer.apple.com/documentation/AppleApplications/Reference/Dashboard_Ref/DashboardPlist/DashboardPlist.html Dashboard Info.plist Keys] * Wikipedia-Artikel zu [[wikipedia:de:Widget_(Desktop)|Widgets]] * [http://www.islayer.com/blog/?p=88 Tipps und Tricks] rund um das Dashboard auf iSlayer.com (engl.) ===Literatur zu Dashboard Widgets=== Im [http://www.heise.de heise-Verlag] sind zum Thema mittlerweile ein paar recht interessante Artikel erschienen: * [http://www.heise.de/ix/ iX] Ausgabe 7/2005 - auch [http://www.heise.de/ix/artikel/2005/07/140/ online nachzulesen] * [http://www.heise.de/ct c't] Artikel ''Mac OS X: Eigene Widgets für das Dashboard erstellen'' (Ausgabe 18/2005, S. 178), gibts leider nur in Hardware oder ab Januar 2006 auf der Jahrgangs-CD/DVD. Weitere Informationen: * Apple: [[ADC:macosx/dashboard.html|Developing Dashboard Widgets]]<br />''"This article shows you how Dashboard Widgets work, and provides an introduction to how to develop and deliver modular functionality in bite-sized pieces."'' * Apple: [[ADC:documentation/AppleApplications/Conceptual/Dashboard_Tutorial/index.html|Dashboard Programming Guide]] ([[ADC:documentation/AppleApplications/Conceptual/Dashboard_Tutorial/Dashboard_Tutorial.pdf|PDF]]) - Introduction to Dashboard Tutorial<br />''"This document provides an overview of Dashboard and the widgets that exist in it. It introduces you to the Dashboard environment and walks you through the the creation of a sample widget."'' * Apple: [[ADC:documentation/AppleApplications/Reference/Dashboard_Ref/index.html|Dashboard Reference]] ([[ADC:documentation/AppleApplications/Reference/Dashboard_Ref/Dashboard_Ref.pdf|PDF]])<br />''"This document contains reference material for creating Dashboard widgets. It documents the JavaScript objects available to widgets and the interfaces used to configure and extend the behavior of a widget."'' * Apple: [[ADC:documentation/AppleApplications/Conceptual/Dashboard_ProgTopics/index.html|Introduction to Dashboard Programming Topics]] ([[ADC:documentation/AppleApplications/Conceptual/Dashboard_ProgTopics/Dashboard_ProgTopics.pdf|PDF]])<br />''"This document provides an overview of Dashboard and the widgets that exist in it. It discusses optional features that may be implemented in a widget, various Web kit technologies you may find useful, and touches on native code integration through a widget plug-in."'' * O'Reilly Blog: [http://www.oreillynet.com/mac/blog/2006/07/the_widget_makers_prime_direct.html The Widget Maker's Prime Directive] - über ressourcenfressende Widgets Es gibt auch Tools für die Erstellung und Veränderung von Widgets: * [https://www.macupdate.com/app/mac/17783/dashboard-widget-xcode-template Dashboard Widget Xcode Template] - freie Vorlage für die Erstellung eigener Widgets * [http://www.widgetmakerx.com/ Widget Maker X]: kostenpflichtiges Tool für das Erstellen und Editieren von Widgets incl. "Creation-Wizard", eine kleine Übersicht der Funktinen gibts bei [http://macnews.de/news/71209 macnews.de] * [https://www.macupdate.com/app/mac/18521/widgetarium Widgetarium] - ebenfalls kostenpflichtig * [http://www.usweho.com/ Widget Creator] - freies Tool zur Erstellung einfacher Widgets b54ec62adf8c9105c11d9dc9759aa3502b903c52 Create Screen Shots in image formats other than PNG 0 152 728 727 2019-02-19T07:53:19Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Hint]] ==Ausgabeformat von Screenshots ändern== Mit den Tastenkombinationen :{{Key press|CMD|Shift|3}} :{{Key press|CMD|Shift|4}} lassen sich unter MacOS Screenshots erstellen. Diese landen seit MacOS 10.4 (aka Tiger) als PNG-Grafik auf der Platte (früher: PDF). Das Dateiformat lässt sich jedoch mit der folgenden Änderung ändern bzw. wieder auf PDF zurückstellen. Anmerkung: :{{Key press|CMD|Ctrl|Shift|3} :{{Key press|CMD|Ctrl|Shift|4}} kopiert das Bild in die '''Zwischenablage''' ===Vorgehensweise im Terminal=== Im Terminal die folgende Zeile eingeben und mit <KB>return</KB> bestätigen: defaults write com.apple.screencapture type <nowiki><dateityp></nowiki> wobei <nowiki><dateityp></nowiki> durch das gewünschte Format zu ersetzen ist (z.B. PDF). Anschließend muss man sich neu anmelden, um die Änderungen wirksam werden zu lassen oder den folgenden Befehl im Terminal eingeben: killall SystemUIServer Prinzipiell lässt sich dort jedes von Quicktime unterstützte Bildformat angeben. ===fertige Tools=== Die Umstellung kann auch mit Hilfe eines graphischen Tools vonstatten gehen, z.b. mit * [http://www.imovieplugins.com/other%20products/savescreenie.html savescreenie] * [https://www.macupdate.com/app/mac/18774/scit SCIT] * [https://www.macupdate.com/app/mac/18695/shotchoice shotChoice] * [https://www.bresink.com/osx/TinkerTool.html TinkerTool] ===Unterstützte Bildformate=== * [http://de.wikipedia.org/wiki/Windows_bitmap BMP] (Windows Bitmap) * [http://de.wikipedia.org/wiki/GIF GIF] (Graphics Interchange Format) * [http://de.wikipedia.org/wiki/JPG JPEG] (Joint Photographic Experts Group) * [http://de.wikipedia.org/wiki/JPG JPEG-2000] * [http://de.wikipedia.org/wiki/PDF PDF] <sup>*)</sup> (Portable Document Format) * [http://en.wikipedia.org/wiki/PICT PICT] * [http://de.wikipedia.org/wiki/Portable_Network_Graphics PNG] <sup>*)</sup> (Portable Network Graphics) * PSD (Adobe Photoshop) * SGI * [http://de.wikipedia.org/wiki/Targa_Image_File TGA] (Targa Image File, von Truevision Inc.) * [http://de.wikipedia.org/wiki/TIFF TIFF] (Tagged Image File Format) <sup>*)</sup> getestet (nicht alle sind verifiziert und getestet, Kommentare sind wie immer willkommen) ce689adbdc47effa9e4729d07e6ec8a56e939737 TeX Links 0 326 1640 2019-02-19T07:58:47Z Hagbard 2 /* Programme */ wikitext text/x-wiki [[Category:TeX]] [[Category:Links]] =Interessante TeX Links= ==TeX Allgemein== * [http://www.dante.de DANTE e.V.] - deutschsprachige Anwendervereinigung TeX * [http://www.ctan.org/ CTAN] - the Comprehensive TeX Archive Network * [http://unimac.switch.ch/students/latex.de.html LaTeX (für MacOS X)] ===Einführungen und Tutorials=== * Wikibooks: [[wikibooks:LaTeX|LaTeX]] - A guide to the LaTeX markup language (engl.) * [http://www.sbg.ac.at/psy/latex/index.htm Kurzübersicht] zur grundlegenden LaTeX Benutzung ([http://www.uni-salzburg.at Universität Salzburg]) * [[Wikipedia:de:Wikipedia:TeX|Syntax Kurzübersicht]] der [[Wikipedia:de:Hauptseite|Wikipedia]] (de) * LaTeX [http://www.weinelt.de/latex/index.html Befehlsübersicht] * [http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/teTeX/latex/latex2e-html/ltx-2.html LaTeX-Referenz] der [http://www.cam.ac.uk/ University of Cambridge] * [http://www.meta-x.de/faq/LaTeX-Einfuehrung.html Einführung] in LaTeX * noch eine [http://www.fh-wedel.de/~kn/latex/ LaTeX Einführung] (FH Wedel) * [http://linuxgazette.net/issue74/spiel.html kurze Einführung] ([http://linuxgazette.net Linux Gazette]) * [http://www.dante.de dante.de]: deutsche [http://www.dante.de/faq/de-tex-faq/html/ TeX-FAQ] ===Themenspezifische HowTos=== * [http://sites.inka.de/picasso/latex.html Grafiken in LaTeX] ===Linksammlungen und Portale=== * [http://tug.org/TeXnik/mainFAQ.cgi?file=docs TeXnik] Web Site * LaTeX [http://www.informatik.uni-freiburg.de/~diesch/tex.html Linksammlung] (Uni Freiburg) ===Weiterführende Literatur=== * O'Reilly - [http://makingtexwork.sourceforge.net/mtw/ Making TeX Work] (O'Reilly [http://www.oreilly.com/openbook OpenBook])<br />ISBN 156592-051-1 (out of print) <br />als Download verfügbar auf der [http://sourceforge.net/projects/makingtexwork Sourceforge-Seite] (Version 1.0.1, HTML) ==TeX Pakete== ===bibtex=== * [[Wikipedia:de:BibTeX|Wikipedia Artikel]] über BibTeX * [http://de.wikipedia.org/wiki/BibTeX How To Use BibTeX] * etwas ausführlichere [http://www.ecst.csuchico.edu/~jacobsd/bib/formats/bibtex.html Beschreibung von BibTeX] ===pdftex=== * [http://www.pdftex.org offizielle Webseite] ([http://freshmeat.net/projects/pdftex/ FreshMeat Projektseite]) * [http://www.tug.org/applications/hyperref/manual.html hyperref Manual] * Adobe [http://partners.adobe.com/public/developer/pdf/index_reference.html PDF Reference] * Übersicht [http://sarovar.org/docman/view.php/106/67/pdftex-syntax.txt pdftex Syntax] ===listings=== * [http://www.atscire.de/products/listings/ offizielle Webseite] ===MakeIndex=== MakeIndex ist ein allgemein anwendbarer Indexprozessor für TeX, Informationen dazu gibts unter ... * Anleitung "[http://www1.ku-eichstaett.de/urz/schriften/makeidx.pdf Sachregister erstellen mit LaTeX]" (PDF) * [http://www.lrz-muenchen.de/services/software/textverarbeitung/makeindex/ HowTo] für die Indexerstellung mit LaTeX * [http://www.jr-x.de/publikationen/latex/tipps/verzeichnisse.html Verwendung des Paketes Index] zur Indexerstellung ===KOMA-Script=== * [http://www.komascript.de offizielle deutschsprachige Seite] (siehe auch [http://www.dante.de Dante e.V.]) ==Programme== ===plattformübergreifend=== * [http://www.lyx.org/ LyX] - plattformübergreifender [[Wikipedia:de:WYSIWYM|WYSIWYM]] TeX Editor (Unix, Linux, Windows (QT/Win), MacOS X (QT/Mac), OS/2 (Xfree86)) ** [http://www.linuxfocus.org/Deutsch/March1998/article31.html Einführung in LyX] ([http://www.linuxfocus.org linuxfocus.org]) ** LyX [http://wiki.lyx.org/ Wiki] * [http://www.jabref.org/ JabRef] - bibtex Editor für die Bearbeitung einer Literaturdatenbank (JAVA) === MacOS X=== * [[wikipedia:TeXShop|TeXShop]] - umfangreiche LaTeX Arbeitsumgebung * [[wikipedia:BibDesk|BibDesk]] - bibtex Editor für die Bearbeitung einer Literaturdatenbank ===Linux=== ===Windows=== * [http://www.texniccenter.org/ TeXnicCenter] - umfangreiche LaTeX Arbeitsumgebung ([http://sourceforge.net/projeces/texniccenter SourceForge]) 8a0f815e8445158787eac26e3f7a5d01541f4cc6 Playground 0 309 1606 2019-02-19T08:03:04Z Hagbard 2 Hagbard moved page [[Spielwiese]] to [[Playground]] without leaving a redirect wikitext text/x-wiki <!--ACHTUNG: KATEGORIEZUORDNUNG BITTE NICHT ENTFERNEN !!!-->[[Category:Misc]] 4762dd473f6a5d364d266ad108d355e62cdd0060 Open 0 293 1572 2019-02-19T08:04:23Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]] ==open== Mit dem Kommando '''open''' lassen sich auch vom Terminal aus Programme starten und Dateien öffnen - selbst wenn es sich dabei um sog. "Application Bundles" (.app "Dateien") handelt. Prinzipiell läuft der Aufruf so ab: open [option] [programm, datei oder verzeichnis] Dabei ist immer zu beachten, dass die Pfadangaben im Terminal nicht lokalisiert werden. Die Verzeichnisse heissen also z.B.: Applications (im Finder: Programme) Utilities (im Finder: Dienstprogramme) Users (im Finder: Benutzer) Pictures (im Finder: Bilder) etc. ===Aufruf ohne weitere Option=== Bei direkter Angabe eines Pfades wird das zugehörige Verzeichnis im Finder geöffnet: open /Applications/Utilities Bei Angabe einer Datei wird diese mit der dem Datentyp zugeordneten Anwendung gestartet, z.B. mit der Vorschau: open ~/Desktop/ReadMe.pdf Außerdem ist die Angabe in Form eines URL-Schemas erlaubt, beispielsweise: open http://www.apple.com/de/ oder open file://localhost/Volumes/Macintosh HD/MeinText.txt open file://localhost/Volumes/Macintosh HD/Applications/Utilities/ open file:///Users/hagbard/Documents/Desktop/MeinText.txt ===Anwendungen starten=== Application Bundles können z.b. mit einem Befehl wie folgt gestartet werden: open /Applications/TextEdit.app oder anhand ihres "Namens" unter dem sie bei den [[Launchd|Launch Services]] registriert sind. Im obigen Fall TextEdit genügt also auch das folgende Kommando: open -a TextEdit Dieser Wert steht innerhalb des Application Bundles in der Datei "info.plist". Außerdem kann ein Programm anhand des "Bundle Identifiers" gestartet werden, und zwar mit Hilfe der Option -b Dabei ist wiederum zu beachten, dass die englischen Bezeichnungen verwendet werden, also beispielsweise "Preview" statt "Vorschau" oder "Calculator" statt "Rechner". ===Dateien öffnen=== Tetdateien (.txt, .rtf, ...) können auch unter Angabe dr option "-e" direkt in TextEdit geöffnet werden: open -e ~/Desktop/MeinText.rtf oder wahlweise auch mit dem in den [[Launchd|Launch Services]] eingetragenen Standard-Texteditor: open -t ~/Desktop/MeinText.txt ===stdout im Texteditor anzeigen=== mit -f wird die Ausgabe von stdout umgelenkt und anschließend im Standard-Texteditor angezeigt: ls -l | open -f Die Inhalte werden dabei währenddessen in /tmp zwischengespeichert. Das Ende der auszugebenden Daten wird mit EOF (End of File) durch die Eingabe von <KB> CTRL + D</KB> gekennzeichnet, was z.B. bei Datenquellen wie der folgenden notwendig ist: tcpdump -i en0 tcp dst port 80 | open -f Die ganze Sache funktioniert jedoch nur für denjenigen Benutzer, der gerade angemeldet ist. Die Ausgabe eines mittels {{Man|sudo|sudo}} oder {{Man|su|su}} gestarteten Kommandos läuft ins Leere, da offensichtlich die Weitergabe der Daten zu TextEdit fehlschlägt. ==Weitere Informationen== * {{Man|open|manpage open}} 41fce8ac071f01ff9bd09ddd73e56adbc30c00cd MacOS absichern 0 190 954 953 2019-02-19T08:05:28Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]Auch wenn das Mac OS X einen sehr guten Ruf hinsichtlich Sicherheit genießt, ist es dennoch ratsam, sich einige Gedanken zu diesem Thema zu machen. Schließlich ist bei einer Standardinstallation noch reichlich Optimierungspotential vorhanden, zumal das Betriebssystem dafür bereits recht umfangreiche Möglichkeiten mitbringt. Zudem ist auch zu erwarten, dass bei zunehmender Verbreitung des Mac OS auch das Gefahrenpotential durch Schadsoftware zunehmen und die Sicherheit auch auf dem Mac ein wichtiges und nicht zu unterschätzendes Thema sein wird. Die Artikelreihe "Mac OS X absichern" widmet sich daher diesem Thema, von der Betriebssystemkonfiguration bis hin zu Tipps und Tricks für die tägliche Nutzung. Die thematische Aufteilung der Unterartikel sieht dabei wie folgt aus: ----- {{Contentbox|width=100%|content=[[Image:Finder icon macOS Yosemite.png|128px|right]]<big>'''Teil 1: [[Mac_OS_X_absichern_-_Betriebssystemkonfiguration|Betriebssystemkonfiguration]]'''</big> :&nbsp; :Dieser Teil widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen.}} {{Contentbox|width=100%|content=[[Image:Crystal Project Connect to network.png|128px|right]]<big>'''Teil 2: [[Mac_OS_X_absichern_-_Netzwerkkonfiguration|Netzwerkkonfiguration und Firewall]]'''</big> :&nbsp; :Dieser Teil der Artikelreihe widmet sich unter anderem der Netzwerkkonfiguration. Außerdem wird auf die Konfiguration der Mac OS X Firewall ({{Man|ipfw|ipfw}}, eigentlich ein Paketfilter) ebenso eingegangen wie aif die sichere Einrichtung der verschiedenen Serverdienste wie SSH ("entfernte Anmeldung"), httpd ("Personal Web Sharing") und AFP ("Personal File Sharing").}} {{Contentbox|width=100%|content=[[Image:Gnome-dialog-password.svg|128px|right]]<big>'''Teil 3: [[Mac_OS_X_absichern_-_Security-Anwendungen|Applikationen für die Systemsicherheit]]'''</big> :&nbsp; :In diesem Artikel geht es um die Nutzung und Konfiguration von Anwendungen für die Systemsicherheit. Das umfasst neben der laufenden System- und Anwendungsaktualisierung auch die Nutzung von Dritthersteller-Software. Auch wenn die Viren- und Wurmschwemme (noch) am Mac vorbeizieht, lohnt sich dennoch ein Blick auf die in diesem Bereich bereits verfügbare Software. }} {{Contentbox|width=100%|content=[[Image:Softies-icons-meter 256px.png|128px|right]]<big>'''Teil 4: [[Mac_OS_X_absichern_-_Sichere_Nutzung|Die alltägliche Nutzung]]'''</big> :&nbsp; :Hier sollen dem Anwender Hilfestellungen für die tägliche Arbeit am Mac gegeben werden. Gefahrenpotentiale werden aufgedeckt und bestimmte Verhaltensweisen für die sichere Nutzung beschrieben. Die dafür zu verwendenden Bordwerkzeuge des Betriebssystems werden dabei ebenso beschrieben wie wiederkehrende Aufgaben zur Bereinigung des Systems.}} {{Contentbox|width=100%|content=[[Image:Laptop icon.svg|128px|right]]<big>'''Teil 5: [[Mac_OS_X_absichern_-_Mobile_Nutzung|Sicher unterwegs - mobile Nutzung]]'''</big> :&nbsp; :In diesem Artikel geht es hauptsächlich um die mobile Nutzung, z.B. mit einem Notebook. Dabei sollen Möglichkeiten für Diebstahlsicherung und den Schutz der persönlichen Daten aufgezeigt werden, wofür auch zu diesem Zweck verfügbare Software vorgestellt wird.}} ----- Links zu Artikeln im Internet und anderen weiterführenden Informationen sind thematisch sortiert am Ende des jeweiligen Artikels im Abschnitt "Weitere Informationen" zu finden. Wünsche, Anregungen, Kritik und Fehlerhinweise sind wie immer willkommen und auf der Diskussionsseite des jeweiligen Artikels zu vermerken. Ich habe diese Artikelreihe begonnen, um einmal einen Gesamtüberblick über alle Möglichkeiten zu schaffen, die das Mac OS so in Sachen Security bietet. Ich werde mich nach und nach den einzelnen Artikel widmen, Themenvorschläge und Anregungen sind bitte so lange auf der Diskussionsseite dieses Artikels zu hinterlegen. __NOTOC__ 0d27f4cb3cf79674d0ed1a755b65db6eb6fb498b 955 954 2019-02-19T08:33:11Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]Auch wenn das Mac OS X einen sehr guten Ruf hinsichtlich Sicherheit genießt, ist es dennoch ratsam, sich einige Gedanken zu diesem Thema zu machen. Schließlich ist bei einer Standardinstallation noch reichlich Optimierungspotential vorhanden, zumal das Betriebssystem dafür bereits recht umfangreiche Möglichkeiten mitbringt. Zudem ist auch zu erwarten, dass bei zunehmender Verbreitung des Mac OS auch das Gefahrenpotential durch Schadsoftware zunehmen und die Sicherheit auch auf dem Mac ein wichtiges und nicht zu unterschätzendes Thema sein wird. Die Artikelreihe "Mac OS X absichern" widmet sich daher diesem Thema, von der Betriebssystemkonfiguration bis hin zu Tipps und Tricks für die tägliche Nutzung. Die thematische Aufteilung der Unterartikel sieht dabei wie folgt aus: ----- {{Contentbox|width=100%|content=[[Image:Finder icon macOS Yosemite.png|128px|right]]<big>'''Teil 1: [[Mac_OS_X_absichern_-_Betriebssystemkonfiguration|Betriebssystemkonfiguration]]'''</big> :&nbsp; :Dieser Teil widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen.}} {{Contentbox|width=100%|content=[[Image:Crystal Project Connect to network.png|128px|right]]<big>'''Teil 2: Netzwerkkonfiguration und Firewall'''</big> :&nbsp; :Dieser Teil der Artikelreihe widmet sich unter anderem der Netzwerkkonfiguration. Außerdem wird auf die Konfiguration der Mac OS X Firewall ({{Man|ipfw|ipfw}}, eigentlich ein Paketfilter) ebenso eingegangen wie aif die sichere Einrichtung der verschiedenen Serverdienste wie SSH ("entfernte Anmeldung"), httpd ("Personal Web Sharing") und AFP ("Personal File Sharing").}} {{Contentbox|width=100%|content=[[Image:Gnome-dialog-password.svg|128px|right]]<big>'''Teil 3: Applikationen für die Systemsicherheit'''</big> :&nbsp; :In diesem Artikel geht es um die Nutzung und Konfiguration von Anwendungen für die Systemsicherheit. Das umfasst neben der laufenden System- und Anwendungsaktualisierung auch die Nutzung von Dritthersteller-Software. Auch wenn die Viren- und Wurmschwemme (noch) am Mac vorbeizieht, lohnt sich dennoch ein Blick auf die in diesem Bereich bereits verfügbare Software. }} {{Contentbox|width=100%|content=[[Image:Softies-icons-meter 256px.png|128px|right]]<big>'''Teil 4: Die alltägliche Nutzung'''</big> :&nbsp; :Hier sollen dem Anwender Hilfestellungen für die tägliche Arbeit am Mac gegeben werden. Gefahrenpotentiale werden aufgedeckt und bestimmte Verhaltensweisen für die sichere Nutzung beschrieben. Die dafür zu verwendenden Bordwerkzeuge des Betriebssystems werden dabei ebenso beschrieben wie wiederkehrende Aufgaben zur Bereinigung des Systems.}} {{Contentbox|width=100%|content=[[Image:Laptop icon.svg|128px|right]]<big>'''Teil 5: Sicher unterwegs - mobile Nutzung'''</big> :&nbsp; :In diesem Artikel geht es hauptsächlich um die mobile Nutzung, z.B. mit einem Notebook. Dabei sollen Möglichkeiten für Diebstahlsicherung und den Schutz der persönlichen Daten aufgezeigt werden, wofür auch zu diesem Zweck verfügbare Software vorgestellt wird.}} ----- Links zu Artikeln im Internet und anderen weiterführenden Informationen sind thematisch sortiert am Ende des jeweiligen Artikels im Abschnitt "Weitere Informationen" zu finden. Wünsche, Anregungen, Kritik und Fehlerhinweise sind wie immer willkommen und auf der Diskussionsseite des jeweiligen Artikels zu vermerken. Ich habe diese Artikelreihe begonnen, um einmal einen Gesamtüberblick über alle Möglichkeiten zu schaffen, die das Mac OS so in Sachen Security bietet. Ich werde mich nach und nach den einzelnen Artikel widmen, Themenvorschläge und Anregungen sind bitte so lange auf der Diskussionsseite dieses Artikels zu hinterlegen. __NOTOC__ 5fc88d52e5a5b9d5b07d4a994e3cadc4d563b2fe Open Source Anwendungen 0 36 1574 2019-02-19T08:05:40Z Hagbard 2 wikitext text/x-wiki Dieser Artikel soll eine kleine Übersicht wichtiger und nützlicher OpenSource Produkte bieten. Die Programme sind dabei nach Rubriken sortiert, Bewertungen oder Kommentare sowie eine Erweiterung dieser Liste sind - wie immer - strengstens erwünscht ;-) (ersteres natürlich auf der zugehörigen Diskussionsseite). Die Liste soll keinesfalls vollständig und allumfassend sein, sondern vielmehr einen Überblick wirklich guter und brauchbarer Software bieten. {{Navigation_Open_Source_Anwendungen}} Kommandozeilenprogramme sind mit einem entsprechenden Symbol gekennzeichnet, ebenso wie besondere Voraussetzungen zur Ausführung - beispielsweise JAVA, [[X11]] oder Mono/GTK#. Alle hier gelisteten Programme sollten unter einer [[wikipedia:de:OpenSource|OpenSource-Lizenz]] im Sinne dieser [[wikipedia:de:Open_Source_Definition|Open Source Definition]] verfügbar sein. Falls keine genauen Lizenzinformationen verfügbar sind, sollte dies gekennzeichnet werden. Eine recht umfangreiche Übersicht der verschiedenen Lizenzen ist [[wikipedia:de:Open-Source-Lizenz|in der Wikipedia]] zu finden. ==Weitere Quellen für Open Source Software== * [http://www.freesmug.org/portableapps/ Portable OS X Apps] * [http://sourceforge.net/directory/os:mac/ SourceForge Software Directory] * [http://www.sourceforge.net/ sourceforge.net] * [http://www.freshmeat.net/ freshmeat.net] * [http://www.launchpad.net/ launchpad.net] (für [http://www.ubuntu.com Ubuntu] Pakete) * [http://code.google.com/mac Google Mac Developer Playground] * [http://www.osxgnu.org/ osxgnu.org] * [http://www.opensourcemac.de/ opensourcemac.de] * [http://www.opensourcemac.org/ opensourcemac.org] * [http://www.free-mac-software.com/ free-mac-software.com] * [http://www.webi.org/ webi.org] ==Legende== {| |-- | width=40px | [[Image:Crystal Project java.png|24px]] ||Programm ist in [[ADC:java/|JAVA]] implementiert und erfordert eine installierte JAVA-Runtime.<br />Diese Angabe ist nur zu Informationszwecken vorhanden, da JAVA bereits in Mac OS X enthalten ist. |-- | [[Image:X11.png|24px]] || Programm läuft in der [[X11]]-Umgebung, diese muss ggf. von der Mac OS X Installations-CD/-DVD nachinstalliert werden. X11 für Mac OS 10.3 (Panther) kann auch von der [http://apple.com/support/downloads/x11formacosx.html Apple Webseite] heruntergeladen werden, Installationspakete für neuere Mac OS X Versionen sind nur auf den Installationsmedien verfügbar. |-- | [[Image:Mono Project Logo.svg|24px]] || Installation von [[wikipedia:Mono_(software)|Mono und GTK#]] (Pakete gtk-sharp/gtp-sharp2 und libgdiplus) ist erforderlich |} 1d0e3dfce4ff93e8c93c4c390f454889b7bb8932 System Profiler 0 322 1632 2019-02-19T08:10:41Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]Der System Profiler bietet eine gute Übersicht aller wichtigen Hard- und Softwarekomponenten von Mac bzw. Mac OS X und bietet sich daher insbesondere bei Problemfällen als hilfreiches Werkzeug an. Die Auswertungen lassen sich auch als "Report" speichern, der Supportanfragen an Apple immer beigelegt werden sollte. ==Wichtige Funktionen== Im Folgenden werden die wichtigsten Funktionen kurz vorgestellt: ===Reports erstellen=== Für die Reports existieren 3 verschiedene Detailstufen, die im Menü "Darstellung" auswählbar sind: # Kurzprofil # Standardprofil # Vollständiges Profil ===Übersicht der Profile=== ''Stand: Mac OS X 10.4.7'' {| |-- bgcolor="#d6d6d6" ! width="150px" | Name || width="250px" | Beschreibung || colspan=3 | Ausgabeprofile |-- bgcolor="#e2e2e2" ! width="150px" | || width="250px" | || width ="90px" | Kurz || width ="90px" | Standard || width ="90px" | Vollständig |-- | colspan=5 bgcolor=#f2f2f2| '''Hardware''' |-- | ATA || || {{YES}} ||{{YES}} ||{{YES}} |-- | Audio (integriert)|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Bluetooth || ||{{YES}} ||{{YES}} ||{{YES}} |-- | Diagnose|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Drucker|| || ||{{YES}} ||{{YES}} |-- | Fibre Channel|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Firewire|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Grafik/Monitore|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Medium brennen|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | PC Cards|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | PCI-Cards|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Parallel-SCSI|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Serial-ATA|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Speicher|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Stromversorgung|| || ||{{YES}} ||{{YES}} |-- | USB|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | colspan=5 bgcolor=#f2f2f2| '''Netzwerk''' |-- | Airport Karte|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Firewall|| || ||{{YES}} ||{{YES}} |-- | Modems|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Umgebungen|| || ||{{YES}} ||{{YES}} |-- | Volumes|| || ||{{YES}} ||{{YES}} |-- | colspan=5 bgcolor=#f2f2f2| '''Software''' |-- | Erweiterungen|| || || ||{{YES}} |-- | Frameworks|| || || ||{{YES}} |-- | Programme|| || || ||{{YES}} |-- | Protokolldateien|| || || ||{{YES}} |-- | Schriften|| || || ||{{YES}} |-- | Startobjekte|| || || ||{{YES}} |-- | Systemeinstellungen|| || || ||{{YES}} |} Zusätzlich zu diesen Einträgen werden auf den Übersichtsseiten "Hardware", "Netzwerk" und "Software" die wichtigsten Informationen über das System zusammengefasst. Diese Übersichten sind in allen 3 Profilen verfügbar. ===Erkennen von möglichen Festplattenfehlern=== Anhand des [[wikipedia:de:Self-Monitoring,_Analysis_and_Reporting_Technology|SMART]] Status von Festplatten (auf der Seite "ATA") lässt sich ein eventueller Defekt frühzeitig erkennen, um rechtzeitig Datenverlusten vorzubeugen. ===Status von Notebook-Akkus ermitteln=== Auch über die Akkus von Notebooks lässt sich einiges in Erfahrung bringen, z.B. * Volle Ladekapazität (in mAh) * Verbleibende Kapazität (in mAh) * Stromverbrauch (in mA) * Spannung (in mV) * Anzahl der Zyklen ===Zustand der Festplatten ermitteln=== [[Image:System_Profiler_-_SMART-Status.png|right|thumb|100px|System Profiler: S.M.A.R.T. Status einer Festplatte]] Seit Mac OS X Version 10.3 kann anhand des [[wikipedia:de:Self-Monitoring,_Analysis_and_Reporting_Technology|SMART]]-Status kann ermittelt werden, in welchem Zustand sich eine Festplatte befindet, bzw. ob ein Datenverlust durch möglicherweise vorhandene Defekte droht. SMART (genauer: S.M.A.R.T.) ist dabei ein System für die Überwachung, Analyse und Statusgewinnung von Festplatten und wurde insbesondere von IBM und Seagate entwickelt, um durch das permanente Überwachen drohende Defekte frühzeitig erkennen zu können. Im System Profiler wird das Ergebnis dieser Überwachung in Form eines Eintrages auf der Seite "ATA" bei den einzelnen Festplatten angezeigt (siehe Abbildung rechts) Falls das Feld fehlen sollte, bedeutet das lediglich, dass die Festplatte diese Überwachungsmethode nicht unterstützt. Geräte von IBM/Hitachi, Seagate oder Toshiba (die auch üblicherweise in Macs verbaut werden) sollten unterstützten dies im Regelfall jedoch. Der System Profiler liefert jedoch nur eine einfache Aussage "ok" oder "nicht ok". Detailliertere Informationen können mit Hilfsprogrammen wie beispielsweise den [http://sourceforge.net/projects/smartmontools smartmontools] (Kommandozeilentools) oder dem [http://homepage.mac.com/julianmayer/ SMARTReporter] (Menü-App) ermittelt werden. ==Nutzung im Terminal== Auch im Terminal lassen sich diese Informationen auslesen, und zwar mit Hilfe des [[Dienstprogramme_und_ihre_Terminal-Äquivalente|entsprechenden Kommandozeilentools]] "system_profiler". Mehr Informationen zu dessen verwendung finden sich in der entsprechenden {{Man|system_profiler|Manpage}}. ===Liste der DataTypes=== Die auszugebenden Daten werden dabei anhand von "Datatypes" festgelegt, die einfach nach dem Kommando {{tt|system_profler}} angehängt werden. Die folgende Liste (Stand: Mac OS 10.4.7) lässt sich auch mit dem Kommando {{tt|system_profiler -listDataTypes}} ausgeben: <small> * SPHardwareDataType * SPNetworkDataType * SPSoftwareDataType * SPParallelATADataType * SPAudioDataType * SPBluetoothDataType * SPDiagnosticsDataType * SPDiscBurningDataType * SPFibreChannelDataType * SPFireWireDataType * SPDisplaysDataType * SPMemoryDataType * SPPCCardDataType * SPPCIDataType * SPParallelSCSIDataType * SPPowerDataType * SPPrintersDataType * SPSerialATADataType * SPUSBDataType * SPAirPortDataType * SPFirewallDataType * SPNetworkLocationDataType * SPModemDataType * SPNetworkVolumeDataType * SPApplicationsDataType * SPExtensionsDataType * SPFontsDataType * SPFrameworksDataType * SPLogsDataType * SPPrefPaneDataType * SPStartupItemDataType </small> ===Beispiel=== '''Ausgabe der Audio-Eigenschaften:''' system_profiler SPAudioDataType ergibt Audio (Built In): Built In Sound Card: CODEC: Texas Instruments TAS3004 Sample Rate: 44.1 KHz Number of Inputs: 1 Number of Outputs: 2 Devices: Input: Type: Internal Microphone Output: Type: Headphones Output: Type: Internal Speaker '''Informationen über CD/DVD Brenner auslesen''' system_profiler SPDiscBurningDataType ergibt: Disc Burning: MATSHITA CD-RW CW-8123: Firmware Revision: CA0T Interconnect: ATAPI Burn Support: Yes (Apple Shipped/Supported) Cache: 2048 KB Reads DVD: Yes CD-Write: -R, -RW Burn Underrun Protection CD: Yes Write Strategies: CD-TAO, CD-SAO, CD-Raw Media: No ==Weitere Informationen== * [[ADC:/testing/systemprofiler.html|kurzer ADC Artikel zur Nutzung]] des System Profiler * {{Man|system_profiler|Manpage zu system_profiler}} c5d60a42171f02d6bf12856421b881109136d482 Screenshots vom iPhone erstellen 0 318 1624 2019-02-19T08:13:29Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]]Um Screenshots des iPhone-Bildschirminhaltes zu erstellen, gibt es zwei Möglichkeiten: ==Xcode Organizer== [[Image:Xcode_icon.png|48px]] [[Image:Xcode_Organizer.png|thumb|Xcode Organizer]] Hierfür muss das iPhone als Entwicklergerät am Mac (bzw. in Xcode) angemeldet sein und im Xcode Organizer zur Verfügung stehen. Dieser ist über folgende Tastenkombination erreichbar:<KB>ctrl + cmd + o</KB> Dort wählt man das Gerät in der Navigation links aus und öffnet das Tab "Screenshots". Dort kann man dann Screenshots des iPhone-Bildschirminhaltes erstellen. Das hat den Vorteil, dass die Screenshots anschließend direkt auf dem Mac weiterverarbeitet werden können. [[Image:Info_Sign.svg|16px]] Diese Funktion ist (zumindest derzeit) im [http://www.apple.com/support/iphone/enterprise/ iPhone Konfigurationsprogramm] (Version 2.1) nicht verfügbar. ==Auf dem iPhone== [[Image:IPhone_XS_Max_Silver.svg|left|48px]] Seit iPhone OS 2.0 gibt es die Möglichkeit, direkt mit dem iPhone selber einen Screenshot zu erstellen. Dazu ist einfach der Home-Button gedrückt zu halten, während die Taste auf der Oberseite (zum Ein- und Ausschalten des Bildschirms) kurz gedrückt wird (funktioniert nicht im gesperrten Zustand). Es erscheint derselbe Effekt wie unter Mac OS X beim Erstellen eines Fotos mit PhotoBooth, das Bild landet anschließend bei den übrigen Alben in der Foto-Sammlung des iPhone. 26f5ab199092da7b0680475fd0159b04d60bee03 Spotlight 0 319 1626 2019-02-19T08:14:44Z Hagbard 2 /* PHP Dateien indizieren mit Spotlight */ wikitext text/x-wiki [[Category:OS]] ==Spotlight== Spotlight ist die neue, mit MacOS 10.4 (aka Tiger) eingeführe Suchengine ===Tastaturshortcuts=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" |-- bgcolor="#ffffff" | width="300px" | Spotlight-Suche starten || width="100px" | {{Key press|CMD|Space}} (konfigurierbar) |-- bgcolor="#ffffff" | Spotlight-Suche in neuem Fenster starten || {{Key press|CMD|Shift|Space}} |} '''Im Ergebnisfenster:''' {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" |-- bgcolor="#ffffff" | width="300px" | Top-Treffer direkt öffnen || width="100px" | {{Key press|CMD|Return}} |-- bgcolor="#ffffff" | Zum ersten Treffer der nächsten Kategorie wechseln || {{Key press|CMD|down}} |-- bgcolor="#ffffff" | Zum ersten Treffer der vorigen Kategorie wechseln || {{Key press|CMD|up}} |-- bgcolor="#ffffff" | Zum ersten Treffer der Liste wechseln || {{Key press|Ctrl|up}} |-- bgcolor="#ffffff" | Zum letzten Treffer der Liste wechseln || {{Key press|Ctrl|down}} |-- bgcolor="#ffffff" | Eintrag im Finder zeigen || {{Key press|CMD|click}} |-- bgcolor="#ffffff" | 1x: Suchefeld und -ergebnisse löschen<br />2x: das Ergebnisfenster schließen || {{Key press|Esc}} |} ===Suchoperatoren=== In den Spotlight Suchanfragen können Begriffe auch geklammert sowie andere [[wikipedia:de:Logischer_Operator|boolesche Operatoren]] verwendet werden: Außerdem kann durch Verwendung des Präfix "{{TT|art:}}" nach Dateityp gefiltert werden: {| |-- ! Name || Operator || Beispiel |-- | width="80px" | {{TT|AND}} || width="120px" | ''(Leerzeichen)'' || width="400px" | {{TT|begriff1 begriff2}} |-- | {{TT|NOT}} || (-) || {{TT|begriff1 (-begriff3)}} |-- | {{TT|OR}} || {{TT|<nowiki>|</nowiki>}} || {{TT|begriff1 <nowiki>|</nowiki> begriff4}} |-- | Dateityp || {{TT|art:}} || {{TT|art:programm}}<br /> {{TT|art:bild}}, {{TT|art:bilder}}<br /> {{TT|art:lesezeichen}}<br /> {{TT|art:mail}}, {{TT|art:email}}, {{TT|art:e-mail}}<br /> {{TT|art:film}}, {{TT|art:filme}}<br /> {{TT|art:schrift}}, {{TT|art:schriften}}<br /> {{TT|art:kontakt}}<br /> {{TT|art:musik}}<br /> {{TT|art:ordner}}<br /> {{TT|art:präsentation}}<br /> {{TT|art:einstellungen}}, {{TT|art:systemeinstellungen}}<br /> {{TT|art:ereignis}}<br /> {{TT|art:aufgabe}}<br /> |} ;Beispiele <nowiki>(Schinken|Salami) Pizza(-Aufschnitt)</nowiki> Der jeweilige Typ einer Datei ist dabei lokalisiert in der jeweilgen Systemsprache (I lässt sich dabei im [[:Category:Terminal|Terminal]] mit Hilfe des Kommandos {{TT|1={{Man|mdls|mdls}}}} herausfinden: <source lang="bash"> mdls | grep "^kMDItemKind"</source> ===Indizierung=== Spotlight indiziert die folgenden Verzeichnisse: /Library/PreferencePanes/ /System/Library/PreferencePanes/ /Developer/Applications/ /Developer/Examples/ Das Benutzerverzeichnis (Home) ~/ mit den Unterverzeichnissen Documents/ Movies/ Music/ Pictures/ Library/Metadata/ Library/Caches/Metadata/ Library/Mail/ Library/Caches/com.apple.AddressBook/Metadata/ Library/PreferencePanes/ unabhängig davon, ob das Homeverzeichnis lokal, mit filevault verschlüsselt oder per Netzwerkfreigabe eingebunden verwendet wird. Spotlight indiziert '''nicht''' die folgenden Systemverzeichnisse: /automout/ /bin/ /cores/ /dev/ /private/ /sbin/ /tmp/ /usr/ /var/ /Previous Systems/ <font color="#b2b2b2">(für ein bei der 10.4 Installation ggf. erstelltes Backup) </font> /Network/ ebenso werden bei den folgenden Verzeichnissen diejenigen darunterliegenden Strukturen nicht indiziert, die oben nicht explizit aufgeführt wurden: ~/Library/ <font color="#b2b2b2">(ausser die oben genannten Verzeichniss) </font> iPod_Control/ <font color="#b2b2b2">(in gemounteten iPods) </font> /System/ <font color="#b2b2b2">(ausser die oben genannten Verzeichniss) </font> /Library/ <font color="#b2b2b2">(ausser die oben genannten Verzeichniss) </font> /Developer/ <font color="#b2b2b2">(ausser die oben genannten Verzeichniss) </font> Um Ordner aus der Indizierung auszuschliessen benennt man diese in ".noindex" um. Als Beispiel: "MeinOrdner.noindex" Wir sind immernoch auf der Suche "/sw" aus der Indizierung auszuschliessen ohne diesen umzubennen ===PHP Dateien indizieren mit Spotlight=== [[Image:Spotlightpublicphp-script.png|Bearbeiten der info.plist mit dem Preferences Editor|thumb|right|200px]] terminal öffnen und mit open /Library/Spotlight/SourceCode.mdimporter/Contents/Info.plist den PropertyEditor öffnen, dort unter Root/CFBundleDocumentTypes/0/LSItemContentTypes ein neues Sibling anlegen. Der ''key 7'' wird automatisch vergeben und muss den folgenden Wert enthalten: public.php-script Abschliessend mit {{Man|mdimport|mdimport}} -r /Library/Spotlight/SourceCode.mdimporter den SpotlightServer dazu veranlassen das plugin neu einzulesen. === Mülleimer ausschliessen=== Für manche mag es von nutzen sein, dass auch der/die Mülleimer (~/Trash/) indiziert werden. Wer aber häufig den selben Namen verwendet für seine Notizen o.ä. und diese gleich benennt und dann wieder wegschmeisst, kann mit dieser Funktion wahrscheinlich nicht sehr viel anfangen. Deshalb empfiehlt es sich dann, den Mülleimer aus der Indizierung auszuschliessen. * Im Finder {{Key press|CMD|Shift|G}} * und im Eingabe Feld "Gehe zu:" dann ~/.Trash eingeben. * In den Spotlight-Einstallungen auf Privatsphäre klicken * Den Ordner Trash aus der Menuleiste im Finder auf die Privatsphäre ziehen ==Spotlight Tuning== ===Die Suche beschleunigen=== Die Spotlight Suche ist so gebaut, dass jeder Buchstabe eine neue Suchanfrage auslöst. Die Suche kann also spürbar beschleunigt werden, indem man einen Suchstring ausserhalb zusammenbaut und dann komplett in das Suchfenster kopiert. Noch besser ist, dann einfach mit {{Key press|Opt|Shift|F}} die Suche direkt starten. Noch besser geht das, wenn Quicksilver installiert ist:<br/> # Quicksilver starten # Mit {{Key press|.}} in die Texteingabe wechseln # Suchstring eingeben # Mit {{Key press|tab}} ins nächste Feld wechseln. # "Spotlight Suche" auswählen. (mit {{Key press|Ctrl|click}} lässt sich das dann auch als default für die Texteingabe wählen. ''Anm.: nur bei installiertem Spotlight-Plugin - [[User:Hagbard|hagbard]]'' Am schnellsten schliessen lässt sich das Ergebnis- und das Suchfenster durch zweimaliges drücken von {{Key press|Esc}} === Spotlight aus der Menubar entfernen === Im Moment gibt es keine Möglichkeit, die Spotlightlupe aus der Menubar zu entfernen, ohne die Funktionalität zu verlieren. ===Erweiterte Informationen=== In der Spotlight- Suche, kann durch drücken auf das "i" die erweiterten Informationen zu diesem Ergebnis angezeigt werden. Hält man beim klicken zusätzlich {{Key press|Opt}}, so werden die erweiterten Informationen aller der Gruppe angehörenden Elemente. Alternativ geht dies auch mit {{Key press|right}} sowie {{Key press|Opt|right}} === Spotlight und launcher utilities (Quicksilver, Butler, Launchbar) === Als Quicksilver Benutzer starte ich meine Anwendungen immer noch mit Quicksilver. Zuerst wollte ich komplett auf Spotlight wechseln, aber da ist Spotlight einfach zu träge. Deshalb hab ich also in den Spotlight-Einstellungen Anwendungen und Systemeinstellungen deaktiviert und in Quicksilver dafür Adressbuch, Mail etc. deaktiviert. ==Spotlight deaktivieren== Über das Terminal kann Spotlight (z.B. aus Performancegründen oder in einer virtuellen Maschine) komplett deaktiviert werden: ===Mac OS 10.4 / 10.5=== Folgende Zeilen sind im Terminal einzugeben um ... ... Spotlight vorübergehend zu deaktivieren: sudo launchctl unload /System/Library/LaunchDaemons/com.apple.metadata.mds.plist launchctl unload /System/Library/LaunchAgents/com.apple.Spotlight.plist sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.Spotlight.plist ... Spotlight permanent zu deaktivieren: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist launchctl unload /System/Library/LaunchAgents/com.apple.Spotlight.plist sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.Spotlight.plist ... Spotlight vorübergehend wieder zu aktivieren: sudo launchctl load /System/Library/LaunchDaemons/com.apple.metadata.mds.plist launchctl load /System/Library/LaunchAgents/com.apple.Spotlight.plist sudo launchctl load -w /System/Library/LaunchAgents/com.apple.Spotlight.plist ... Spotlight permanent wieder zu aktivieren: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist launchctl load /System/Library/LaunchAgents/com.apple.Spotlight.plist sudo launchctl load -w /System/Library/LaunchAgents/com.apple.Spotlight.plist siehe auch: * [http://tech.karbassi.com/2009/05/12/how-to-fully-disable-spotlight-in-leopard/ tech.karbassi.com] * [http://osxdaily.com/2007/03/22/how-to-completely-disable-spotlight/ osxdaily.com] ===Mac OS 10.5 Quickfix=== Diese beiden Dateien an einen anderen Ort verschieben: /System/Library/LaunchAgents/com.apple.Spotlight.plist /System/Library/LaunchDaemons/com.apple.metadata.mds.plist Nach einem Systemupdate ist dies ggf. zu wiederholen ===Mac OS 10.6=== Unter 10.6 ist über folgendes Kommando Spotlight zu (de-)aktivieren: sudo mdutil -a -i off sudo mdutil -a -i on ===Mac OS 10.7=== Folgende Zeilen sind im Terminal einzugeben um ... ... Spotlight vorübergehend zu deaktivieren: sudo launchctl unload /System/Library/LaunchDaemons/com.apple.metadata.mds.plist ... Spotlight permanent zu deaktivieren: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist ... Spotlight vorübergehend wieder zu aktivieren: sudo launchctl load /System/Library/LaunchDaemons/com.apple.metadata.mds.plist ... Spotlight permanent wieder zu aktivieren: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist == Spotlight-Index neu aufbauen == Dies hilft auch oftmals, wenn der Mac App Store Aktualisierungen von längst deinstallierten Programmen anzeigt, dazu sind im Terminal folgende Anweisungen nacheinander einzugeben: Spotlight-Indizierung deaktivieren: sudo mdutil -a -i off Spotlight-daemon beenden: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist Spotlight-daemon erneut laden: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist anschließend die Indizierung neu starten: sudo mdutil -a -i on Nun sollte der Index neu aufgebaut werden, was unter Umständen eine Weile dauern kann. ==Benutzung in der Shell== ===Spotlight Kommandozeilen-Tools=== <br /> {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" |---- bgcolor="#FFFFFF" | <font face="courier">[[Mdfind|mdfind]]</font> || Spotlight-Suche |---- bgcolor="#FFFFFF" | <font face="courier">{{Man|mdls|mdls}}</font> || Anzeige der Metadaten einer Datei im Index |---- bgcolor="#FFFFFF" | <font face="courier">{{Man|mdimport|mdimport}}</font> || Ordnerstrukturen in den Metadaten-Index aufnehmen (==indizieren) |---- bgcolor="#FFFFFF" | <font face="courier">{{Man|mdutil|mdutil}}</font> || Verwaltungstool für den Spotlight Metadaten-Index |---- bgcolor="#FFFFFF" | <font face="courier">[[Mdcheckschema|mdcheckschema]]</font> || Gültigkeit eines Importschemas für Spotlight überprüfen |} ===Beispiele=== Hier sollen in Zukunft ein paar Beispiele entstehen, die man immer mal wieder gut gebrauchen kann. '''Alle Audiodateien im Home anzeigen, sortieren und doppelte aussortieren:''' [[Mdfind|mdfind]] 'kMDItemMediaTypes == "Sound" ' -onlyin "/~" | sort -fd | uniq {{Key press|return}} ==Anmerkungen zu Spotlight== ===Spotlight in Multi-Boot Systemen=== Bei Multi-Boot Systemen (also Systemen mit mehreren MacOS Installationen) ist recht nervig, dass Spotlight die von der Indizierung ausgeschlossenen Ordner und Volumes (Systemeinstellungen > Spotlight) nicht für jede Installation getrennt speichert sondern scheinbar direkt im Index. Das hat zur Folge, das entwder Spotlight nicht funktioniert oder immer alle Installationen im Index sind, was insbesondere bei verschiedenen MacOS Versionen zu Komplikationen führen kann. Ideen zur Abhilfe sind willkommen. ==Weitere Informationen== * osXdaily: [http://osxdaily.com/2007/02/15/spotlight-wont-work-fix-a-broken-spotlight-menu-with-these-troubleshooting-tips/ Fix a broken Spotlight menu with these troubleshooting tips] * osXdaily: [http://osxdaily.com/2009/09/20/disable-spotlight-in-mac-os-x-10-6-snow-leopard/ Disable Spotlight in Mac OS X 10.6 Snow Leopard] * osXdaily: [http://osxdaily.com/2007/03/22/how-to-completely-disable-spotlight/ How to completely disable Spotlight] ===Spotlight Plugins=== * Apple Downloads: [http://www.apple.com/downloads/macosx/spotlight/ Spotlight Plugins] (MD-Importer) * [http://code.google.com/p/google-toolbox-for-mac/downloads/list Xcode Plugin]: Spotlight importer für AppleScript, Xcode Projekte und Interface Builder Dateien (NIB, XIB) ===Grundlagen=== * Eine sehr gute Einfüghrung in die Funktionsweise von Spotlight ist in der [http://www.heise.de/ix iX] erschienen (Ausgabe 05/2006, Seite 150). * Apple: [[ADC:macosx/spotlight.html|Working with Spotlight]] (Übersicht) * Apple: [[ADC:documentation/Carbon/Conceptual/MetadataIntro/index.html|Introduction to Spotlight]] * Apfelwiki: [http://www.apfelwiki.de/Main/Spotlight Spotlight Tipps & Tricks] * [http://www.macdevcenter.com O'Reilly MacDevCenter]: ** [http://www.macdevcenter.com/pub/a/mac/2005/05/24/spotlight.html A Closer Look at Spotlight] ** [http://www.macdevcenter.com/pub/a/mac/2006/01/04/mdfind.html The Power of mdfind] (incl. einigen Beispielen) * Macworld: [http://www.macworld.com/weblogs/macosxhints/2006/03/photolight/index.php?lsrc=mwrss Using Photo Metadata] ===Entwicklung=== * Apple: ** [[ADC:documentation/Carbon/Conceptual/SpotlightQuery/index.html|Introduction to Spotlight Query Progamming Guide]] ** [[ADC:documentation/Carbon/Reference/MetadataAttributesRef/index.html |Spotlight Metadata Attributes Reference]] ([[ADC:documentation/Carbon/Reference/MetadataAttributesRef/MetadataAttributesRef.pdf|PDF]]) ** [[ADC:documentation/Carbon/Conceptual/MDImporters/index.html|Spotlight Importer Programming Guide]] ** [[ADC:samplecode/Spotlight/Spotlight.html|Codebeispiele zur Entwickler-Dokumentation]] * [http://www.macdevcenter.com O'Reilly MacDevCenter]: ** [http://www.macdevcenter.com/pub/a/mac/2005/07/12/spotlight.html Programming with Spotlight] ** [http://www.macdevcenter.com/pub/a/mac/2005/07/15/spotlight.html Creating Spotlight Plugins] ===Tools und Hilfsmittel=== * [http://toxicsoftware.com/blog/index.php/weblog/mdfind2/ mdfind2]: mdfind-Ersatz mit XML-Ausgabe der Suchergebnisse ===Manpages=== * {{Man|mdfind|mdfind}} * {{Man|mdls|mdls}} * {{Man|mdimport|mdimport}} * {{Man|mdutil|mdutil}} * {{Man|mdcheckschema|mdcheckschema}} db5cecbd2aa616e6fabde046d5f921218a47afcc Open Source Anwendungen/Multimedia 0 297 1582 2019-02-19T08:17:05Z Hagbard 2 /* Multimedia */ wikitext text/x-wiki __NOTOC__ {{Navigation_Open_Source_Anwendungen}} ==Multimedia== {{SoftwareTable |TITLE=Player |ENTRIES= {{SoftwareTableEntry |NAME=VLC media player |ICON=VLC Icon.svg |URL=http://www.videolan.org |DESCRIPTION=Freier, plattformübergreifender Multiformat-Player mit Unterstützung von Netzwerkstreaming |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=MPlayer |ICON=Mplayer.png |URL=http://www.mplayerhq.hu |DESCRIPTION=Freier, plattformübergreifender und sehr kompatker Multiformat-Player. Per se nur für die Kommandozeile (ohne graphische Oberfläche) existieren für Mac OS X mehrere graphische Umgebungen, z.B.: * [http://mplayerx.org/ MPlayerX] * <del>[http://mplayerosx.sttz.ch/ MPlayer OSX Extended]</del> (letzte Version: r14, Jan. 2011) * <del>[http://mplayerosx.sourceforge.net/ MPlayerOSX]</del> (aktuellste Version vom 20.5.2005) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} {{SoftwareTableEntry |NAME=niceplayer |ICON=NicePlayer.png |URL=http://code.google.com/p/niceplayer/ |DESCRIPTION=Mediaplayer für Mac OS X ("fullscreen, borderless multi-engine player") |DEPS= |LICENSE=[[wikipedia:de:Mozilla_Public_License|MPL 1.1]] }} {{SoftwareTableEntry |NAME=Fullscreen Movie Player |URL=http://www.monkeybreadsoftware.de/Freeware/FullscreenMoviePlayer.shtml |DESCRIPTION=Fullscreen Playback für non-Pro-QuickTime (für MacOS 8, Mac OS X und Windows) |DEPS= |LICENSE= }} {{SoftwareTableEntry |NAME=<del>Perian</del> |ICON=Perian icon.png |URL=http://perian.org/ |DESCRIPTION=<del>Codec-Paket für eine Vielzahl verschiedener Formate (außer MPEG 2)</del> wird leider nicht mehr weiterentwickelt |DEPS= |LICENSE=[[wikipedia:de:GNU_Lesser_General_Public_License|LGPLv2]] }} }} {{SoftwareTable |TITLE=TV und Mediacenter |ENTRIES= {{SoftwareTableEntry |NAME=TV-Browser |ICON=TV-Browser.svg |URL=http://www.tvbrowser.org/ |DESCRIPTION=Umfassender, funktionsreicher und erweiterbarer Browser für das Fernsehprogramm |DEPS=[[Image:Crystal Project java.png|32px]]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Plex Media Center |ICON=Plex vector logo.svg |URL=http://www.plexapp.com/ |DESCRIPTION=Auf [[wikipedia:de:XBMC_Media_Center|XMBC]] basierende Media Center Lösung |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} }} {{SoftwareTable |TITLE=Videobearbeitung |ENTRIES= {{SoftwareTableEntry |NAME=Avidemux |ICON=Avidemux-logo.png |URL=http://avidemux.sourceforge.net/ |DESCRIPTION="... is a free video editor designed for simple cutting, filtering and encoding tasks" (plattformübergreifend, Tipp: die QT-Variante läuft unter Mac OS X offenbar deutlich stabiler) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=ProjectX |URL=http://www.lucike.info/ |DESCRIPTION=Nachbearbeitung (Demuxen und Schneiden) von DVB-Aufnahmen, weitere Infos gibts auch [http://wiki.tuxbox.org/ProjectX hier] |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE= }} {{SoftwareTableEntry |NAME=DVDStyler |ICON=DVDStyler.png |URL=http://www.dvdstyler.org/ |DESCRIPTION=DVD-Authoring für Mac OS X, Windows und Linux |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Audiobearbeitung |ENTRIES= {{SoftwareTableEntry |NAME=Audacity |ICON=Audacity.svg |URL=http://audacity.sourceforge.net |DESCRIPTION=Audiobearbeitung (mit [[wikipedia:de:Virtual_Studio_Technology|VST]] Plugin-Schnittstelle), weitere Downloads (z.B. Codecs oder den VST-Enabler) gibts [http://audacity.sourceforge.net auf der Projektseite.] |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} c3f02d8af4b43ed2e02231239a73b713e20d5d61 Systemwartungstools 0 324 1636 2019-02-19T08:17:07Z Hagbard 2 /* Sandbox */ wikitext text/x-wiki [[Category:OS]] ==Bordmittel von MacOS X== Die folgenden Programme sind im Betriebssystem enthalten: * Festplatten-Dienstprogramm (Disk Utility) * [[System Profiler]] * Aktivitätsanzeige (Activity Monitor) * Konsole (Console, Logfile-Browser) * diverse [[Dienstprogramme und ihre Terminal-Äquivalente|Werkzeuge]] für das {{Terminal}} ==OpenSource / Freeware Tools== === [http://applejack.sourceforge.net/ AppleJack] === {{Important|'''Achtung:''' AppleJack 1.5.x ist '''NICHT''' mit Mac OS X Version 10.6 (Snow Leopard) kompatibel!}} AppleJack ist ein Systemwartungstool für das Terminal. Es ist dazu gedacht, unrerfahreneren Benutzern im Single-User-Modus Hilfestellungen zu geben, um dort Reparaturen durchzuführen. Per Textmenü können Filesystemreparaturen, Dateiberechtigungen repariert sowie Caches bereinigt, Preferences überprüft und Auslagerungsdateien entfernt werden. Das Programm ist Open Source (Donationware) und damit kostenlos verwendbar. Nach der Installation ist es folgendermassen aufrufbar: # Den Rechner neu starten # Beim Start die Tasten <KB>cmd + s</KB> gedrückt halten (siehe [[BootKeyCombos]]) # Sich als Administrator anmelden Danach sind folgende Optionen verfügbar: {| style="border-spacing:0px; padding:0px; margin-left:24px" |-- | width="200px"| {{TT|applejack}} || für manuelle Korrekturen |-- | {{TT|applejack auto}} || für eine vollautomatische Korrektur |-- | {{TT|applejack auto restart}} || für eine vollautomatische Korrektur mit anschliessendem Neustart des Rechners |} ===[http://www.mikey-san.net/sandbox/ Sandbox]=== [[Image:Sandbox_Screenshot.png|thumb|right|Screenshot von Sandbox 2, Quelle: [http://www.mikey-san.net/ www.mikey-san.net]]]ist ein einfaches Hilfsprogramm mit einer graphischen Oberfläche für die Bearbeitung der Access Control Lists (ACL, seit Mac OS 10.4). Mehr Informationen dazu sind [http://www.mikey-san.net/sandbox/documentation/ auf der Webseite] verfügbar. === Weitere Programme === * [http://www.titanium.free.fr/english.html Onyx] * [http://www.jimmitchelldesigns.com/software.html YASU] * [http://www.bresink.de/osx/TinkerTool.html TinkerTool] ==Kommerzielle Tools== * [http://www.koingosw.com/products/macpilot.php MacPilot]: siehe kurze [http://www.macnews.de/news/72104 Beschreibung] bei [http://www.macnews.de macnews.de] * Cocktail * [http://www.alsoft.com/DiskWarrior/index.html DiskWarrior] ==Siehe auch== * [[Open_Source_Anwendungen/Systemwerkzeuge|Open Source Anwendungen - Systemwerkzeuge]] * [[Dienstprogramme und ihre Terminal-Äquivalente]] * [[:Category:Terminal|Artikelkategorie "Terminal"]] * [[Hdiutil|hdiutil]] a347a42f37f9346b4191546d1aa3bb2cb5a77563 Windows-Programme auf dem Mac ausführen 0 334 1656 2019-02-19T08:17:49Z Hagbard 2 /* Intel-basierte Macs */ wikitext text/x-wiki [[Category:Windows]][[Image:Windows logo 2012-Black.svg|right|128px]]Dieser Artikel soll zunächst eine kleine Übersicht der Möglichkeiten verschaffen, wie man Windows-Programme auf dem Mac theoretisch ausführen kann/könnte. Erfahrungsberichte sollten dann in jeweils eigenen Artikeln veröffentlicht werden, die an dieser Stelle verlinkt werden sollen. Auf Intel-Macs existieren durch die identische Prozessor-Plattform naturgemäß mehr Möglichkeiten als auf PPC-Macs, daher werden die beiden Plattformen getrennt behandelt: ==Intel-basierte Macs== '''Wine-basierte Lösungen:''' :Projekte wie beispielsweise das [http://www.winehq.org Wine Projekt] und die verschiedenen, darauf aufbauenden Lösungen wie [http://www.codeweavers.com/ CrossOver], bilden die Laufzeitumgebung von Windows nach, ohne auf eine Installation von Windows selber angewiesen zu sein. Das [http://darwine.opendarwin.org/ Darwine Project] hat sich dabei zum Ziel gesetzt, Wine auf den Mac zu portieren. Windows Programme lassen sich hier direkt unter Mac OS X im Fenster ausführen, ohne den Rechner neu starten zu müssen. Darwine selber wurde mittlerweile in das Wine-Hauptprojekt integriert und wird daher als eigenständiges Projekt nicht mehr fortgeführt. :Mit [http://winebottler.kronenberg.org/ WineBottler] steht dazu eine sehr komfortablere Umgebung zur Verfügung (betr. vor Allem die noch zu installierenden Windows-Systemkomponenten), für einzelne Windows-Programme eine komplette Wine-Umgebung zu erstellen. Das Ergebnis ist ein .app Bundle, das sich wie eine gewöhnliche Mac-Anwendung starten und handhaben lässt. '''Dual-Boot Lösungen:''' :... wie beispielsweise [http://www.apple.com/de/macosx/bootcamp/ BootCamp] ermöglichen eine Installation von Windows parallel zur Mac OS X Installation. Dür die Ausführung von Windows-Anwendungen ist also ein Neustart des Rechners notwendig. '''Virtualisierung:''' :Hier wird - ähnlich wie bei einer Emulation - das Betriebssystem in einer gekapselten Laufzeitumgebung installiert und unter Mac OS X ausgeführt. Dabei findet zunächst keinerlei Integration statt, d.h. der Datenaustausch zwischen den beiden Betriebssystemen ist nicht möglich und muss beispielsweise über das Netzwerk erfolgen oder von der jeweiligen Software bereitgestellt werden. [http://www.parallels.com Parallels] ist beispielsweise eine solche Lösung. '''Emulatoren:''' :... machen durch den mit der Hardware-Emulation verbundenen Geschwindigkeitsverlust in diesem Szenario eigentlich kaum mehr einen Sinn, diese Möglichkeit besteht dennoch weiterhin. '''Nachbildung der .NET API:''' :Das [http://www.mono-project.com Mono Project] hat sich zum Ziel gesetzt, durch Nachbildung des Microsoft [[wikipedia:de:.NET|.NET]] Frameworks diese Anwendungen plattformübergreifend einzusetzen. Mono gibt es auch in einer [http://www.mono-project.com/Mono:OSX Mac OS X Variante] mit dem Ziel, verschiedene .NET Programme direkt und nativ unter Mac OS X ausführen zu können. ==PPC-Macs== '''Emulatoren:''' :Die einzige Methode für PPC-Macs ist die [[Emulatoren|Emulation]] eines vollständigen PC, d.h. die softwaremäßige Nachbildung eines PC durch eine Emulationssoftware. Eine Liste verschiedener auf dem Markt verfügbarer Produkte (sowohl kostenlos als auch kommerziell) ist im Artikel über [[Emulatoren]] zu finden. ==Siehe Auch== * Artikel über [[Emulatoren]] * [[Open_Source_Anwendungen/Systemwerkzeuge#Emulatoren_.26_Virtualisierung|Open Source Anwendungen - Systemwerkzeuge]] - Abschnitt "Emulatoren & Virtualisierung" * Apple Knowledge Base: [http://support.apple.com/kb/HT1846 Boot Camp: Macs that work with 64-bit editions of Microsoft Windows] * [http://chipcollection.com/tutorials/tutorial-installing-windows-on-partitioned-mac-without-bootcamp/ Tutorial: Installing Windows On Partitioned Mac Without Bootcamp] (chipcollection.com) 7d85a558cf07f4f254a493d3fa0247c3f32ab9b4 Ethernet 0 69 277 2019-02-19T08:25:23Z Hagbard 2 /* VLAN */ wikitext text/x-wiki [[Category:Network]] ==Ethernet== Ethernet stellt eine verbindungslose Kommunikation dar, da zwischen zwei Kommunikationspartnern keine dedizierte Verbindung aufgebaut wird sondern die Pakete (mindestens 1500 Byte groß) mit Adressinformationen versehen über einen Bus geschickt werden (wurde von Xerox entwickelt). Ethernet verwendet dabei das CSMA/CD (Carrier Sense Multiple Access/Collision Detection) Verfahren, um bestimmte Zugriffsverfahren auf diesen Bus zu vereinbaren. Es bedeutet, dass nur einer gleichzeitig auf den Bus zugreifen kann. Wenn dies mehrere Teilnehmer gleichzeitig versuchen (Collision), warten diese eine unterschiedliche Zeit lang aufeinander und versuchen es dann erneut (Collision Detection). Dieser Zeitraum wird nach jeder Collision länger. Eine Collision Rate von 10% ist dabei grenzwertig und bedeutet eine Vollauslastung des Netzwerks. '''Vorteile:''' * Statisches Zugriffsverfahren * Einfache Handhabung (Verkabelung, Technik – 50&#937; Koax-Kabel) * bei 50&#937; Koax-Kabel: maximal 150m Leitungslänge * bei 75&#937; Koax-Kabel: maximal 500m Leitungslänge '''Nachteile:''' * keine Kollisionsvorbeugung, nur Kollisionserkennung (CSMACD) * dadurch relativ undeterministisches Verhalten * nur sehr kurze Strecken können ohne Repeater / Verstärker überbrückt werden ===Verschiedene Formen des Ethernet=== * Thin (Wire) Ethernet - 10Base2 (Bus, Koaxialkabel) * Thick Ethernet - 10Base5 (Bus, Koaxialkabel) * 10BaseT (Stern, TP/LWL) * Fast-Ethernet - 100Base* (Stern, TP) * Gigabit-Ethernet - 1000Base* (Stern, TP/LWL) * 10 Gigabit-Ethernet - 1000Base* (Stern, TP/LWL) ''Mehr dazu im Ethernet-Artikel der [http://de.wikipedia.org/wiki/Ethernet Wikipedia]'' ===100BaseVG=== Der Standard [[wikipedia:100BaseVG|100BaseVG]] ([[wikipedia:de:IEEE_802.12|IEEE 802.12]], VG steht für "Voice Grade") wurde (in erster Linie von Hewlett-Packard) als zukünftiger Nachfolger des Ethernet entwickelt, um über Kategorie 3 Kabel sowohl Token Ring als auch Ethernet Teilnehmer zu verbinden. Diese Netzwerkkarten können nicht direkt an einen handelsüblichen 100BaseT [[#Ethernet_Repeating|Hub]] oder [[#Ethernet_Switching|Switch]] angeschlossen werden, da hier keine [[#Kollisionserkennung|Kollisionserkennung]] mittels [[wikipedia:de:CSMA/CD|CSMA/CD]] zum Einsatz kommt sondern ein Zugriffsverfahren namens "demand priority polling" - in erster Linie, um ein deterministischeres Verfahren für den Netzwerkzugriff zu verwenden und damit andauernde Kollisionen zu verhindern. Ein solcher Adapter ist beispielsweise der [http://h41111.www4.hp.com/procurve/includes/faqs/index.php?cc=de&lc=de&content=lan_adapters#question3 J2585A von Hewlett Packard], der 2 RJ45-Buchsen besitzt: eine für 10BaseT und eine für 100BaseVG. ==Ethernet-Paketheader== Ein Ethernet-Paket besteht aus 7 möglichen Feldern und sieht in etwa so aus: [[Image:EthernetPacketHeader.png|thumb|center|667px|Schematischer Aufbau eines Ethernet-Paketheaders (802.3 mit 802.1q Tag)]] Die einzelnen Felder beinhalten dabei die folgenden Informationen: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="120px" | Feld || width="500px" | Beschreibung |---- bgcolor="#FFFFFF" | Präambel: || sie dient der Synchronisierung von Netzwerkteilnehmern und besteht aus einer alternierenden Bitfolge aus 1 und 0 |---- bgcolor="#FFFFFF" | SFD: || -?- |---- bgcolor="#FFFFFF" | MAC-Adressen: || Die MAC-Adressen (Quelle/Sender und Ziel/Empfänger) stellen eine eindeutige Kennzeichnung für die Teilnehmer eines Ethernet dar und werden durch den Hersteller fest vorgegeben (die ersten 3 Byte beschreiben den Hersteller, z.B.: <font face="courier">00:0d:93</font> für Apple Computer). Sie sind 6 Byte lang und werden üblicherweise in hexadezimaler Schreibweise dargestellt.<br />Die Zieladresse kann dabei auch eine Multicast- oder Broadcast-Adresse sein <br /><small>''(mehr dazu im [http://de.wikipedia.org/wiki/MAC-Adresse Wikipedia-Artikel]])''</small> |---- bgcolor="#FFFFFF" | VLAN-Tag: || ... |---- bgcolor="#FFFFFF" | Typ: || hier steht eine ID, die das in der darüberliegenden Schicht verwendete Protokoll kennzeichnet, z.B.:<br />&bull;<font face="courier">0x0800</font> für IPv4<br />&bull;<font face="courier">0x86dd</font> für IPv6<br />&bull;<font face="courier">0x809b</font> für Appletalk<br /> |---- bgcolor="#FFFFFF" | Daten: || Der Umfang der Nutzdaten liegt zwischen 0 und 1500 Byte. Falls die Datenmenge kleiner als 46 Byte ist, muss ein 46 Byte langes PAD-Feld angehängt werden um die Korrektheit des Pakets zu gewährleisten, da ein Ethernet-Frame eine Mindestgröße von 64 Byte haben muss |---- bgcolor="#FFFFFF" | Pad-Füllfeld: || 0 bis 46 Byte lang, wird ggf. angehängt, falls das Datenfeld weniger als 46 Byte Nutzdaten enthält |---- bgcolor="#FFFFFF" | CRC Prüfsumme: || enthält eine 32 Bit CRC-Prüfsumme ([http://de.wikipedia.org/wiki/Cyclic_Redundancy_Check Cyclic Redundancy Check]) über die gesamte Bitfolge des Pakets (außer dem Prüfsummenfeld selber, logisch). Wenn die Überprüfung fehlschlägt, wird das Paket vom Empfänger verworfen |} ==Ethernet Repeating== Durch die begrenzten Kabellängen bei Ethernet ist es zur Überbrückung größerer Distanzen notwendig, das Signal zu verstärken. Dies geschieht auf dem [[ISO-OSI_Schichtenmodell#Physical_Layer|Physical Layer]] des ISO-OSI Schichtenmodells (daher auch als Layer 1 Switching bezeichnet) mit Repeatern oder sog. ''Hubs''. Das Signal wird lediglich physikalisch verstärkt und gegebenenfalls auf mehrere Anschlüsse verteilt (vervielfältigt), daher muss der Repeater dafür kein Protokoll kennen und ist daher technisch gesehen sehr einfach aufgebaut. Bei der Verstärkung benötigt der Repeater jedoch Zeit zur Synchronisation - dazu werden am Anfang jedes Ethernet-Paketes 2 Bit von der Präambel abgeschnitten, die der Repeater wieder hinten an das Paket anfügt. Die 2 Byte braucht der Repeater jedoch für die Synchronisation und zur Erkennung des Paketendes. Dabei erkennt er das letzte vollständige Byte als Paketende an. Nach mehr als 4 Repeatern ist also am Ende des Paketes mehr als ein komplettes Byte zufällig generierter Daten (also keine Nutzdaten) angehängt worden. Das Paket wird also für ungültig erklärt und verworfen. Zusätzlich ist noch die Laufzeit des Paketes beschränkt, um die Funktion der Collision Detection zu gewährleisten. ===Kaskadierung von Hubs=== [[Image:EthernetHub.png|Schematischer Aufbau eines 4-Port Ethernet Hubs|thumb|right|200px]]Aus diesem Grunde ergibt sich eine maximale Anzahl von 4 Repeatern (=Verstärkungsstufen) hintereinander (= in Reihe). In der Praxis ergibt sich also eine empfehlenswerte Anzahl von 3 Verstärkern in Reihe. Die einfachste Form eines Repeaters ist ein Ethernet-Hub. Hierbei gilt ebenso, daß maximal 4 Hubs in Reihe geschaltet werden dürfen, daher ist auch hier die (physikalische) Größe bzw. Ausdehnung des Netzwerkes noch sehr eingeschränkt (4x150m = 600m bei 50&#937; Koax-Kabel). Damit sind die Möglichkeiten auf dem Layer 1 (Physical Layer) voll ausgereizt. Hierbei ergibt sich auch der Nachteil, daß die Netzwerkgeschwindigkeiten überall gleich sein muss, lediglich die Verkabelungsart auf der Signalebene kann unterschiedlich sein (TP, Koax oder Optisch, auch ein großer Nachteil bzgl. der Lastverteilung). Eine weitere Vergrößerung der Netzwerkausdehnung ist nur auf höheren Layern des OSI-Schichtenmodells möglich (ab [[ISO-OSI_Schichtenmodell#Data_Link_Layer|Layer 2]] aufwärts), hier geschieht keine physikalische Betrachtung des Signals mehr sondern eine Betrachtung auf Protokollebene, d.h. das eingesetzte Gerät muss die verwendeten Protokolle kennen und verstehen, um arbeiten zu können. Ein Hub bzw. Repeater repräsentiert genau eine Kollisionsdomäne, womit nur ein Teilnehmer gleichzeitig auf den Bus zugreifen kann. ===Netzwerksniffer=== Ein weiterer Nachteil ist, dass der Netzwerkverkehr an einem Hub nur vervielfältigt wird. Somit muss der Teilnehmer diejenigen Pakete herausfiltern, die an für ihn bestimmt sind. Dies erfolgt automatisch über den Netzwerkstack des Betriebssystems, mit einem Netzwerksniffer (wie z.B. [http://www.tcpdump.org tcpdump], [http://ettercap.sourceforge.net/ ettercap] oder [http://personalpages.tds.net/~brian_hill/macsniffer.html MacSniffer]) jedoch kann das Interface in den sog. ''promiscous mode'' versetzt werdne, in dem das Interface alle Pakete entgegennimmt. Somit kann ein Netzwerkteilnehmer den gesamten über den Hub laufenden Verkehr sehr einfach abhören und gegenenfalls auch verändern. ==Ethernet Switching== {| align="right" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#ffffff; border:1px dotted #e3e3e3; align:right;" |- | [[Image:EthernetBridge.png|center|thumb|200px|Schematische Darstellung einer Ethernet Bridge in einem Bussystem]] |- | [[Image:EthernetBridgeNet.png|center|thumb|200px|Schematische Darstellung einer Ethernet Bridge zwischen zwei Netzwerken]] |} Das Ethernet Switching erfolgt auf dem [[ISO-OSI_Schichtenmodell#Data_Link_Layer|Data Link Layer]], wobei zwischen ''Bridging'' und ''Switching'' unterschieden werden kann. Eine Ethernet-Bridge ist dabei der einfachste Fall eines Switches mit genau 2 Anschlüssen. Ein Switch kann also auch als Erweiterung einer Bridge beschrieben werden. ===Warum Switching?=== Ethernet Switches werden hauptsächlich aus den folgenden Gründen eingesetzt: * Vergrößerung des Netzwerkes: theoretisch sind beliebig viele Stationen und Switches in einer Reihe möglich und somit beliebige Ausdehnung von Netzwerken * Trennung der Kollisionsdomäne (jeder Port eines Switches hat eine eigene Kollisionsdomäne) * Geschwindigkeitsanpassung der verschiedenen an den Switch angeschlossenen Teilnetzwerke (ein Switch kann z.B. zwischen 10MBit und 100MBit Teilnetzen bridgen) * Vermischen verschiedener Netzwerktechniken bzw. –topologien (z.B. Token Ring und Ethernet). Problem: Die interne Darstellung der MAC-Adresse erfolgt bei diesen beiden Techniken in einer anderen Bitordnung. * ARP-Spoofing wird schwieriger, abhängig vom verwendeten Switch / Protokoll. Mit Hilfe von ARP kann der Traffic zwar abgehört und umgeleitet werden, dazu ist aber eine Man-in-the-Middle Attacke nötig mit Propagierung falscher MAC-Adressen. Einfache Netzwerksniffer funktionieren nicht mehr, da sie auf den promiscous Mode angewiesen sind ===Funktionsweise eines Ethernet-Switches=== [[Image:EthernetSwitchConstruction.png|thumb|right|200px|Schematischer Aufbau eines Ethernet Switches]]Jeder Anschluss des Switches hat eine eigene Netzwerk- (MAC-) Adresse und eine eigene Kollisionsdomäne. Dies bedeutet, dass - wenn A und B kommunizieren - gleichzeitig auch die Stationen C und D miteinander kommunizieren können. Wenn nun beispielsweise aber die Stationen B und D mit A kommunizieren möchten, ist eine Zwischenspeicherung der Pakete im Switch notwendig. '''Beispiel:''' :10 Clients, 1 Server: :Wenn alle Rechner mit 10MBit arbeiten, ist kein Performancegewinn dadurch zu verzeichnen. Wenn der Server hingegen eine 100MBit Anbindung an das Netzwerk hat, schon. Für eine korrekte Verbindung und Kommunikation der Rechner muss der Switch eine Verbindungstabelle aufbauen. Direkt nach dem Einschalten ist diese noch leer, d.h. der Switch schickt ankommende Pakete an alle weiter (er verhält sich also wie ein Hub). Durch entsprechende Rückmeldungen der Clients erkennt der Switch die Rechner an den zugehörigen Ports und trägt die Adressen mit Port-Zuweisung in seine Tabelle ein (MAC-Adresse und Port-Nummer, meistens im zentralen Memory-Pool): {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="70px" | || width="150px" | A || width="150px" | B || width="150px" | C || width="150px" | D |---- bgcolor="#FFFFFF" | Port || 3 || 1 || 2 || 4 |---- bgcolor="#FFFFFF" | MAC || 00:0a:95:69:e2:a2 || || || |} Broadcast-Messages (Messages an die Broadcast-MAC-Adresse) werden weitergeleitet, das Paket muss aber für jeden Abschnitt dupliziert werden (Performanceverlust!). Der Nachteil gegenüber dem Hub oder direkter Verbindung ist ein Performanceverlust, dies gilt auch für Multicast-Protokolle ( wie z.B. NetBEUI, Appletalk, ... ). :''<small>Anm.: (IP-Multicast Adresse: 224.*.*.*, in Layer 2 auf Ethernet / MAC-Multicast abgebildet) </small>'' Wenn nur zwei Rechner angschlossen sind, kommunizieren diese über einen Hub schneller als über einen Switch (durch das größere Delay beim Switch durch die Zwischenspeicherung der Daten im Data Pool sowie die Entscheidungszeit, das gesuchte Ziel zu finden). Dies ist insbesondere bei Latenzempfindlichen Anwendungen von Bedeutung. ===Round-Trip Zeit eines Paketes=== Die Round-Trip-Zeit eines Paketes zwischen den Stationen A und B über einen Ethernet Switch kann wie folgt errechnet werden: [[Image:EthernetSwitchRTT.png|Round-Trip-Zeit eines Paketes durch einen Ethernet Switch|center|thumb|258px]] 1500 ist dabei die MTU ([http://de.wikipedia.org/wiki/Maximum_Transfer_Unit Maximum Transfer Unit], maximale unfragmentiert übertragbare Datenmenge) eines Ethernet-Pakets ===Packet Switching=== Das Switching in einem paketorientierten Netzwerk wie Ethernet läuft nach dem Modell des ''Packet Switching'' ab, bei dem die Größe der übertragenen Pakete unterschiedlich sein kann. Bei Ethernet existiert beispielsweise eine Obergrenze von 1500 Byte, eine feste Größe wie beispielsweise bei Cell-Relay Netzwerken wird dabei jedoch nicht vorgeschrieben. Beim Packet Switching kann zwischen zwei Vorgehensweisen unterschieden werden: * '''Cut-Through:''' Pakete werden direkt zum Ziel durchgeleitet, ohne Zwischenspeicherung in einem internen Cache-Speicher * '''Store-and-Forward:''' Verwendung eines internen Zwischenspeichers (Puffers) ====Cut-Through==== Die Pakete gehen direkt durch den Switch, ohne im sog. ''Data Pool'' (Pufferspeicher im Switch) zwischengespeichert zu werden. Aufgrund der MAC-Adresse (in den ersten 6 Byte des Pakets enthalten) kann der Switch direkt erkennen, wohin das Paket weitergeleitet werden soll. Dafür muss allerdings der Ausgang des Switches und die Leitung frei sein, es funktioniert auch nicht bei unterschiedlichen Netzwerkgeschwindigkeiten. '''Vorteile:''' * Geschwindigkeitsvorteil (kleine RTT) * geringe Latenz (Übertragungsverzögerung im Switch) '''Nachteile:''' * Keine Geschwindigkeitsanpassung und Bandbreitenumsetzung im Switch möglich (z.B. 10BaseT -> 100BaseT) * Geräte müssen immer sofort ansprechbar sein * Der Bus muss immer frei sein Daher wird dieses Verfahren kaum eingesetzt. ====Store-and-Forward==== Das meistens eingesetzte Verfahren verwendet ein Data Pool, um die Pakete im Switch zwischenzuspeichern. Dadurch ergibt sich zwar eine höhere Verzögerung bei der Weiterleitung, die Fehleranfälligkeit und Kollisionsgefahr ist hier jedoch wesentlich geringer, das Netzwerk arbeitet zuverlässiger. ===Weitere Arten des Switchings=== Es existieren weitere Arten des Switchings, abhängig von Layer-1 Protokoll und Netzwerktopologie. Die wichtigsten dabei sind * '''Cell-Switching:''' Packet-Switching mit fester Paketgröße (sog. ''Zellen'') * '''Circuit-Switching:''' Switching von Verbindungsorientierten Protokollen (z.B. [[ISDN]]) ====Cell-Switching==== Dieses Verfahren wird in Cell-Relay Netzwerken wie beispielsweise ATM oder B-ISDN verwendet. Mehr zu Cell-Relay Netzwerken in den Artikeln * [[ISDN#B-ISDN|B-ISDN]] (Breitband-ISDN) * [[wikipedia:Asynchronous transfer mode|ATM]] (Asynchronous Transfer Mode) ====Circuit-Switching==== Dieses Verfahren wird bei verbindungsorientierten Protokollen wie z.B. den [[ISDN#ISDN-Kanäle|ISDN B-Kanälen]] verwendet (auf dem D-Kanal wird paketorientiert gearbeitet). Weitere Informationen im [[ISDN#Circuit-Switching|ISDN-Artikel]]. ====Frame-Relay==== ==Protokolle== ===Kollisionserkennung=== Bei Ethernet existieren sogenannte ''Kollisionsdomänen'', innerhalb derer immer nur genau ein Teilnehmer auf den Bus ("schreibend") zugreifen darf. Kollisionen treten dann auf, wenn mehrere Teilnehmer gleichzeitig auf den Bus zugreifen möchten. Für die Erkennung dieser Kollisionen wird ein CSMA/CD-Verfahren eingesetzt ('''C'''arrier '''S'''ense '''M'''ultiple '''A'''ccess with '''C'''ollision '''D'''etection, siehe [http://de.wikipedia.org/wiki/Carrier_Sense_Multiple_Access_/_Collision_Detection Wikipedia]) im Gegensatz zu CSMA/CA (Collision Avoidance, siehe [http://de.wikipedia.org/wiki/Carrier_Sense_Multiple_Access_/_Collision_Avoidance Wikipedia]) Dabei wird laufen das Medium überwacht (Carrier Sense), auf das mehrer Teilnehmer Zugriff haben um miteinander zu kommunizieren (Multiple Access). Wenn ein Teilnehmer nun eine Datenübertragung starten möchte, sieht er nach ob das Medium frei ist. Falls ja, startet er seine Übertragung. Wenn nun eine Kollision entdeckt wird (mehrere versuchen gleichzeitig, auf das Medium zuzugreifen) wird ein definiertes Störsignal auf die Leitung gesetzt, um die anderen Teilnehmer von der Kollision zu informieren. Andernfalls muss der Teilnehmer warten, bis die Leitung wieder frei wird. Dabei wird eine Backoff Zeit gesetzt, da ansonsten unmittelbar erneut zu einem Konflikt käme. Mit jedem Konflikt wird dieser Wert erhöht, bis schließlich ein Maxmialwert erreicht wurde und der Zugriffsversuch abgebrochen wird. Pro Kollisionsdomäne kann also genau ein einziger Teilnehmer auf den Bus zugreifen. ===Spanning Tree Protocol=== Spanning Tree (802.1d) ist das von Ethernet-Switches auf dem [[ISO-OSI_Schichtenmodell#Data_Link_Layer|Data Link Layer]] verwendete Kommunikationsprotokoll und dient in erster Linie der Verhinderung von doppelten Frames (durch mehrere parallele Verbindungen zwischen Sender und Empfänger). Dies erfolgt durch die Generierung eines logischen Netzwerkabbilds in Form eines Baumes, in dem immer nur genau eine einzige, optimale Verbindung zwischen zwei Teilnehmern priorisiert und verwendet wird. Ausgetauscht werden diese Informationen zwischen Switches/Bridges in Form sogenannter '''BPDUs (Bridge Protocol Data Units)''' über Ethernet-Multicasts an die Adresse 01-80-C2-00-00-10 Sie werden alle 2 Sekunden an die in der nächstunteren Baumebene befindlichen Geräte gesendet. Damit werden Strecken incl. ihrer Wegekosten (Berücksichtigung von Datenrate und Entfernung) erfasst und die optimale Strecke ermittelt. Fällt eine Verbindung aus, so fehlt auch die entsprechende BPDU und das Netzwerk wird reorganisiert. Unter Umständen kann eine komplette Neuorganisation des Netzwerks jedoch relativ lange dauern, insbesondere bei komplizierten Verschachtelungen und größeren Netzwerkstrukturen. Zusätzlich dazu besitzen viele Geräde eine einfache Funktion zur Erkennung von Schleifen in der Kommunikation vom Sender zum Empfänger. Dabei sendet das Gerät in regelmäßigen Abständen einen Frame an die Adresse eines Gerätes. Wenn es ein solches Paket mit seiner eigenen MAC-Adresse empfängt, signalisiert das Gerät dies beispielsweise mit einer LED. ===Ethernet Multicast=== ===Ethernet Broadcast=== ===Adressauflösung=== ARP-Relay und ARP-Proxies kurz ansprechen (ARP als extra Artikel) ==Anwendungen== ===Class-of-Service=== Manche Dienste erfordern eine gewisse Verbindungs- und Netzqualität, um einen Nutzwert zu haben (z.B. VoIP - Voice-over-IP). Dafür eistiert diese Ethernet Erweiterung (802.1q), bei der es sich um eine ''Class-of-Service'' Erweiterung handelt. Im Gegensatz zu ''Quality-of-Service'' (das mit Packet Switching kaum realisierbar ist) werden hier den Diensten keine Verbindungsqualitäten zugesichert sondern es erfolgt eine Prioritätsvergabe der Kommunikation für einzelne Dienste. Die Vergabe dieser Prioritäten erfolgt dabei nicht durch das Endgerät sondern durch den Switch anhand der verwendeten Protokolle, Dienste, etc. Dazu muss er direkt am Eingang das Paket verifizieren (z.B. anhand von Pakettyp, IP/MAC-Adressen und Port-Informationen, ...). Solche Switches werden auch oft als sog. '''Layer-n-Switches''' bezeichnet, da sie - abhängig vom Einsatzgebiet - auch auf höheren Ebenen des ISO-OSI Schichtenmodells arbeiten. In der Regel beherrschen solche Geräte die Protokolle der Ebene 3 (Netzwerkebene), Layer 4 würde eine Auswertung der Daten umfassen. Je nach Gerät ist die Prioritätsverteilung statisch oder dynamisch, ebenso ist auch die Genauigkeit der Abstufungen (auch in Abhängigkeit von der Bandbreite) stark vom verwendeten Gerät abhängig. [[Image:EthernetCoS.png|thumb|right|300px|Ethernet Class-of-Service-Paket mit gesetztem Q-Tag]] Auf Layer 2 beinhaltet das Protokoll 802.1Q auch CoS Priorisierungen und VLANs (siehe unten). Hier geschieht dies durch Erweitern des Ethernet-Paketes um ein Q-Tag. Dabei ist 1111 die höchste Priorität, 0000 die niedrigste. Das Problem dabei ist, dass das Q-Paket 4 Byte länger als ein normales Ethernet-Paket ist. '''TO DO: Folgen?''' ===VLAN=== VLANs sind virtuelle LANs zur logischen Organisation der Anschlüsse und Verkabelung von Switches in Netzwerken. Normalerweise wird für jede Gruppierung ein physikalisches Gerät verwendet. Mit VLANs kann ein Physikalischer Switch in 2 logische Bereiche aufgeteilt werden. Dies geschieht mittels der ''VLAN-ID''. Dadurch entstehen am Switch auch 2 Broadcast-Domains, eine für jedes VLAN und es ist sehr flexibel in der Handhabung. Es ist auch möglich, VLANs anhand von IP Adressen und Subnetzmasken (mit Hilfe von ARP) zuzuordnen, oder in Form einer Kombination aus beiden Faktoren. Dabei ist die Zuordnung eines physikalischen Anschlusses zu einem VLAN (siehe 802.1Q- Spezifikation) am praktikabelsten. Es können auch verschiedene Service sin Form von VLANs organisiert werden, z.B. ein VLAN ausschließlich für Voice-over-IP Traffic o.ä. Dabei ist es auch denkbar, verschiedene Prioritäten für die Services in VLANs zu vergeben. Bei manchen Geräten können VLANs physikalisch getrennt verkabelt werden. Des weiteren können VLANs auch erstellt werden, indem Switches mit sog. ''Trunks'' verbunden werden. Dabei werden keine normalen Ethernet-Pakete sondern Pakete mit gesetztem Q-Tag (siehe oben) verschickt. Es können auch VLAN-fähige Netzwerkkarten verwendet werden. Somit wird dem Endgerät die Prioritätsvergabe der Pakete überlassen. '''Beispiel:''' :Rechner, der sich in mehreren unterschiedlichen Netzen befinden soll: :* mehrere Netzwerkkarten :* eine VLAN-fähige Netzwerkkarte :Auch möglich bei Teilnahme an nicht gerouteten Netzen '''Fazit:''' VLANs entsprechen prinzipiell der Idee der [[wikipedia:Virtual private network|VPN]]s (Virtual Private Networks), jedoch auf Layer 2. Dabei sind theoretisch bis zu 4094 verschiedene VLANs möglich: :4096 IDs, zwei davon sind jedoch reserviert: :0 wird nicht vergeben :1 Default-VLAN In großen Netzen muss die Verteilung gut kommentiert werden, insbesondere bei automatischen Zuordnungen (anhand von IP-Adressen, Protokollen, etc.) !!! ==Weiterführende Informationen== * Liste aller MAC-Herstellercodes auf der [http://www.ethereal.com/distribution/manuf.txt ethereal Webseite] oder unter Linux in der Datei <font face="courier">/etc/manuf</font> * [[wikipedia:de:Ethernet|Ethernet-Artikel]] in der [[wikipedia:de:Hauptseite|Wikipedia]] * Informationen über die Verkabelung gibts im Artikel [[Verkabelung]] * Kapitel [http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/ethernet.htm "Ethernet"] im [http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/index.htm Cisco Internetworking Technology Handbook] * Cisco [http://nova.zonengoere.net/doku.php?id=cisco:networking1mal1 Networking 1x1] * IBM Redbook: [http://www.redbooks.ibm.com/Redbooks.nsf/RedbookAbstracts/gg244338.html?OpenDocument Introduction to Networking Technologies] f96d9feba183e91ee28c3c215c761b39f52175ee PHP Code Snippets 0 307 1602 2019-02-19T08:28:03Z Hagbard 2 wikitext text/x-wiki [[Category:Development]][[Category:Hint]]Ein paar nützliche Hilfsfunktionen für den täglichen PHP-Irrsinn ;-) ==Dateisystem== ==={{TT|glob_r()}}=== Eine rekursive Variante von [https://secure.php.net/manual/en/function.glob.php glob()] <source lang=php lines=1> function glob_r($dir = "", $flags = 0) { $files = array(); if(empty($dir) || !is_dir(dirname($dir))) { return $files; } $supp = str_replace(dirname($dir),"",$dir); $dir = dirname($dir).DIRECTORY_SEPARATOR; // get all files: $files = glob($dir.$supp,$flags); // get all subdirectories: $_dirs = scandir($dir); $dirs = array(); foreach($_dirs as $_dir) { if(substr($_dir,0,1) == ".") { continue; } if(is_dir($dir.$_dir)) { $dirs[] = $dir.$_dir; } } unset($_dirs); foreach($dirs as $dir) { $_files = glob_r($dir.$supp,$flags); $files = array_merge($files,$_files); } return $files; } </source> alternativ (ab PHP5) mit der Klasse [https://secure.php.net/manual/en/class.recursivedirectoryiterator.php RecursiveDirectoryIterator] der [https://secure.php.net/manual/en/book.spl.php SPL]: <source lang=php lines=1> <?php $dir_iterator = new RecursiveDirectoryIterator("/path/to/directory"); $iterator = new RecursiveIteratorIterator($dir_iterator, RecursiveIteratorIterator::SELF_FIRST); foreach ($iterator as $file) { echo $file, "\n"; } ?> </source> == CLI-Skripte== Ein paar hilfreiche Funktionen für PHP-CLI Skript ==={{TT|isRunning()}}=== überprüft mittels {{TT|{{Man|ps|ps -ax}}}} und {{TT|{{Man|grep|grep}}}}, ob dieses Skript bereits läuft. Die PHP-Funktion {{TT|[https://secure.php.net/manual/en/function.shell-exec.php shell_exec()]}} muss dafür verfügbar sein. Funktioniert nur, wenn das wie folgt Skript direkt aufgerufen wird und nicht über den PHP-Interpreter: <source lang=bash> ./test.php # und NICHT so /usr/bin/local/php5 -q ./test.php </source> Letzterer Aufruf hätte zur Folge, dass in der verwendeten Variable {{TT|$_ENV["_"]}} der PHP-Interpreter (in diesem Fall {{TT|/usr/bin/local/php5}} steht und nicht das Skript. Dazu ist ggf. mittels {{TT|{{Man|chmod|chmod}}}} die Ausführungs-Berechtigung entsprechend zu setzen. <source lang="php" lines=1> public static function isRunning() { if(!isset($_ENV["_"]) || empty($_ENV["_"])) { return false; } if(substr($_ENV["_"],0,1) == "./") { $cmd = substr($_ENV["_"],2); } else { $cmd = $_ENV["_"]; } $psaux = shell_exec('ps -ax | grep "'.$cmd.'"'); $psaux = explode("\n",$psaux); $processes = array(); foreach($psaux as $process) { if(stripos($process,$cmd) && !stripos($process,"grep")) { $processes[] = $process; } } if(count($processes) > 1) { return true; } else { return false; } } </source> ==={{TT|isConsole()}}=== schützt ein CLI-Skript davor, über einen Webserver aufgerufen zu werden: <source lang=php lines=1> /** * check if this script has been called from a terminal (console) or via web server. * @return boolean */ public static function isConsole() { if( (isset($_SERVER["CLIENTNAME"]) && strtolower($_SERVER["CLIENTNAME"]) != "console") || isset($_SERVER["SESSIONNAME"]) || isset($_SERVER["HTTP_HOST"]) ) { return false; } return true; } </source> 705875a58bc4643328af2da146daee4b7b2774d7 Disable Firefox History Navigation when swiping horizontally 0 155 746 745 2019-02-19T08:29:16Z Hagbard 2 wikitext text/x-wiki [[Category:App]][[Category:Hint]] ==Horizontales History-Scrolling im Firefox== Im Firefox existieren ein paar Variablen, mit denen das Verhalten des Mausrades bestimmt werden kann. Dazu wird zwischen horizontalem und vertilkalem Scrolling unterschieden. ===Problem=== Insbesondere in Verbindung mit [https://www.macupdate.com/app/mac/17240/iscroll2 iScroll] kann die horizontale Version dabei äußerst lästig sein, da bei nicht exakt vertikalen Bewegungen auf dem Touchpad der Firefox munter in der History herumspringt. ===Abhilfe=== Um die Funktion umzubelegen bzw. zu deaktivieren, kann man den Wert einer Konfigurationsvariablen auf der Konfigurationsseite about:config ändern (einfach genau so in die Adresszeile eingeben). Dazu muss der Variablen mousewheel.horizscroll.withnokey.action ein anderer Wert zugewiesen werden, standardmäßig ist dies mousewheel.horizscroll.withnokey.action = 2 Ein wert von 0 schafft beispielsweise Abhilfe. Dass der Wert der Variablen verändert wurde, ist am Status erkennbar - da steht nun "Vom Benutzer festgelegt" (oder das lokalisierte Pendant). Zu beachten ist, dass der Wert ein '''[[Wikipedia:de:Integer_(Datentyp)|integer]]''' sein muss, die Variable also nur ganzzahlige Werte aufnehmen kann. == Siehe auch == * [[Versteckte Firefox-Einstellungen]] 97efaa8038c65c706312f257df12e142c469b856 MacOS beschleunigen und ausmisten 0 191 1010 1009 2019-02-19T08:31:37Z Hagbard 2 /* verwendbare Tools */ wikitext text/x-wiki [[Category:OS]] ==Inhalte== '''Warnung:''' Die Folgenden Aktionen bitte nur durchführen, wenn man genau weiß, was man tut! Außerdem sollten solche Änderungen dokumentiert werden, um bei späteren Fehlersituationen die hier durchgeführten Änderungen parat zu haben (zum Fehler einordnen) und sie ggf. rückgängig machen zu können. Bei solchen Eingriffen ins System sollte ein laufend aktualisiertes Backup selbstverständlich sein, idealerweise ein kompletter Klon des Systemvolume, erstellt mit einem Hilfsprogramm wie dem [https://www.bombich.com CCC]. Im Fehlerfall kann dann einfach von diesem Volume gebootet oder das System davon wiederhergestellt werden. ===Performance optimieren=== * kaputte Fonts finden und deaktivieren/deinstallieren * überflüssige und nicht benutzte Schriften deaktivieren (Aktivieren nur bei Benutzung, beschleunigt die Darstellung im Auswahlfenster) * Wichtige Schriften (nicht deaktivieren!): Geneva, Monaco, Lucida Grande, Courier, Helvetica, Times, Symbol, Zapf Dingbats und ggf. zusätzliche Fonts von Drittanbietern (z.B. MS Office) * Caches löschen * Systemoptimierung * prebinding (vor 10.4) * Zugriffsrechte reparieren (Link) * Systemeigene Default-Cronjobs (befinden sich in {{tt|/etc/periodic/}}) * Manuelles aufrufen mit {{tt|sudo periodic daily weekly monthly}} (als admnin) oder mit [http://www.macupdate.com/info.php/id/5856 MacJanitor] bzw. anderen Tools, vor allem wichtig wenn der Mac nachts immer aus ist und die cronjobs somit ao gut wie nie laufen. * Ab Tiger läuft alles über {{Man|launchd|launchd}} / {{Man|launchctl|launchctl}} und nicht mehr über crond * immer genügend Platz auf den Festplatten (bzw. "Volumes") freihalten (5-10%), damit die HFS+ Selbstoptimierungsfunktionen greifen (aka Defragmentierung etc.) * zusätzlichen Platz für die Auslagerungsdatei frei halten (aka "virtueller Speicher"), kann schon mal 1-2 GB umfassen. * usw. ===Platzverschwendung verhindern=== * Bereits bei der Installation: angepasste Installation (Clean Install) * Fonts und Lokalisierungen/Sprachdateien * Demo-Filme und Medien (z.B. AIFF-Loops von GarageBand) * überflüssige Treiber (z.B. Druckertreiber) * temporäre Dateien nach einer Installation * ... ===Arbeitspeicher=== * '''beliebte Speicherschleudern''' sind vor allem Webbrowser (incl. Safari, Seamonkey/Firefox, Camino), vor allem wenn sie längere Zeit gestartet sind und häufiger benutzt werden. Dann belegen sie gern einmal 200-300 MB physikalischen RAM oder mehr. Diese Programme sollten also immer mal wieder beendet und neu gestartet werden. * '''Dashboard und die aktiven Widgets''' hängen hin und wieder auch einmal, manchmal gehen Widgets auch nicht in den Suspend Mode während Dashboard nicht aktiv ist und benötigen dann u.U. auch viel CPU-Last und Arbeitsspeicher. Empfehlung: das "DisableDashboard" Widget (siehe [[Dashboard]]) zum gelegentlichen Neustart von Dashboard verwenden. * Hin und wieder einmal abmelden, das gibt einiges an Arbeitsspeicher frei. Im Anmeldebildschirm kann dann auch durch die Eingabe von ">exit" im Benutzerfeld der WindowServer neu gestartet werden. Nach einer längeren Laufzeit belegt auch er unter Umständen relativ viel Arbeitsspeicher (siehe [[Spiele mit dem Login Screen]]). * Es können auch eine Reihe [[Deaktivieren ungenutzter Hintergrunddienste|unerwünschter Hintergrunddienste deaktiviert]] werden, allerdings auf eigene Gefahr! Man sollte genau wissen, was man hierbei tut, da durchaus Nebeneffekte auftreten könnten. ===Optimierungen kosmetischer Art=== * .DS_Store Dateien verhindern, lästig vor allem bei der parallelen Nutzung von Volumes unter Linux und/oder Windows * ... ===Häufige Probleme=== * PlugIns und Erweiterungen nach System-/Anwendungsupdates (z.b. Safari, Mail, ...) * ... ===Unnötige Aktionen / Was man besser bleiben lassen sollte=== * Logfiles löschen (siehe oben), diese werden ohnehin rotiert (gepackt und archiviert) und nehmen daher üblicherweise nicht viel Platz weg. Es sei denn man weiß genau, was man tut (z.B. Logfiles von Anwendungen, die gar nicht mehr installiert sind) * Receipts in {{tt|/Library/Receipts}} löschen (sollte man tunlichst unterlassen, da diese Dateien von Mac OS X unter anderem für die Zugriffsrechtereparatur verwendet werden. * ... ===verwendbare Tools=== * Kommandozeilentools wie {{Man|ps|ps}}, {{Man|top|top}}, {{Man|kill|kill}} (bordwerkzeug) * Aktivitäts-Anzeige (bordwerkzeug / Dienstprogramme]) * [https://www.titanium-software.fr/en/onyx.html OnyX] (free) * [http://www.macupdate.com/info.php/id/5856 MacJanitor] (free) * [https://ingmarstein.github.io/Monolingual/ Monolingual] (oss) * [http://www.macupdate.com/info.php/id/14393 Disk Inventory] * Applikations-Helferlein, z.B. für Safari (SafariEnhancer, SafariSpeed, SafariFixer, ...) * siehe auch Artikel [[Systemwartungstools]] 9add9ecdd0c677a473b42f258bf53c4802c304ba Wget 0 333 1654 2019-02-19T08:34:55Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]][[wikipedia:Wget|wget]] ist als Kommandozeilen-Programm ein sehr vielseitiges Download-Werkzeug und bietet bereits von Haus aus alle notwendigen Funktionen und Optionen. Als Alternative zur Nutzung von wget im {{Terminal}} existiert eine Vielfalt graphischer Oberflächen für wget, die allerdings in den meisten Fällen nur einen Bruchteil der Funktionsvielfalt von wget bieten. Daher an dieser Stelle ein paar Tipps und Tricks für den alltäglichen Gebrauch von wget im Terminal: ==Installation== Da wget nicht in der Teil der Standardinstallation von Mac OS X ist, muss es hier nachträglich installiert werden. Man kann es entweder aus dem Quellcode übersetzen oder aus den MacPorts installieren (alternativ: [http://www.finkproject.org/ Fink]/[http://finkcommander.sourceforge.net/ FinkCommander]): ===Quelltexte übersetzen=== Hierfür ist die Installation der Xcode Developer Tools notwendig, für deren Download eine (kostenlose) Mitgliedschaft im Apple Developer Program notwendig ist. Im Terminal sind zur Installation folgende Kommandos einzugeben; <source lang=bash> # wget-Quellcode herunterladen: curl -o wget-latest.tar.gz http://ftp.gnu.org/gnu/wget/wget-latest.tar.gz # ... und entpacken: tar xzf wget-latest.tar.gz # in dieses Verzeichnis wechseln (z.B. wget-1.12): cd wget-x.y.z # und übersetzen: ./configure --with-ssl=openssl make </source> Anschließend kann wget entweder über folgendes Kommando installiert oder die Programmdatei '''{{TT|src/wget}}''' manuell in irgendein gewünschtes Verzeichnis kopiert werden <source lang=bash> sudo make install </source> ===MacPorts=== Alternativ ist die Installation auch über die [http://www.macports.org/index.php MacPorts] durch folgende Eingaben im Terminal möglich, wobei vorher deren Basis-Distributionspaket installiert werden muss: <source lang=bash> sudo port install wget </source> ===Linux=== Unter Linux ist wget üblicherweise als Paket in den jeweiligen Repositories vorhanden und lässt sich mit den entsprechenden Tools der Distribution installieren. Beispiel Debian/Ubuntu: sudo apt-get install wget ==HowTOs== ===Webseiten speichern mit wget=== Eine Webseite bzw. ein ftp-Verzeichnis spiegeln: -m ''<url>'' --mirror ''<url>'' Was eine Kurzform ist für: -r -l inf -N ''<url>'' Dabei ganz praktisch ist eine Umwandlung von Links in HTML-Dateien für die lokale Benutzung: --convert-links --backup-converted (Backup der Originaldateien vor der Umsetzung) ===Downloads mit Wget=== Das folgende Kommando lädt eine Datei von der Adresse <url> mit einer maximalen Downloadrate von 20kB/Sekunde, einem timeout von 20 Sekunden zwischen den Verbindungsversuchen und der automatischen Fortsetzung des Downloads nach einem Abbruch: wget -c --wait=20 --limit-rate=20K ''<url>'' ===Nur Dateien eines bestimmten Typs laden=== Das folgende Kommando lädt nur Dateien mit der Endung ".pdf" herunter: wget ftp://path/to/files/*.pdf ===Downloads im Hintergrund ausführen=== '''Möglichkeit A:''' mit Hilfe der Option {{TT|-b}}: wget -cb ''<url>'' wget -c --background ''<url>'' '''Möglichkeit B:''' mit Hilfe von {{Man|screen|screen}}: screen wget ''<url>'' Verlassen des wget screens: {{Key press|Ctrl|A|D}} Auflisten aller offenen screens screen -ls Wechseln zum wget screen: screen -r ''<ID>'' '''Möglichkeit C:''' Starten mit {{Man|nohup|nohup}} nohup wget -c -o /path/to/activity.log ''<url>'' nohup bewirkt dabei, dass das ausgeführte Kommando (hier wget) ausgeführt wird und sog "hangup" Signale ignoriert. Dadurch kann der Prozess im Hintergrund weiterlaufen, auch wenn sich der Benutzer zwischenzeitlich abmeldet. Die Option -o /path/to/activity.log bewirkt dabei, dass die Ausgabe in die dort genannte Datei geschrieben wird (anstatt auf den Bildschirm). ==praktische Optionen== Hier noch eine kurze Zusammenstellung praktischer Optionen für die Benutzung auf die Schnelle: ===Download-Bandbreite beschränken=== Beschränkung der Download-Bandbreite auf x Bytes (bzw. auf KB bei angeängtem "K"), z.B.: --limit-rate=30K --limit-rate=''<amount>'' --limit-rate=''<amount>''K ===Downloads fortsetzen=== Mit der folgenden Option werden zuvor abgebrochene Downloads fortgesetzt (wenn der Server dies unterstützt): -c ''<datei>'' --continue ''<datei>''Screen ===HTTP-Authentifizierung=== Zugriff auf mit http-basic geschützte Bereiche: --http-user=''<user>'' --http-passwd=''<password>'' ===Download-Liste=== Downloads aus einer Datei holen (Liste aller zu ziehender URLs; eine URL pro Zeile): -i ''<datei>'' Einen Browser vortäuschen: wget -r -p -U Mozilla ''<url>'' ==graphische Frontends== ===MacOS X=== * Übersicht bei [https://www.macupdate.com/find/mac/wget macupdate.com] ===Linux=== * [http://projects.gnome.org/gwget/ Gwget] (Gnome Frontend für wget) ===Windows=== ==Alternativen/Erweiterungen== ===Aget=== [http://www.enderunix.org/aget/ Aget] (GPL) ist ein multi-threaded HTTP Downloader, der die herunterzuladenden Dateien in einzelne Teile aufsplittet und daher u.U. wesentlich schneller sein kann als wget. Beispiel: aget -n=5 ''<url>'' ==Infos und Links== * [http://www.gnu.org/software/wget/wget.html Offizielle Webseite] von GNU Wget mit [http://www.gnu.org/software/wget/manual/wget.html Dokumentation] * [http://wget.addictivecode.org/Wget Wget Wiki] * [[Wikipedia:de:Wget|wget]] in der Wikipedia * [http://linuxwiki.de/wget Kleine Anleitung] im LinuxWiki * Übersicht wichtiger Optionen und weitere Tipps zu wget im [http://wiki.ubuntuusers.de/wget ubuntuusers Wiki] 84619c1be5b4c607c97bce248b3fb1eebb429aa7 Dateien und Ordner verstecken und schützen 0 58 196 2019-02-28T13:38:59Z Hagbard 2 /* in Dateidialogen */ wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]] Um Dateien im Finder zu verstecken, gibt es prinzipiell zwei Möglichkeiten: ==Dateien und Ordner verstecken== ===Dateiname mit Punkt=== Da Mac OS X ein Unix-System ist, folgt es auch der Konvention, Datei- und Verzeichnisnamen, die mit einem Punkt beginnen, standardmäßig zu "verstecken". Diese Umbenennung ist jedoch im Finder nicht möglich (er verhindert dies bewusst), das Umbenennen muss also im [[:Category:Terminal|Terminal]] erfolgen: mv <dateiname> .<dateiname> Einge Dateien unter Mac OS X sind auf diese Weite "geschützt", beispielsweise die [[wikipedia:en:.DS_Store|{{TT|.DS_Store}}]]-Dateien (dienen der Speicherung von Ordnerspezifischen Einstellungen, z.B. Spaltenansicht). Sie lassen sich mit Werkzeugen wie beispielsweise dem [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool] auch im Finder sichtbar machen. Hierfür existiert auch ein Hilfsprogramm mit graphischer Oberfläche namens [http://www.altomac.com/hide_folders/index.php Hide Folders], mit dessen Hilfe auch auf diese Weise versteckte Dateien/Verzeichnisse gefunden werden können. ===Verstecken mit {{Man|chflags|chflags}}=== Ein Umbenennen der Dateien ist jedoch nicht immer möglich und wünschenswert, alternativ lässt sich dasselbe Ergebnis (allerdings nur auf HFS+ Volumes) mit dem Kommandozeilentool {{Man|chflags|chflags}} erreichen: chflags hidden <datei oder verzeichnis> Mit folgendem Kommando erreicht man das Gegenteil: chflags nohidden <datei oder verzeichnis> Mac OS X enthält eine ganze Menge solcher Dateien und Verzeichnisse (meist wichtige Systemdateien, die so vor unbeabsichtigten Modifikationen durch den Benutzer geschützt werden sollen). So lässt sich beispielsweise der Ordner {{TT|~/Library/}} unter Mac OS X 10.7 (Lion) dementsprechend im Finder wieder sichtbar machen. {{Important|'''Hinweis:''' Um Dateien und Verzeichnisse innerhalb der Graphische Oberfläche noch etwas vollständiger zu verbergen, sollten diese auch zusätzlich aus dem Spotlight-Index entfernt werden (Systemeinstellungen > Spotlight > Privatsphäre)}} ===Verstecken mit {{Man|SetFile|SetFile}}=== Alternativ kann auch das Kommandozeilenprogramm {{TT|SetFile}} verwendet werden, dass ein Bestandteil der Xcode-Kommandozeilen-Hilfsprogramme ist. Dieses Paket ist seit Xcode 4.4 ein eigenständiges Installationspaket und muss nachträglich installiert werden. Um beispielsweise ein Laufwerk auf dem Desktop zu verstecken, ist folgende Eingabe notwendig: SetFile -a V “/Volumes/VOLUMENAME″ anschließend ist mit folgendem Befehl der Finder neu zu starten (alternativ: Rechtsklick auf das Finder-Dockicon bei gedrückter alt-Taste): killall "Finder" Um das Verzeichnis wieder anzuzeigen, genügt folgende Anweisung im Terminal: SetFile -a v /Volumes/Untitled wiederum gefolgt von einem Finder-Neustart ==Desktop-Inhalte verstecken== Um den Inhalt des Desktops komplett auszublenden - also einen leeren Desktop zu bekommen, ohne die entsprechenden Dateien und Verzeichnisse verschieben zu müssen, kann folgende versteckte Finder-Einstellung verwendet werden: defaults write com.apple.finder CreateDesktop -bool false Anschließend muss der Finder neu gestartet werden, entweder mit folgender Terminal-Anweisung oder via Finder-Dockicon-Kontextmenü (bei gedrückter alt-Taste): killall "Finder" Diese Änderung lässst sich mit folgender Anweisung wieder rückgängig machen: defaults write com.apple.finder CreateDesktop -bool true ==Versteckte Dateien und Ordner anzeigen== ===in Dateidialogen=== {{Information|Diese Einstellung ist nur temporär wirksam und muss ggf. wiederholt werden. Für eine dauerhafte Aktivierung sind die im folgenden Abschnitt zum Finder beschriebenen Anweisungen auszuführen.}} In den Auswahldialogen zum Öffnen oder Speichern von Dateien können versteckte Dateien und Verzeichnisse sichtbar gemacht werden, indem folgende Tastenkombination gedrückt wird: {{Key press|CMD|Shift|.}} Anschließend muss u.U. noch einmal der angezeigte Ordner gewechselt werden, um diese Einstellung wirksam werden zu lassen. Um versteckte Dateien wieder zu verbergen, ist einfach dasselbe noch einmal durchzuführen. ===im Finder=== Um solche versteckten Dateien und Verzeichnisse im Finder dauerhaft sichtbar zu machen, kann man entweder Tools wie das bereits erwähnte [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool] verwenden, oder man bemüht wiederum das [[:Category:Terminal|Terminal]]. Die Aktivierung erfolgt über das erste Kommando, mit dem zweiten wird der Finder neu gestartet: defaults write com.apple.finder AppleShowAllFiles YES killall Finder Um diese Änderung wieder rückgängig zu machen, sind folgende Kommandos auszuführen: defaults write com.apple.finder AppleShowAllFiles NO killall Finder Der Finder kann alternativ auch über das folgende Tastaturkürzel neu gestartet werden:<KB>apfel+alt+esc</KB> ===im Terminal=== Im [[:Category:Terminal|Terminal]] werden solche Dateien und Verzeichnisse mit Hilfe des folgenden Kommandos sichtbar (großes O, kleines L): ls -laO <Verzeichnis> ===Sonderfall {{TT|~/Library/}} seit OS X Lion=== Seit OS X 10.7 (Lion) wird der Library-Ordner innerhalb des Benutzerverzeichnisses nicht mehr im Finder angezeigt. Allerdings ist es für die gelegentliche Verwendung nicht zwingend erforderlich, diesen mit obigen Terminal-Kommandos wieder sichtbar zu machen – zumal die Änderung mittels {{TT|chflags}} ohnehin nicht dauerhaft ist und beim nächsten Systemupdate vom System wieder rückgängig gemacht wird. Wenn man das Finder-Menü "Gehe zu" mit gedrückter <KB>alt</KB>-Taste öffnet, wird zusätzlich ein Eintrag "Library" angezeigt, über den der Benutzer-Library-Ordner direkt geöffnet werden kann. Ein dauerhaftes Einblenden dieses Ordners ist nur über ein zusätzliches AppleScript-Skript möglich, das anschließend als Anmeldeobjekt (Systemeinstellungen -> Benutzer & Gruppen -> Anmeldeobjekte) bei jeder Anmeldung des jeweiligen Benutzers ausgeführt wird: <source lang="AppleScript"> do shell script "/usr/bin/chflags nohidden ~/Library" </source> ==Dateien und Ordner schützen== Im Finder-Info-Dialog von Dateien und Verzeichnissen lassen sich selbige bekanntermaßen gegen versehentliches Bearbeiten oder Löschen schützen, indem die Option "Geschützt" aktiviert wird. Denselben Effekt kann man mit Hilfe von {{TT|{{man|chflags|chflags}}}} im Terminal erreichen: chflags uchg lockedFile.txt Der entsprechende {{TT|SetFile}} Aufruf (ein Bestandteil von Xcode) sieht so aus: SetFile -a L gesperrteDatei.txt ===Geschützte Dateien und Verzeichnisse ermitteln=== Im Terminal kann das entsprechende Attribut für geschützte Objekte mittels folgender Anweisung angezeigt werden (großes O, kleines L): ls -laO lockedFile.txt Dadurch wird zusätzlich das Attribut "uchg" ausgegeben: -rw-r--r-- 1 user group uchg 0 1 Jan 12:00 lockedFile.txt -rw-r--r-- 1 user group - 0 1 Jan 12:00 unlockedFile.txt ===Freigeben geschützter Objekte=== Den Vorgang rückgängig machen kann man mit folgender Terminal-Anweisung: chflags nouchg lockedFile.txt bzw. SetFile -a L lockedFile.txt ==Siehe auch== * [http://www.westwind.com/reference/OS-X/invisibles.html Mac OS Hidden Files & Directories] (westwind.com) c1a3d9593763a0fcef54ef35300df4c350c077a2 Template:Info 10 18 214 2019-03-10T08:29:53Z Hagbard 2 Hagbard moved page [[Template:Information]] to [[Template:Info]] wikitext text/x-wiki <noinclude>Vorlage zur Einblendung eines einfachen Bausteins mit einem frei definierbaren Text für weitere Informationen zu einem gerade behandelten Thema. ;Beispiel: <nowiki>{{Information|Text}}</nowiki> ;Ausgabe: {{Information|Text}} </noinclude><includeonly> {{InfoboxWithIcon|icon=Logo informations.svg|width=100%|content={{{1}}}}}</includeonly> 84362ec794f2dc4b243d74e8d84b278fd9a53036 Template:Information 10 19 218 2019-03-10T08:29:54Z Hagbard 2 Hagbard moved page [[Template:Information]] to [[Template:Info]] wikitext text/x-wiki #REDIRECT [[Template:Info]] f4ee1f9330fc42f4fa24305159b5c2aca42be66c Template:TerminalIcon 10 7 208 2019-03-10T08:53:45Z Hagbard 2 Created page with "[[Image:Font Awesome 5 solid terminal.svg|16px]]" wikitext text/x-wiki [[Image:Font Awesome 5 solid terminal.svg|16px]] 3a12abf32df0a3dac232bae0b8c127b61965f6d3 Template:Terminal 10 12 206 2019-03-10T08:53:57Z Hagbard 2 wikitext text/x-wiki <noinclude>Abkürzungsvorlage für die Darstellung eines Links zur Kategorie "Terminal" mit zugehörigem Icon. ;Vorschau: {{Terminal}} </noinclude><includeonly>{{TerminalIcon}} [[:Category:Terminal|Terminal]]</includeonly> 280a38b13db32edc2680fe1da871b8128cb9e806 Template:Man 10 30 220 2019-03-10T08:54:04Z Hagbard 2 wikitext text/x-wiki <noinclude>Vorlage zur Erzeugung eines Links zum Debian [https://manpages.debian.org/ Manpage-Browser.] ;Verwendungsbeispiel <nowiki>{{Man|vi|vi}}</nowiki> {{Man|vi|vi}} </noinclude><includeonly>{{TerminalIcon}} [https://manpages.debian.org/jump?q={{{1}}} {{{2}}}]</includeonly> 9ac923ad86509ed8f1993310d9adda1f21ce643f Template:Key press/core 10 4 1069 1068 2019-03-10T09:06:07Z Hagbard 2 wikitext text/x-wiki <kbd class="keyboard-key nowrap" style="border: 1px solid #aaa; {{border-radius|0.2em}} {{box-shadow|0.1em|0.2em|0.2em|#ddd}} background-color: #f9f9f9; {{linear-gradient|top|#eee, #f9f9f9, #eee}} padding: 0.1em 0.3em; font-family: inherit; font-size: 0.85em;">{{#switch:{{lc:{{{1}}}}} | power = {{Unicode|U+23FB}} Power | caps lock = {{Unicode|⇪}} Caps Lock | [[caps lock]] = {{Unicode|⇪}} [[Caps Lock]] | shift = {{Unicode|⇧}} Shift | [[shift key|shift]] = {{Unicode|⇧}} [[Shift key|Shift]] | enter = {{Unicode|↵}} Enter | [[enter key|enter]] = {{Unicode|↵}} [[Enter key|Enter]] | cmd = {{Unicode|⌘}} Cmd | [[cmd key|cmd]] | [[command key|cmd]] = {{Unicode|⌘}} [[Command key|Cmd]] | command = {{Unicode|⌘}} Command | [[cmd key|command]] | [[command key|command]] = {{Unicode|⌘}} [[Command key|Command]] | esc = {{Unicode|⎋}} Esc | opt = {{Unicode|⌥}} Opt | alt = {{Unicode|⌥}} Alt | [[opt key|opt]] | [[option key|opt]] = {{Unicode|⌥}} [[Option key|Opt]] | option = {{Unicode|⌥}} Option | [[option key]] | [[opt key|option]] | [[option key|option]] = {{Unicode|⌥}} [[Option key|Option]] | tab = Tab {{Unicode|↹}} | [[tab key|tab]] = [[Tab key|Tab]] {{Unicode|↹}} | backspace = ← Backspace | [[backspace]] = ← [[Backspace]] | win = {{Unicode|⊞}} Win | [[win key|win]] | [[windows key|win]] = {{Unicode|⊞}} [[Windows key|Win]] | menu = {{Unicode|≣}} Menu | [[menu key|menu]] = {{Unicode|≣}} [[Menu key|Menu]] | up = ↑ | [[arrow keys|up]] = [[Arrow keys|↑]] | down = ↓ | [[arrow keys|down]] = [[Arrow keys|↓]] | left = ← | [[arrow keys|left]] = [[Arrow keys|←]] | right = → | [[arrow keys|right]] = [[Arrow keys|→]] | * | asterisk = <nowiki>*</nowiki> | # | hash = <nowiki>#</nowiki> | [[#]] = [[Number sign|#]] | : | colon = <nowiki>:</nowiki> | [[:]] = [[Colon (punctuation)|:]] | pipe = <nowiki>|</nowiki> | [[|]] = [[Pipe symbol|<nowiki>|</nowiki>]] | ; | semicolon = <nowiki>;</nowiki> | [[;]] = [[Semi-colon|<nowiki>;</nowiki>]] | equals = <nowiki>=</nowiki> <!-- Left & right analog sticks --> | l-up | l up = L↑ | l-down | l down = L↓ | l-left | l left = L← | l-right | l right = L→ | l-ne | l ne = L↗ | l-se | l se = L↘ | l-nw | l nw = L↖ | l-sw | l sw = L↙ | r-up | r up = R↑ | r-down | r down = R↓ | r-left | r left = R← | r-right | r right = R→ | r-ne | r ne = R↗ | r-se | r se = R↘ | r-nw | r nw = R↖ | r-sw | r sw = R↙ <!-- PlayStation --> | ps x | ex = {{unicode|×}} | ps c | circle = {{unicode|○}} | ps s | square = {{unicode|□}} | ps t | triangle = {{unicode|△}} <!-- Nintendo 64 & GameCube --> | c-up | c up = C↑ | c-down | c down = C↓ | c-left | c left = C← | c-right | c right = C→ | c-ne | c ne = C↗ | c-se | c se = C↘ | c-nw | c nw = C↖ | c-sw | c sw = C↙ <!-- default --> | #default = {{{1}}} }}</kbd><noinclude> <!-- Add categories and interwikis links to the /doc subpage, not here! --> </noinclude> 876c53943ea1d14b87dccb6b102e24233a402df5 1070 1069 2019-03-10T09:07:08Z Hagbard 2 wikitext text/x-wiki <kbd class="keyboard-key nowrap" style="border: 1px solid #aaa; {{border-radius|0.2em}} {{box-shadow|0.1em|0.2em|0.2em|#ddd}} background-color: #f9f9f9; {{linear-gradient|top|#eee, #f9f9f9, #eee}} padding: 0.1em 0.3em; font-family: inherit; font-size: 0.85em;">{{#switch:{{lc:{{{1}}}}} | power = {{Unicode|&#x23FB;}} Power | caps lock = {{Unicode|⇪}} Caps Lock | [[caps lock]] = {{Unicode|⇪}} [[Caps Lock]] | shift = {{Unicode|⇧}} Shift | [[shift key|shift]] = {{Unicode|⇧}} [[Shift key|Shift]] | enter = {{Unicode|↵}} Enter | [[enter key|enter]] = {{Unicode|↵}} [[Enter key|Enter]] | cmd = {{Unicode|⌘}} Cmd | [[cmd key|cmd]] | [[command key|cmd]] = {{Unicode|⌘}} [[Command key|Cmd]] | command = {{Unicode|⌘}} Command | [[cmd key|command]] | [[command key|command]] = {{Unicode|⌘}} [[Command key|Command]] | esc = {{Unicode|⎋}} Esc | opt = {{Unicode|⌥}} Opt | alt = {{Unicode|⌥}} Alt | [[opt key|opt]] | [[option key|opt]] = {{Unicode|⌥}} [[Option key|Opt]] | option = {{Unicode|⌥}} Option | [[option key]] | [[opt key|option]] | [[option key|option]] = {{Unicode|⌥}} [[Option key|Option]] | tab = Tab {{Unicode|↹}} | [[tab key|tab]] = [[Tab key|Tab]] {{Unicode|↹}} | backspace = ← Backspace | [[backspace]] = ← [[Backspace]] | win = {{Unicode|⊞}} Win | [[win key|win]] | [[windows key|win]] = {{Unicode|⊞}} [[Windows key|Win]] | menu = {{Unicode|≣}} Menu | [[menu key|menu]] = {{Unicode|≣}} [[Menu key|Menu]] | up = ↑ | [[arrow keys|up]] = [[Arrow keys|↑]] | down = ↓ | [[arrow keys|down]] = [[Arrow keys|↓]] | left = ← | [[arrow keys|left]] = [[Arrow keys|←]] | right = → | [[arrow keys|right]] = [[Arrow keys|→]] | * | asterisk = <nowiki>*</nowiki> | # | hash = <nowiki>#</nowiki> | [[#]] = [[Number sign|#]] | : | colon = <nowiki>:</nowiki> | [[:]] = [[Colon (punctuation)|:]] | pipe = <nowiki>|</nowiki> | [[|]] = [[Pipe symbol|<nowiki>|</nowiki>]] | ; | semicolon = <nowiki>;</nowiki> | [[;]] = [[Semi-colon|<nowiki>;</nowiki>]] | equals = <nowiki>=</nowiki> <!-- Left & right analog sticks --> | l-up | l up = L↑ | l-down | l down = L↓ | l-left | l left = L← | l-right | l right = L→ | l-ne | l ne = L↗ | l-se | l se = L↘ | l-nw | l nw = L↖ | l-sw | l sw = L↙ | r-up | r up = R↑ | r-down | r down = R↓ | r-left | r left = R← | r-right | r right = R→ | r-ne | r ne = R↗ | r-se | r se = R↘ | r-nw | r nw = R↖ | r-sw | r sw = R↙ <!-- PlayStation --> | ps x | ex = {{unicode|×}} | ps c | circle = {{unicode|○}} | ps s | square = {{unicode|□}} | ps t | triangle = {{unicode|△}} <!-- Nintendo 64 & GameCube --> | c-up | c up = C↑ | c-down | c down = C↓ | c-left | c left = C← | c-right | c right = C→ | c-ne | c ne = C↗ | c-se | c se = C↘ | c-nw | c nw = C↖ | c-sw | c sw = C↙ <!-- default --> | #default = {{{1}}} }}</kbd><noinclude> <!-- Add categories and interwikis links to the /doc subpage, not here! --> </noinclude> 1cd4f0379e115bb617685b6b92c38e8034899ca4 1071 1070 2019-03-10T09:08:07Z Hagbard 2 wikitext text/x-wiki <kbd class="keyboard-key nowrap" style="border: 1px solid #aaa; {{border-radius|0.2em}} {{box-shadow|0.1em|0.2em|0.2em|#ddd}} background-color: #f9f9f9; {{linear-gradient|top|#eee, #f9f9f9, #eee}} padding: 0.1em 0.3em; font-family: inherit; font-size: 0.85em;">{{#switch:{{lc:{{{1}}}}} | power = [[Image:IEC5009_Standby_Symbol.svg|14px]] Power <!-- {{Unicode|&#x23FB;}} --> | caps lock = {{Unicode|⇪}} Caps Lock | [[caps lock]] = {{Unicode|⇪}} [[Caps Lock]] | shift = {{Unicode|⇧}} Shift | [[shift key|shift]] = {{Unicode|⇧}} [[Shift key|Shift]] | enter = {{Unicode|↵}} Enter | [[enter key|enter]] = {{Unicode|↵}} [[Enter key|Enter]] | cmd = {{Unicode|⌘}} Cmd | [[cmd key|cmd]] | [[command key|cmd]] = {{Unicode|⌘}} [[Command key|Cmd]] | command = {{Unicode|⌘}} Command | [[cmd key|command]] | [[command key|command]] = {{Unicode|⌘}} [[Command key|Command]] | esc = {{Unicode|⎋}} Esc | opt = {{Unicode|⌥}} Opt | alt = {{Unicode|⌥}} Alt | [[opt key|opt]] | [[option key|opt]] = {{Unicode|⌥}} [[Option key|Opt]] | option = {{Unicode|⌥}} Option | [[option key]] | [[opt key|option]] | [[option key|option]] = {{Unicode|⌥}} [[Option key|Option]] | tab = Tab {{Unicode|↹}} | [[tab key|tab]] = [[Tab key|Tab]] {{Unicode|↹}} | backspace = ← Backspace | [[backspace]] = ← [[Backspace]] | win = {{Unicode|⊞}} Win | [[win key|win]] | [[windows key|win]] = {{Unicode|⊞}} [[Windows key|Win]] | menu = {{Unicode|≣}} Menu | [[menu key|menu]] = {{Unicode|≣}} [[Menu key|Menu]] | up = ↑ | [[arrow keys|up]] = [[Arrow keys|↑]] | down = ↓ | [[arrow keys|down]] = [[Arrow keys|↓]] | left = ← | [[arrow keys|left]] = [[Arrow keys|←]] | right = → | [[arrow keys|right]] = [[Arrow keys|→]] | * | asterisk = <nowiki>*</nowiki> | # | hash = <nowiki>#</nowiki> | [[#]] = [[Number sign|#]] | : | colon = <nowiki>:</nowiki> | [[:]] = [[Colon (punctuation)|:]] | pipe = <nowiki>|</nowiki> | [[|]] = [[Pipe symbol|<nowiki>|</nowiki>]] | ; | semicolon = <nowiki>;</nowiki> | [[;]] = [[Semi-colon|<nowiki>;</nowiki>]] | equals = <nowiki>=</nowiki> <!-- Left & right analog sticks --> | l-up | l up = L↑ | l-down | l down = L↓ | l-left | l left = L← | l-right | l right = L→ | l-ne | l ne = L↗ | l-se | l se = L↘ | l-nw | l nw = L↖ | l-sw | l sw = L↙ | r-up | r up = R↑ | r-down | r down = R↓ | r-left | r left = R← | r-right | r right = R→ | r-ne | r ne = R↗ | r-se | r se = R↘ | r-nw | r nw = R↖ | r-sw | r sw = R↙ <!-- PlayStation --> | ps x | ex = {{unicode|×}} | ps c | circle = {{unicode|○}} | ps s | square = {{unicode|□}} | ps t | triangle = {{unicode|△}} <!-- Nintendo 64 & GameCube --> | c-up | c up = C↑ | c-down | c down = C↓ | c-left | c left = C← | c-right | c right = C→ | c-ne | c ne = C↗ | c-se | c se = C↘ | c-nw | c nw = C↖ | c-sw | c sw = C↙ <!-- default --> | #default = {{{1}}} }}</kbd><noinclude> <!-- Add categories and interwikis links to the /doc subpage, not here! --> </noinclude> 706c680863660fcd803668bca56c29c6247dcfae Template:Key press/core 10 4 1072 1071 2019-03-10T09:08:25Z Hagbard 2 wikitext text/x-wiki <kbd class="keyboard-key nowrap" style="border: 1px solid #aaa; {{border-radius|0.2em}} {{box-shadow|0.1em|0.2em|0.2em|#ddd}} background-color: #f9f9f9; {{linear-gradient|top|#eee, #f9f9f9, #eee}} padding: 0.1em 0.3em; font-family: inherit; font-size: 0.85em;">{{#switch:{{lc:{{{1}}}}} | power = [[Image:IEC5009_Standby_Symbol.svg|12px]] Power <!-- {{Unicode|&#x23FB;}} --> | caps lock = {{Unicode|⇪}} Caps Lock | [[caps lock]] = {{Unicode|⇪}} [[Caps Lock]] | shift = {{Unicode|⇧}} Shift | [[shift key|shift]] = {{Unicode|⇧}} [[Shift key|Shift]] | enter = {{Unicode|↵}} Enter | [[enter key|enter]] = {{Unicode|↵}} [[Enter key|Enter]] | cmd = {{Unicode|⌘}} Cmd | [[cmd key|cmd]] | [[command key|cmd]] = {{Unicode|⌘}} [[Command key|Cmd]] | command = {{Unicode|⌘}} Command | [[cmd key|command]] | [[command key|command]] = {{Unicode|⌘}} [[Command key|Command]] | esc = {{Unicode|⎋}} Esc | opt = {{Unicode|⌥}} Opt | alt = {{Unicode|⌥}} Alt | [[opt key|opt]] | [[option key|opt]] = {{Unicode|⌥}} [[Option key|Opt]] | option = {{Unicode|⌥}} Option | [[option key]] | [[opt key|option]] | [[option key|option]] = {{Unicode|⌥}} [[Option key|Option]] | tab = Tab {{Unicode|↹}} | [[tab key|tab]] = [[Tab key|Tab]] {{Unicode|↹}} | backspace = ← Backspace | [[backspace]] = ← [[Backspace]] | win = {{Unicode|⊞}} Win | [[win key|win]] | [[windows key|win]] = {{Unicode|⊞}} [[Windows key|Win]] | menu = {{Unicode|≣}} Menu | [[menu key|menu]] = {{Unicode|≣}} [[Menu key|Menu]] | up = ↑ | [[arrow keys|up]] = [[Arrow keys|↑]] | down = ↓ | [[arrow keys|down]] = [[Arrow keys|↓]] | left = ← | [[arrow keys|left]] = [[Arrow keys|←]] | right = → | [[arrow keys|right]] = [[Arrow keys|→]] | * | asterisk = <nowiki>*</nowiki> | # | hash = <nowiki>#</nowiki> | [[#]] = [[Number sign|#]] | : | colon = <nowiki>:</nowiki> | [[:]] = [[Colon (punctuation)|:]] | pipe = <nowiki>|</nowiki> | [[|]] = [[Pipe symbol|<nowiki>|</nowiki>]] | ; | semicolon = <nowiki>;</nowiki> | [[;]] = [[Semi-colon|<nowiki>;</nowiki>]] | equals = <nowiki>=</nowiki> <!-- Left & right analog sticks --> | l-up | l up = L↑ | l-down | l down = L↓ | l-left | l left = L← | l-right | l right = L→ | l-ne | l ne = L↗ | l-se | l se = L↘ | l-nw | l nw = L↖ | l-sw | l sw = L↙ | r-up | r up = R↑ | r-down | r down = R↓ | r-left | r left = R← | r-right | r right = R→ | r-ne | r ne = R↗ | r-se | r se = R↘ | r-nw | r nw = R↖ | r-sw | r sw = R↙ <!-- PlayStation --> | ps x | ex = {{unicode|×}} | ps c | circle = {{unicode|○}} | ps s | square = {{unicode|□}} | ps t | triangle = {{unicode|△}} <!-- Nintendo 64 & GameCube --> | c-up | c up = C↑ | c-down | c down = C↓ | c-left | c left = C← | c-right | c right = C→ | c-ne | c ne = C↗ | c-se | c se = C↘ | c-nw | c nw = C↖ | c-sw | c sw = C↙ <!-- default --> | #default = {{{1}}} }}</kbd><noinclude> <!-- Add categories and interwikis links to the /doc subpage, not here! --> </noinclude> b08359b1872b144e916df6f2c9d5a41a1415a916 1073 1072 2019-03-10T09:08:46Z Hagbard 2 wikitext text/x-wiki <kbd class="keyboard-key nowrap" style="border: 1px solid #aaa; {{border-radius|0.2em}} {{box-shadow|0.1em|0.2em|0.2em|#ddd}} background-color: #f9f9f9; {{linear-gradient|top|#eee, #f9f9f9, #eee}} padding: 0.1em 0.3em; font-family: inherit; font-size: 0.85em;">{{#switch:{{lc:{{{1}}}}} | power = [[Image:IEC5009_Standby_Symbol.svg|10px]] Power <!-- {{Unicode|&#x23FB;}} --> | caps lock = {{Unicode|⇪}} Caps Lock | [[caps lock]] = {{Unicode|⇪}} [[Caps Lock]] | shift = {{Unicode|⇧}} Shift | [[shift key|shift]] = {{Unicode|⇧}} [[Shift key|Shift]] | enter = {{Unicode|↵}} Enter | [[enter key|enter]] = {{Unicode|↵}} [[Enter key|Enter]] | cmd = {{Unicode|⌘}} Cmd | [[cmd key|cmd]] | [[command key|cmd]] = {{Unicode|⌘}} [[Command key|Cmd]] | command = {{Unicode|⌘}} Command | [[cmd key|command]] | [[command key|command]] = {{Unicode|⌘}} [[Command key|Command]] | esc = {{Unicode|⎋}} Esc | opt = {{Unicode|⌥}} Opt | alt = {{Unicode|⌥}} Alt | [[opt key|opt]] | [[option key|opt]] = {{Unicode|⌥}} [[Option key|Opt]] | option = {{Unicode|⌥}} Option | [[option key]] | [[opt key|option]] | [[option key|option]] = {{Unicode|⌥}} [[Option key|Option]] | tab = Tab {{Unicode|↹}} | [[tab key|tab]] = [[Tab key|Tab]] {{Unicode|↹}} | backspace = ← Backspace | [[backspace]] = ← [[Backspace]] | win = {{Unicode|⊞}} Win | [[win key|win]] | [[windows key|win]] = {{Unicode|⊞}} [[Windows key|Win]] | menu = {{Unicode|≣}} Menu | [[menu key|menu]] = {{Unicode|≣}} [[Menu key|Menu]] | up = ↑ | [[arrow keys|up]] = [[Arrow keys|↑]] | down = ↓ | [[arrow keys|down]] = [[Arrow keys|↓]] | left = ← | [[arrow keys|left]] = [[Arrow keys|←]] | right = → | [[arrow keys|right]] = [[Arrow keys|→]] | * | asterisk = <nowiki>*</nowiki> | # | hash = <nowiki>#</nowiki> | [[#]] = [[Number sign|#]] | : | colon = <nowiki>:</nowiki> | [[:]] = [[Colon (punctuation)|:]] | pipe = <nowiki>|</nowiki> | [[|]] = [[Pipe symbol|<nowiki>|</nowiki>]] | ; | semicolon = <nowiki>;</nowiki> | [[;]] = [[Semi-colon|<nowiki>;</nowiki>]] | equals = <nowiki>=</nowiki> <!-- Left & right analog sticks --> | l-up | l up = L↑ | l-down | l down = L↓ | l-left | l left = L← | l-right | l right = L→ | l-ne | l ne = L↗ | l-se | l se = L↘ | l-nw | l nw = L↖ | l-sw | l sw = L↙ | r-up | r up = R↑ | r-down | r down = R↓ | r-left | r left = R← | r-right | r right = R→ | r-ne | r ne = R↗ | r-se | r se = R↘ | r-nw | r nw = R↖ | r-sw | r sw = R↙ <!-- PlayStation --> | ps x | ex = {{unicode|×}} | ps c | circle = {{unicode|○}} | ps s | square = {{unicode|□}} | ps t | triangle = {{unicode|△}} <!-- Nintendo 64 & GameCube --> | c-up | c up = C↑ | c-down | c down = C↓ | c-left | c left = C← | c-right | c right = C→ | c-ne | c ne = C↗ | c-se | c se = C↘ | c-nw | c nw = C↖ | c-sw | c sw = C↙ <!-- default --> | #default = {{{1}}} }}</kbd><noinclude> <!-- Add categories and interwikis links to the /doc subpage, not here! --> </noinclude> a59d9d19101bcafdff0d08c036eb62ec9e4eaf73 1074 1073 2019-03-10T09:10:13Z Hagbard 2 wikitext text/x-wiki <kbd class="keyboard-key nowrap" style="border: 1px solid #aaa; {{border-radius|0.2em}} {{box-shadow|0.1em|0.2em|0.2em|#ddd}} background-color: #f9f9f9; {{linear-gradient|top|#eee, #f9f9f9, #eee}} padding: 0.1em 0.3em; font-family: inherit; font-size: 0.85em;">{{#switch:{{lc:{{{1}}}}} | apple = [[Image:Apple logo black.svg|10px]] Apple | appleicon = [[Image:Apple logo black.svg|10px]] | power = [[Image:IEC5009_Standby_Symbol.svg|10px]] Power <!-- {{Unicode|&#x23FB;}} --> | caps lock = {{Unicode|⇪}} Caps Lock | [[caps lock]] = {{Unicode|⇪}} [[Caps Lock]] | shift = {{Unicode|⇧}} Shift | [[shift key|shift]] = {{Unicode|⇧}} [[Shift key|Shift]] | enter = {{Unicode|↵}} Enter | [[enter key|enter]] = {{Unicode|↵}} [[Enter key|Enter]] | cmd = {{Unicode|⌘}} Cmd | [[cmd key|cmd]] | [[command key|cmd]] = {{Unicode|⌘}} [[Command key|Cmd]] | command = {{Unicode|⌘}} Command | [[cmd key|command]] | [[command key|command]] = {{Unicode|⌘}} [[Command key|Command]] | esc = {{Unicode|⎋}} Esc | opt = {{Unicode|⌥}} Opt | alt = {{Unicode|⌥}} Alt | [[opt key|opt]] | [[option key|opt]] = {{Unicode|⌥}} [[Option key|Opt]] | option = {{Unicode|⌥}} Option | [[option key]] | [[opt key|option]] | [[option key|option]] = {{Unicode|⌥}} [[Option key|Option]] | tab = Tab {{Unicode|↹}} | [[tab key|tab]] = [[Tab key|Tab]] {{Unicode|↹}} | backspace = ← Backspace | [[backspace]] = ← [[Backspace]] | win = {{Unicode|⊞}} Win | [[win key|win]] | [[windows key|win]] = {{Unicode|⊞}} [[Windows key|Win]] | menu = {{Unicode|≣}} Menu | [[menu key|menu]] = {{Unicode|≣}} [[Menu key|Menu]] | up = ↑ | [[arrow keys|up]] = [[Arrow keys|↑]] | down = ↓ | [[arrow keys|down]] = [[Arrow keys|↓]] | left = ← | [[arrow keys|left]] = [[Arrow keys|←]] | right = → | [[arrow keys|right]] = [[Arrow keys|→]] | * | asterisk = <nowiki>*</nowiki> | # | hash = <nowiki>#</nowiki> | [[#]] = [[Number sign|#]] | : | colon = <nowiki>:</nowiki> | [[:]] = [[Colon (punctuation)|:]] | pipe = <nowiki>|</nowiki> | [[|]] = [[Pipe symbol|<nowiki>|</nowiki>]] | ; | semicolon = <nowiki>;</nowiki> | [[;]] = [[Semi-colon|<nowiki>;</nowiki>]] | equals = <nowiki>=</nowiki> <!-- Left & right analog sticks --> | l-up | l up = L↑ | l-down | l down = L↓ | l-left | l left = L← | l-right | l right = L→ | l-ne | l ne = L↗ | l-se | l se = L↘ | l-nw | l nw = L↖ | l-sw | l sw = L↙ | r-up | r up = R↑ | r-down | r down = R↓ | r-left | r left = R← | r-right | r right = R→ | r-ne | r ne = R↗ | r-se | r se = R↘ | r-nw | r nw = R↖ | r-sw | r sw = R↙ <!-- PlayStation --> | ps x | ex = {{unicode|×}} | ps c | circle = {{unicode|○}} | ps s | square = {{unicode|□}} | ps t | triangle = {{unicode|△}} <!-- Nintendo 64 & GameCube --> | c-up | c up = C↑ | c-down | c down = C↓ | c-left | c left = C← | c-right | c right = C→ | c-ne | c ne = C↗ | c-se | c se = C↘ | c-nw | c nw = C↖ | c-sw | c sw = C↙ <!-- default --> | #default = {{{1}}} }}</kbd><noinclude> <!-- Add categories and interwikis links to the /doc subpage, not here! --> </noinclude> eedcb1f4771a381e50cb9c37a14d24a4136df139 234 2019-03-10T09:10:33Z Hagbard 2 wikitext text/x-wiki <kbd class="keyboard-key nowrap" style="border: 1px solid #aaa; {{border-radius|0.2em}} {{box-shadow|0.1em|0.2em|0.2em|#ddd}} background-color: #f9f9f9; {{linear-gradient|top|#eee, #f9f9f9, #eee}} padding: 0.1em 0.3em; font-family: inherit; font-size: 0.85em;">{{#switch:{{lc:{{{1}}}}} | apple = [[Image:Apple logo black.svg|12px]] Apple | appleicon = [[Image:Apple logo black.svg|12px]] | power = [[Image:IEC5009_Standby_Symbol.svg|10px]] Power <!-- {{Unicode|&#x23FB;}} --> | caps lock = {{Unicode|⇪}} Caps Lock | [[caps lock]] = {{Unicode|⇪}} [[Caps Lock]] | shift = {{Unicode|⇧}} Shift | [[shift key|shift]] = {{Unicode|⇧}} [[Shift key|Shift]] | enter = {{Unicode|↵}} Enter | [[enter key|enter]] = {{Unicode|↵}} [[Enter key|Enter]] | cmd = {{Unicode|⌘}} Cmd | [[cmd key|cmd]] | [[command key|cmd]] = {{Unicode|⌘}} [[Command key|Cmd]] | command = {{Unicode|⌘}} Command | [[cmd key|command]] | [[command key|command]] = {{Unicode|⌘}} [[Command key|Command]] | esc = {{Unicode|⎋}} Esc | opt = {{Unicode|⌥}} Opt | alt = {{Unicode|⌥}} Alt | [[opt key|opt]] | [[option key|opt]] = {{Unicode|⌥}} [[Option key|Opt]] | option = {{Unicode|⌥}} Option | [[option key]] | [[opt key|option]] | [[option key|option]] = {{Unicode|⌥}} [[Option key|Option]] | tab = Tab {{Unicode|↹}} | [[tab key|tab]] = [[Tab key|Tab]] {{Unicode|↹}} | backspace = ← Backspace | [[backspace]] = ← [[Backspace]] | win = {{Unicode|⊞}} Win | [[win key|win]] | [[windows key|win]] = {{Unicode|⊞}} [[Windows key|Win]] | menu = {{Unicode|≣}} Menu | [[menu key|menu]] = {{Unicode|≣}} [[Menu key|Menu]] | up = ↑ | [[arrow keys|up]] = [[Arrow keys|↑]] | down = ↓ | [[arrow keys|down]] = [[Arrow keys|↓]] | left = ← | [[arrow keys|left]] = [[Arrow keys|←]] | right = → | [[arrow keys|right]] = [[Arrow keys|→]] | * | asterisk = <nowiki>*</nowiki> | # | hash = <nowiki>#</nowiki> | [[#]] = [[Number sign|#]] | : | colon = <nowiki>:</nowiki> | [[:]] = [[Colon (punctuation)|:]] | pipe = <nowiki>|</nowiki> | [[|]] = [[Pipe symbol|<nowiki>|</nowiki>]] | ; | semicolon = <nowiki>;</nowiki> | [[;]] = [[Semi-colon|<nowiki>;</nowiki>]] | equals = <nowiki>=</nowiki> <!-- Left & right analog sticks --> | l-up | l up = L↑ | l-down | l down = L↓ | l-left | l left = L← | l-right | l right = L→ | l-ne | l ne = L↗ | l-se | l se = L↘ | l-nw | l nw = L↖ | l-sw | l sw = L↙ | r-up | r up = R↑ | r-down | r down = R↓ | r-left | r left = R← | r-right | r right = R→ | r-ne | r ne = R↗ | r-se | r se = R↘ | r-nw | r nw = R↖ | r-sw | r sw = R↙ <!-- PlayStation --> | ps x | ex = {{unicode|×}} | ps c | circle = {{unicode|○}} | ps s | square = {{unicode|□}} | ps t | triangle = {{unicode|△}} <!-- Nintendo 64 & GameCube --> | c-up | c up = C↑ | c-down | c down = C↓ | c-left | c left = C← | c-right | c right = C→ | c-ne | c ne = C↗ | c-se | c se = C↘ | c-nw | c nw = C↖ | c-sw | c sw = C↙ <!-- default --> | #default = {{{1}}} }}</kbd><noinclude> <!-- Add categories and interwikis links to the /doc subpage, not here! --> </noinclude> e2a682c455b4ddf847ddb301715cf936872601fa OS X Installationsmedium erstellen (Mac App Store) 0 288 1562 2019-10-08T06:51:27Z Hagbard 2 Hagbard moved page [[OS X Installationsmedium erstellen (Mac App Store)]] to [[MacOS Installationsmedium erstellen (Mac App Store)]] wikitext text/x-wiki #REDIRECT [[MacOS Installationsmedium erstellen (Mac App Store)]] 638b5052621fe5e38e142382dbf72d7f785dc805 Purge the DNS cache 0 150 718 717 2020-12-01T12:28:45Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]]Um nach Änderungen an der [[wikipedia:de:DNS|DNS]]-Konfiguration oder der lokalen Namensauflösung in {{Man|hosts|{{TT|/etc/hosts}}}} kann man mit folgendem Terminal-Kommando den lokalen DNS-Cache leeren: {| ! OS X Version !! Terminal-Anweisung |-- | bis Mac OS 10.4 (Tiger) || <code>sudo lookupd -flushcache</code> |-- | bis Mac OS 10.6 (Snow Leopard) || <code>sudo dscacheutil -flushcache</code> |-- | bis OS X 10.8 (Mountain Lion) || <code>sudo killall -HUP mDNSResponder</code> |-- | OS X 10.9 (Mavericks) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | OS X 10.10 (Yosemite) <sup>*</sup> || bis 10.10.3:<br /><code>sudo discoveryutil mdnsflushcache; sudo discoveryutil udnsflushcaches</code><br />seit 10.10.4:<br /><code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | OS X 10.11 (El Capitan) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | bis OS X 10.14 (Mojave) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder; sudo killall mDNSResponderHelper</code> |-- | seit OS X 10.15 (Catalina) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |} ---- <sup>*)</sup><small> In Version 10.10.0 wurde mDNSResponder durch discoveryd ersetzt, der in Version 10.10.4 wegen anhaltender Probleme wieder entfernt wurde. Somit gleicht das Vorgehen in Version 10.10.4 und neuer wieder dem Vorgehen unter OS X Mavericks.</small> 17cc2b51768febd06354088d026b27532eb20de8 719 718 2020-12-01T12:30:18Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]]Um nach Änderungen an der [[wikipedia:de:DNS|DNS]]-Konfiguration oder der lokalen Namensauflösung in {{Man|hosts|{{TT|/etc/hosts}}}} kann man mit folgendem Terminal-Kommando den lokalen DNS-Cache leeren: {| ! OS X Version !! Terminal-Anweisung |-- | bis Mac OS 10.4 (Tiger) || <code>sudo lookupd -flushcache</code> |-- | bis Mac OS 10.6 (Snow Leopard) || <code>sudo dscacheutil -flushcache</code> |-- | bis OS X 10.8 (Mountain Lion) || <code>sudo killall -HUP mDNSResponder</code> |-- | OS X 10.9 (Mavericks) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | OS X 10.10 (Yosemite) <sup>*</sup> || bis 10.10.3:<br /><code>sudo discoveryutil mdnsflushcache; sudo discoveryutil udnsflushcaches</code><br />seit 10.10.4:<br /><code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | OS X 10.11 (El Capitan) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | OS X 10.12 (Sierra) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder; sudo killall mDNSResponderHelper</code> |-- | seit macOS 10.13 (High Sierra) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |} ---- <sup>*)</sup><small> In Version 10.10.0 wurde mDNSResponder durch discoveryd ersetzt, der in Version 10.10.4 wegen anhaltender Probleme wieder entfernt wurde. Somit gleicht das Vorgehen in Version 10.10.4 und neuer wieder dem Vorgehen unter OS X Mavericks.</small> 5f97740a75bf0dff3bbb8002fb12dc18ff910bf2 MAMP PRO hidden preferences 0 183 879 2021-01-21T12:44:24Z Hagbard 2 Created page with "==Remote Ops== Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ===Temp. Remote-Dat..." wikitext text/x-wiki ==Remote Ops== Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. <!-- ==Funktionen im Betastadium== Diese Optionen sollten NUR DANN verwendet werden, wenn man (a) vom Support dazu aufgefordert und angeleitet wurde oder (b) man genau weiß was man tut ===beim Upload von Dateien verwendete umask anpassen === ''kommt noch'' --> fe1311cc2a5e6c12dae4cb902272b31debfff595 880 879 2021-01-21T12:44:36Z Hagbard 2 wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. <!-- ==Funktionen im Betastadium== Diese Optionen sollten NUR DANN verwendet werden, wenn man (a) vom Support dazu aufgefordert und angeleitet wurde oder (b) man genau weiß was man tut ===beim Upload von Dateien verwendete umask anpassen === ''kommt noch'' --> e5e024c55e82ab8ad0821be63e715663a6765aff 881 880 2021-01-21T12:47:58Z Hagbard 2 wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. <!-- ==Funktionen im Betastadium== Diese Optionen sollten NUR DANN verwendet werden, wenn man (a) vom Support dazu aufgefordert und angeleitet wurde oder (b) man genau weiß was man tut ===beim Upload von Dateien verwendete umask anpassen === Diese Funktion ist noch nicht vollständig implementiert und kann auch unvorhergesehene Nebeneffekte haben. Standardmäßig verwendet MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die Maske 755, d.h. nur der Eigentümer der Dateien hat Vollzugriff auf alle Dateien und Verzeichnisse. --> 92e1f0ef7825e5c598c17c17796b1ffe0321f4a4 882 881 2021-01-21T12:48:10Z Hagbard 2 wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ==Funktionen im Betastadium== <!-- Diese Optionen sollten NUR DANN verwendet werden, wenn man (a) vom Support dazu aufgefordert und angeleitet wurde oder (b) man genau weiß was man tut ===beim Upload von Dateien verwendete umask anpassen === Diese Funktion ist noch nicht vollständig implementiert und kann auch unvorhergesehene Nebeneffekte haben. Standardmäßig verwendet MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die Maske 755, d.h. nur der Eigentümer der Dateien hat Vollzugriff auf alle Dateien und Verzeichnisse. --> 047da738bf65ffceaff45e4cfac07740dd7191cd 883 882 2021-01-21T12:48:25Z Hagbard 2 /* Funktionen im Betastadium */ wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ==Funktionen im Betastadium== ''coming soon...'' <!-- Diese Optionen sollten NUR DANN verwendet werden, wenn man (a) vom Support dazu aufgefordert und angeleitet wurde oder (b) man genau weiß was man tut ===beim Upload von Dateien verwendete umask anpassen === Diese Funktion ist noch nicht vollständig implementiert und kann auch unvorhergesehene Nebeneffekte haben. Standardmäßig verwendet MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die Maske 755, d.h. nur der Eigentümer der Dateien hat Vollzugriff auf alle Dateien und Verzeichnisse. --> 159403a71ec30b411de15b28639b0eafafbb3b82 884 883 2021-01-21T12:49:31Z Hagbard 2 /* Funktionen im Betastadium */ wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ==Funktionen im Betastadium== ''coming soon...'' <!-- Diese Optionen sollten NUR DANN verwendet werden, wenn man (a) vom Support dazu aufgefordert und angeleitet wurde oder (b) man genau weiß was man tut. Da diese Funktion oft noch nicht vollständig implementiert sind, können diese auch unvorhergesehene Nebeneffekte haben oder fehlerhaft sein. Die Verwendung geschieht also AUF EIGENE GEFAHR. ===die von Remote Ops verwendete umask anpassen=== Standardmäßig verwendet MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die Maske 755, d.h. nur der Eigentümer der Dateien hat Vollzugriff auf alle Dateien und Verzeichnisse. --> 30c0936bc123a9edede971332878f62c197fccb1 885 884 2021-01-21T12:50:47Z Hagbard 2 /* Funktionen im Betastadium */ wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ==Funktionen im Betastadium== ''coming soon...'' <!-- Diese Optionen sollten NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen oft noch nicht vollständig implementiert sind, können diese auch unvorhergesehene Nebeneffekte haben oder fehlerhaft sein - Datenverluste nicht ausgeschlossen. Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===die von Remote Ops verwendete umask anpassen=== Standardmäßig verwendet MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die Maske 755, d.h. nur der Eigentümer der Dateien hat Vollzugriff auf alle Dateien und Verzeichnisse. --> bd0f3fef799a56b0bf7fab60955ddd4b065fff5e 886 885 2021-01-21T12:51:44Z Hagbard 2 /* Funktionen im Betastadium */ wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ==Funktionen im Betastadium== ''coming soon...'' <!-- Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen oft noch nicht vollständig implementiert sind, können diese auch unvorhergesehene Nebeneffekte haben oder fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal. Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===die von Remote Ops verwendete umask anpassen=== Standardmäßig verwendet MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die Maske 755, d.h. nur der Eigentümer der Dateien hat Vollzugriff auf alle Dateien und Verzeichnisse. --> 6cf35c9404f02c313dd5ec0f5703aa1d5ac2383c 887 886 2021-01-21T12:52:24Z Hagbard 2 /* Funktionen im Betastadium */ wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ==Funktionen im Betastadium== ''coming soon...'' <!-- Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen oft noch nicht vollständig implementiert sind, können diese auch unvorhergesehene Nebeneffekte haben oder fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal (bei Verwendung von mit den Remote Ops in Verbindung stehenden neuen Funktionen). Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===die von Remote Ops verwendete umask anpassen=== Standardmäßig verwendet MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die Maske 755, d.h. nur der Eigentümer der Dateien hat Vollzugriff auf alle Dateien und Verzeichnisse. --> cd7375ae94c4071a90327d429791340396d3eda6 888 887 2021-01-21T12:52:38Z Hagbard 2 /* Funktionen im Betastadium */ wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ==Funktionen im Betastadium== ''coming soon...'' <!-- Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen oft noch nicht vollständig implementiert sind, können diese auch unvorhergesehene Nebeneffekte haben oder fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal (z.B. bei Verwendung von mit den Remote Ops in Verbindung stehenden neuen Funktionen). Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===die von Remote Ops verwendete umask anpassen=== Standardmäßig verwendet MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die Maske 755, d.h. nur der Eigentümer der Dateien hat Vollzugriff auf alle Dateien und Verzeichnisse. --> 20124b36d1ad86687455864470120a1655f1ccb4 889 888 2021-01-21T12:55:03Z Hagbard 2 /* Funktionen im Betastadium */ wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ==Funktionen im Betastadium aktivieren== ''coming soon...'' <!-- Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen oft noch nicht vollständig implementiert sind, können diese auch unvorhergesehene Nebeneffekte haben oder fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal (z.B. bei Verwendung von mit den Remote Ops in Verbindung stehenden neuen Funktionen). Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===die von Remote Ops verwendete umask anpassen=== Standardmäßig verwendet MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die Maske 755, d.h. nur der Eigentümer der Dateien hat Vollzugriff auf alle Dateien und Verzeichnisse. Mit Hilfe folgender Terminalanweisung und einem anschließenden Neustart der MAMP PRO App wird im Preferences Fenster ein zusätzlicher Reiter namens "(S)FTP" freigeschaltet, der die Anpassung dieses Wertes erlaubt: '''Wichtig:''' Während der Betaphase wird dieser Wert bei jedem Neustart von MAMP PRO wieder auf 755 zurückgesetzt. --> 19c13be1bda13dd873fc91b5bcfe3060d2591593 890 889 2021-01-21T12:57:03Z Hagbard 2 /* Funktionen im Betastadium aktivieren */ wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ==Funktionen im Betastadium aktivieren== ''coming soon...'' <!-- Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen oft noch nicht vollständig implementiert sind, können diese auch unvorhergesehene Nebeneffekte haben oder fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal (z.B. bei Verwendung von mit den Remote Ops in Verbindung stehenden neuen Funktionen). Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===die von Remote Ops verwendete umask anpassen=== Standardmäßig verwendet MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die Maske 755, d.h. nur der Eigentümer der Dateien hat Vollzugriff auf alle Dateien und Verzeichnisse. Mit Hilfe folgender Terminalanweisung und einem anschließenden Neustart der MAMP PRO App wird im Preferences Fenster ein zusätzlicher Reiter namens "(S)FTP" freigeschaltet, der die Anpassung dieses Wertes erlaubt: defaults write de.appsolute.mamppro umaskPreferencePaneVisible -bool YES deaktiviert wird diese Option hiermit (wiederum gefolgt von einem Neustart der App): defaults delete de.appsolute.mamppro umaskPreferencePaneVisible '''Wichtig:''' Während der Betaphase wird dieser Wert bei jedem Neustart von MAMP PRO wieder auf 755 zurückgesetzt. Verfügbar ab vorr. Version 6.3.2 --> 82664b76d86abe8c76ccb5332ceb474ec7a5dc94 891 890 2021-01-21T13:12:04Z Hagbard 2 /* Funktionen im Betastadium aktivieren */ wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ==Funktionen im Betastadium aktivieren== ''coming soon...'' <!-- Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen oft noch nicht vollständig implementiert sind, können diese auch unvorhergesehene Nebeneffekte haben oder fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal (z.B. bei Verwendung von mit den Remote Ops in Verbindung stehenden neuen Funktionen). Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===die von Remote Ops verwendete umask anpassen=== Standardmäßig verwendet MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die Maske 755, d.h. nur der Eigentümer der Dateien hat Vollzugriff auf alle Dateien und Verzeichnisse. Mit Hilfe folgender Terminalanweisung kann dieser Wert geändert werden, beispielsweise auf 777 (Vollzugriff für alle): defaults write de.appsolute.mamppro umask -bool YES deaktiviert wird diese Option hiermit (wiederum gefolgt von einem Neustart der App): defaults delete de.appsolute.mamppro umask '''Wichtig:''' Während der Betaphase wird dieser Wert bei jedem Neustart von MAMP PRO wieder auf 755 zurückgesetzt. Verfügbar ab vorr. Version 6.3.2 --> fe3ff1f131fbe3bb115b7f8cd7bb5bbf02f83c16 892 891 2021-01-21T13:15:05Z Hagbard 2 /* Funktionen im Betastadium aktivieren */ wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ==Funktionen im Betastadium aktivieren== ''coming soon...'' <!-- --> Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen oft noch nicht vollständig implementiert sind, können diese auch unvorhergesehene Nebeneffekte haben oder fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal (z.B. bei Verwendung von mit den Remote Ops in Verbindung stehenden neuen Funktionen). Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===die von Remote Ops verwendete umask anpassen=== Standardmäßig verwendet MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die Maske 755, d.h. nur der Eigentümer der Dateien hat Vollzugriff auf alle Dateien und Verzeichnisse. Mit Hilfe folgender Terminalanweisung kann dieser Wert geändert werden, beispielsweise auf 777 (Vollzugriff für alle): defaults write de.appsolute.mamppro umask -string "777" '''Wichtig:''' die Angabe erfolgt in Oktalschreibweise OHNE führende 0, andere Schreibweisen werden ignoriert. deaktiviert wird diese Option hiermit (wiederum gefolgt von einem Neustart der App): defaults delete de.appsolute.mamppro umask '''Wichtig:''' Während der Betaphase wird dieser Wert bei jedem Neustart von MAMP PRO wieder auf 755 zurückgesetzt. Verfügbar ab vorr. Version 6.3.2 0fd3f9c6cfca4d6b35ce7cd24485ac32fdda38b6 893 892 2021-01-21T13:15:21Z Hagbard 2 /* Funktionen im Betastadium aktivieren */ wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ==Funktionen im Betastadium aktivieren== ''coming soon...'' <!-- Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen oft noch nicht vollständig implementiert sind, können diese auch unvorhergesehene Nebeneffekte haben oder fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal (z.B. bei Verwendung von mit den Remote Ops in Verbindung stehenden neuen Funktionen). Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===die von Remote Ops verwendete umask anpassen=== Standardmäßig verwendet MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die Maske 755, d.h. nur der Eigentümer der Dateien hat Vollzugriff auf alle Dateien und Verzeichnisse. Mit Hilfe folgender Terminalanweisung kann dieser Wert geändert werden, beispielsweise auf 777 (Vollzugriff für alle): defaults write de.appsolute.mamppro umask -string "777" '''Wichtig:''' die Angabe erfolgt in Oktalschreibweise OHNE führende 0, andere Schreibweisen werden ignoriert. deaktiviert wird diese Option hiermit (wiederum gefolgt von einem Neustart der App): defaults delete de.appsolute.mamppro umask '''Wichtig:''' Während der Betaphase wird dieser Wert bei jedem Neustart von MAMP PRO wieder auf 755 zurückgesetzt. Verfügbar ab vorr. Version 6.3.2 --> 64a86434eb0e51f1b999682d82b8bff66b406a7c 894 893 2021-02-15T09:24:37Z Hagbard 2 wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ==Funktionen im Betastadium aktivieren== Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen oft noch nicht vollständig implementiert sind, können diese auch unvorhergesehene Nebeneffekte haben oder fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal (z.B. bei Verwendung von mit den Remote Ops in Verbindung stehenden neuen Funktionen). Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===die von Remote Ops verwendeten Dateizugriffsrechte anpassen=== Standardmäßig werden von MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die von den jeweiligen Serverdiensten vorgegebenen Standardzugriffsrechte verwendet, was u.U. zur Folge haben kann, dass nur der Eigentümer der Dateien Vollzugriff (also lesend und schreibend) auf alle Dateien und Verzeichnissehat hat. Mit Hilfe folgender Terminalanweisung kann dieser Wert geändert werden, beispielsweise auf 777 (Vollzugriff für alle): defaults write de.appsolute.mamppro permsString -string "777" '''Wichtig:''' die Angabe erfolgt in Oktalschreibweise OHNE führende 0, andere Schreibweisen werden ignoriert. deaktiviert wird diese Option hiermit (wiederum gefolgt von einem Neustart der App): defaults delete de.appsolute.mamppro permsString '''Wichtig:''' Während der Betaphase wird dieser Wert bei jedem Neustart von MAMP PRO wieder auf 755 zurückgesetzt. Verfügbar ab vorr. Version 6.3.2 74db10c1bf71d870a79247a365d135efbee3c930 895 894 2021-02-15T09:25:03Z Hagbard 2 /* die von Remote Ops verwendeten Dateizugriffsrechte anpassen */ wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ==Funktionen im Betastadium aktivieren== Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen oft noch nicht vollständig implementiert sind, können diese auch unvorhergesehene Nebeneffekte haben oder fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal (z.B. bei Verwendung von mit den Remote Ops in Verbindung stehenden neuen Funktionen). Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===die von Remote Ops verwendeten Dateizugriffsrechte anpassen=== Standardmäßig werden von MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die von den jeweiligen Serverdiensten vorgegebenen Standardzugriffsrechte verwendet, was u.U. zur Folge haben kann, dass nur der Eigentümer der Dateien Vollzugriff (also lesend und schreibend) auf alle Dateien und Verzeichnissehat hat. Mit Hilfe folgender Terminalanweisung kann dieser Wert geändert werden, beispielsweise auf 777 (Vollzugriff für alle): defaults write de.appsolute.mamppro permsString -string "777" '''Wichtig:''' die Angabe erfolgt in Oktalschreibweise OHNE führende 0, andere Schreibweisen werden ignoriert. deaktiviert wird diese Option hiermit (wiederum gefolgt von einem Neustart der App): defaults delete de.appsolute.mamppro permsString Verfügbar ab vorr. Version 6.3.2 d1f558088655ae87c1a37651cd9ec46f7f36aeef 896 895 2021-02-15T09:25:54Z Hagbard 2 /* die von Remote Ops verwendeten Dateizugriffsrechte anpassen */ wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ==Funktionen im Betastadium aktivieren== Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen oft noch nicht vollständig implementiert sind, können diese auch unvorhergesehene Nebeneffekte haben oder fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal (z.B. bei Verwendung von mit den Remote Ops in Verbindung stehenden neuen Funktionen). Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===die von Remote Ops verwendeten Dateizugriffsrechte anpassen=== Standardmäßig werden von MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die von den jeweiligen Serverdiensten vorgegebenen Standardzugriffsrechte verwendet, was u.U. zur Folge haben kann, dass nur der Eigentümer der Dateien Vollzugriff (also lesend und schreibend) auf alle Dateien und Verzeichnissehat hat. Mit Hilfe folgender Terminalanweisung kann dieser Wert geändert werden, beispielsweise auf 777 (Vollzugriff für alle): defaults write de.appsolute.mamppro permsString -string "777" '''Wichtig:''' die Angabe erfolgt in Oktalschreibweise OHNE führende 0, andere Schreibweisen werden ignoriert. Ebenso werden Werte < 600 ignoriert, da diese im vorliegenden Kontext ohnehin keinen Sinn ergeben würden. deaktiviert wird diese Option hiermit (wiederum gefolgt von einem Neustart der App): defaults delete de.appsolute.mamppro permsString Verfügbar ab vorr. Version 6.3.2 cb11358722959bab6e66ecaee4fef16175b8a2ee 897 896 2021-02-15T09:26:28Z Hagbard 2 /* die von Remote Ops verwendeten Dateizugriffsrechte anpassen */ wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ==Funktionen im Betastadium aktivieren== Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen oft noch nicht vollständig implementiert sind, können diese auch unvorhergesehene Nebeneffekte haben oder fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal (z.B. bei Verwendung von mit den Remote Ops in Verbindung stehenden neuen Funktionen). Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===die von Remote Ops verwendeten Dateizugriffsrechte anpassen=== Standardmäßig werden von MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die von den jeweiligen Serverdiensten vorgegebenen Standardzugriffsrechte verwendet, was u.U. zur Folge haben kann, dass nur der Eigentümer der Dateien Vollzugriff (also lesend und schreibend) auf alle Dateien und Verzeichnissehat hat. Mit Hilfe folgender Terminalanweisung kann dieser Wert geändert werden, beispielsweise auf 777 (Vollzugriff für alle): defaults write de.appsolute.mamppro permsString -string "777" '''Wichtig:''' die Angabe erfolgt in Oktalschreibweise OHNE führende 0, andere Schreibweisen werden ignoriert. Ebenso werden Werte < 600 ignoriert, da diese im vorliegenden Kontext ohnehin keinen Sinn ergeben würden. In diesem Fall wird ein Defaultwert von 0755 verwendet. deaktiviert wird diese Option hiermit (wiederum gefolgt von einem Neustart der App): defaults delete de.appsolute.mamppro permsString Verfügbar ab vorr. Version 6.3.2 caf2aae1744e51a4845febbef3465f54b6e9e065 898 897 2021-02-15T09:29:32Z Hagbard 2 /* die von Remote Ops verwendeten Dateizugriffsrechte anpassen */ wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ==Funktionen im Betastadium aktivieren== Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen oft noch nicht vollständig implementiert sind, können diese auch unvorhergesehene Nebeneffekte haben oder fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal (z.B. bei Verwendung von mit den Remote Ops in Verbindung stehenden neuen Funktionen). Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===die von Remote Ops verwendeten Dateizugriffsrechte anpassen=== Standardmäßig werden von MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die von den jeweiligen Serverdiensten vorgegebenen Standardzugriffsrechte verwendet, was u.U. zur Folge haben kann, dass nur der Eigentümer der Dateien Vollzugriff (also lesend und schreibend) auf alle Dateien und Verzeichnissehat hat. Mit Hilfe folgender Terminalanweisung kann dieser Wert geändert werden, beispielsweise auf 777 (Vollzugriff für alle): defaults write de.appsolute.mamppro permsString -string "777" '''Wichtig:''' die Angabe erfolgt in Oktalschreibweise OHNE führende 0, andere Schreibweisen werden ignoriert. Ebenso werden Werte < 600 ignoriert, da diese im vorliegenden Kontext ohnehin keinen Sinn ergeben würden (keine Lese- und/oder Schreibrechte für den Eigentümer). In diesen Fällen wird ein Defaultwert von "755" verwendet. deaktiviert wird diese Option hiermit (wiederum gefolgt von einem Neustart der App): defaults delete de.appsolute.mamppro permsString Verfügbar ab vorr. Version 6.3.2 0c4c2f097dc7764f5acfb316eaf9d9047eda7b94 899 898 2021-02-15T09:33:42Z Hagbard 2 /* die von Remote Ops verwendeten Dateizugriffsrechte anpassen */ wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ==Funktionen im Betastadium aktivieren== Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen oft noch nicht vollständig implementiert sind, können diese auch unvorhergesehene Nebeneffekte haben oder fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal (z.B. bei Verwendung von mit den Remote Ops in Verbindung stehenden neuen Funktionen). Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===die von Remote Ops verwendeten Dateizugriffsrechte anpassen=== Standardmäßig werden von MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die von den jeweiligen Serverdiensten vorgegebenen Standardzugriffsrechte verwendet, was u.U. zur Folge haben kann, dass nur der Eigentümer der Dateien Vollzugriff (also lesend und schreibend) auf alle Dateien und Verzeichnissehat hat. Mit Hilfe folgender Terminalanweisung kann dieser Wert geändert werden, beispielsweise auf 777 (Vollzugriff für alle): defaults write de.appsolute.mamppro permsString -string "777" Der aktuell verwendete Wert kann mit folgender Terminal-Anweidung kontrolliert werden: defaults read de.appsolute.mamppro permsString Falls dieser nicht gesetzt ist, wird statt dessen eine Fehlermeldung wie diese hier ausgegeben: The domain/default pair of (de.appsolute.mamppro, permsString) does not exist '''Wichtig:''' die Angabe erfolgt in Oktalschreibweise OHNE führende 0, andere Schreibweisen werden ignoriert. Ebenso werden Werte < 600 ignoriert, da diese im vorliegenden Kontext ohnehin keinen Sinn ergeben würden (keine Lese- und/oder Schreibrechte für den Eigentümer). In diesen Fällen wird ein Defaultwert von "755" verwendet. deaktiviert wird diese Option hiermit (wiederum gefolgt von einem Neustart der App): defaults delete de.appsolute.mamppro permsString Verfügbar ab vorr. Version 6.3.2 a654a3ec9415870ddc2db7ec404cd5de2bba6551 900 899 2021-02-15T09:34:02Z Hagbard 2 /* die von Remote Ops verwendeten Dateizugriffsrechte anpassen */ wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ==Funktionen im Betastadium aktivieren== Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen oft noch nicht vollständig implementiert sind, können diese auch unvorhergesehene Nebeneffekte haben oder fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal (z.B. bei Verwendung von mit den Remote Ops in Verbindung stehenden neuen Funktionen). Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===die von Remote Ops verwendeten Dateizugriffsrechte anpassen=== Standardmäßig werden von MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die von den jeweiligen Serverdiensten vorgegebenen Standardzugriffsrechte verwendet, was u.U. zur Folge haben kann, dass nur der Eigentümer der Dateien Vollzugriff (also lesend und schreibend) auf alle Dateien und Verzeichnissehat hat. Mit Hilfe folgender Terminalanweisung kann dieser Wert geändert werden, beispielsweise auf 777 (Vollzugriff für alle): defaults write de.appsolute.mamppro permsString -string "777" Der aktuell verwendete Wert kann mit folgender Terminal-Anweidung kontrolliert werden: defaults read de.appsolute.mamppro permsString Falls diese Option gar nicht gesetzt sein sollte, wird statt dessen eine Fehlermeldung wie diese hier ausgegeben: The domain/default pair of (de.appsolute.mamppro, permsString) does not exist '''Wichtig:''' die Angabe erfolgt in Oktalschreibweise OHNE führende 0, andere Schreibweisen werden ignoriert. Ebenso werden Werte < 600 ignoriert, da diese im vorliegenden Kontext ohnehin keinen Sinn ergeben würden (keine Lese- und/oder Schreibrechte für den Eigentümer). In diesen Fällen wird ein Defaultwert von "755" verwendet. deaktiviert wird diese Option hiermit (wiederum gefolgt von einem Neustart der App): defaults delete de.appsolute.mamppro permsString Verfügbar ab vorr. Version 6.3.2 40fb47f7806da39848bf7b96602c7afce1ceea8c 901 900 2021-02-15T09:34:48Z Hagbard 2 /* die von Remote Ops verwendeten Dateizugriffsrechte anpassen */ wikitext text/x-wiki Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Remote Ops== ===Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ==Funktionen im Betastadium aktivieren== Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen oft noch nicht vollständig implementiert sind, können diese auch unvorhergesehene Nebeneffekte haben oder fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal (z.B. bei Verwendung von mit den Remote Ops in Verbindung stehenden neuen Funktionen). Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===die von Remote Ops verwendeten Dateizugriffsrechte anpassen=== Standardmäßig werden von MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die von den jeweiligen Serverdiensten vorgegebenen Standardzugriffsrechte verwendet, was u.U. zur Folge haben kann, dass nur der Eigentümer der Dateien Vollzugriff (also lesend und schreibend) auf alle Dateien und Verzeichnissehat hat. Mit Hilfe folgender Terminalanweisung kann dieser Wert geändert werden, beispielsweise auf 777 (Vollzugriff für alle): defaults write de.appsolute.mamppro permsString -string "777" Der aktuell verwendete Wert kann mit folgender Terminal-Anweidung kontrolliert werden: defaults read de.appsolute.mamppro permsString Falls diese Option gar nicht gesetzt sein sollte, wird statt dessen eine Fehlermeldung wie diese hier ausgegeben: The domain/default pair of (de.appsolute.mamppro, permsString) does not exist '''Wichtig:''' die Angabe erfolgt in Oktalschreibweise OHNE führende 0, andere Schreibweisen werden ignoriert. Ebenso werden Werte < 600 ignoriert, da diese im vorliegenden Kontext ohnehin keinen Sinn ergeben würden (keine Lese- und/oder Schreibrechte für den Eigentümer). In diesen Fällen wird ein Defaultwert von "755" verwendet. deaktiviert wird diese Option hiermit (wiederum gefolgt von einem Neustart der App): defaults delete de.appsolute.mamppro permsString Verfügbar vorr. ab Version 6.3.2 0bc35e4e7c67ef61b8ebc8961f6851be1072fa81 Swift Quickies 0 321 1630 2021-09-22T06:50:56Z Hagbard 2 Created page with "[[Category:Terminal]] [[Category:Development]]" wikitext text/x-wiki [[Category:Terminal]] [[Category:Development]] a3ca532707fda3d92b3ab7c64322ad48f9e96dd8 Objective-C Quickies 0 292 1570 2021-09-22T07:11:31Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]] [[Category:Development]] ==Encapsulating Data== ===Difference between {{TT|__weak}} and {{TT|__block}}=== From the [https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html#//apple_ref/doc/uid/TP40011210 Apple Documentation]: : '''{{TT|__weak}}''' specifies a reference that does not keep the referenced object alive. A weak reference is set to nil when there are no {{TT|__strong}} references to the object. {{TT|__weak}} is the opposite of {{TT|__strong}}. : '''{{TT|__block}}''' variables live in storage that is shared between the lexical scope of the variable and all blocks and block copies declared or created within the variable’s lexical scope. Thus, the storage will survive the destruction of the stack frame if any copies of the blocks declared within the frame survive beyond the end of the frame (for example, by being enqueued somewhere for later execution). Multiple blocks in a given lexical scope can simultaneously use a shared variable. : '''Note:''' A variable maintains a {{TT|__strong}} reference to an object only as long as that variable is in scope, or until it is reassigned to another object or nil. [...] You don’t need to specify __strong explicitly, because it is the default. ==See also== * Apple: ** [https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html#//apple_ref/doc/uid/TP40011210 Programming with Objective-C] ** [https://developer.apple.com/documentation/objectivec Objective-C Runtime] ** [https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html The Objective-C Programming Language] ** [https://developer.apple.com/documentation/swift/imported_c_and_objective-c_apis Imported C and Objective-C APIs] * Wikipedia: ** [[wikipedia:Objective-C|Objective-C]] dd5464ce5ffd4967f2be2500a96d499a61195682 Youtube RSS Feeds 0 336 1660 2021-12-29T09:31:20Z Hagbard 2 Created page with "You'll have to use URLs created in a specific manner in order to subscribe to Youtube channels and playlists using an average RSS reader app: ===Subscribing to a Playlist===..." wikitext text/x-wiki You'll have to use URLs created in a specific manner in order to subscribe to Youtube channels and playlists using an average RSS reader app: ===Subscribing to a Playlist=== Replace "{{TT|<PLAYLISTID/>}}" with the respective value taken from the channel's URL: https://www.youtube.com/feeds/videos.xml?playlist_id=<PLAYLISTID/> For example: https://www.youtube.com/feeds/videos.xml?playlist_id=PL6v1Ej3QgEXUtDCV-6uwRiRW-K1JiTxO- ===Subscribing to a Channel=== This is a bit trickier since we'll have to ascertain the channel ID first. This can be done by either using a tool like [https://commentpicker.com/youtube-channel-id.php this one] or by searching the channel web site's HTML source code for it (see below). Then replace "{{TT|<CHANNELID/>}}" of this URL with the channel's ID: https://www.youtube.com/feeds/videos.xml?channel_id=<CHANNELID/> For example a link to the "NASAgovVideo" channel's RSS feed: https://www.youtube.com/feeds/videos.xml?channel_id=UC_aP7p621ATY_yAa8jMqUVA To obtain the channel from the channel's web site itself you'll have to view its HTML source code and find one of the following needles: data-channel-external-id="<CHANNELID/>" or: "externalId":"<CHANNELID/>" or (there may be a line break after the key part): "key": "browse_id", "value": "<CHANNELID/>" d1f40d2fe0bc627c3844f4925f6eddb76ba5c8e1 MacOS Installationsmedium erstellen (Mac App Store) 0 185 925 2022-01-07T09:17:11Z Hagbard 2 Hagbard moved page [[MacOS Installationsmedium erstellen (Mac App Store)]] to [[MacOS Installationsmedium erstellen]] wikitext text/x-wiki #REDIRECT [[MacOS Installationsmedium erstellen]] 6dba8181ecdef7847f717f85d5bbc4c6c8a37210 MAMP Quickies 0 28 906 2022-01-11T14:42:52Z Hagbard 2 Created page with "==Crash nach Downgrade== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgen..." wikitext text/x-wiki ==Crash nach Downgrade== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgende beiden Dateien zu löschen. Anschließend sollte sich die ältere Version wieder problemlos starten lassen: /Library/LaunchDaemons/de.appsolute.mampprohelper.plist /Library/PrivilegedHelperTools/de.appsolute.mampprohelper 5917ccdadf624a8196eb80b144472bdae61b6614 907 906 2022-09-30T11:58:28Z Hagbard 2 wikitext text/x-wiki ==Crash nach Downgrade== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgende beiden Dateien zu löschen. Anschließend sollte sich die ältere Version wieder problemlos starten lassen: /Library/LaunchDaemons/de.appsolute.mampprohelper.plist /Library/PrivilegedHelperTools/de.appsolute.mampprohelper ==Freeze (SBOD) beim MAMP PRO Start== Ein freeze beim Start von MAMP PRO kann u.U. dadurch verursacht werden, dass die Kommunikation mit dem MAMP PRO Helper Tool nicht mehr funktioniert. In diesem Fall wartet MAMP PRO dann solange auf den Helper bis es zu einem timeout kommt. Der Helper lässt sich mit folgenden Terminal-Anweisungen deinstallieren (MAMP PRO unbedingt vorher beenden!): sudo launchctl unload /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/PrivilegedHelperTools/de.appsolute.mampprohelper Beim nachfolgenden Strat von MAMP PRO müsste dieser dann erneut nach einem Benutzer mit Admin-Berechtigung fragen um dieses Helper Too reinstallieren zu können: 0c30fcd36222698f0e6dc9487eeae3af4dbfcd57 908 907 2022-09-30T11:59:09Z Hagbard 2 wikitext text/x-wiki ==Crash nach Downgrade== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgende beiden Dateien zu löschen. Anschließend sollte sich die ältere Version wieder problemlos starten lassen: /Library/LaunchDaemons/de.appsolute.mampprohelper.plist /Library/PrivilegedHelperTools/de.appsolute.mampprohelper ==Freeze (SBOD) beim MAMP PRO Start== Ein freeze beim Start von MAMP PRO kann u.U. dadurch verursacht werden, dass die Kommunikation mit dem MAMP PRO Helper Tool nicht mehr funktioniert. In diesem Fall wartet MAMP PRO dann solange auf den Helper bis es zu einem timeout kommt. Der Helper lässt sich mit folgenden Terminal-Anweisungen deinstallieren (MAMP PRO unbedingt vorher beenden!): sudo launchctl unload /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/PrivilegedHelperTools/de.appsolute.mampprohelper Beim nachfolgenden Strat von MAMP PRO müsste dieser dann erneut nach einem Benutzer mit Admin-Berechtigung fragen um dieses Helper Too reinstallieren zu können (Gültig ab MAMP PRO Version 6) 5e1293f0cf72442a80b93a40b760e656f88341af 909 908 2022-09-30T12:01:28Z Hagbard 2 wikitext text/x-wiki ==Crash nach Downgrade== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgende beiden Dateien zu löschen. Anschließend sollte sich die ältere Version wieder problemlos starten lassen: /Library/LaunchDaemons/de.appsolute.mampprohelper.plist /Library/PrivilegedHelperTools/de.appsolute.mampprohelper ==Freeze (SBOD) beim MAMP PRO Start== Ein freeze beim Start von MAMP PRO kann u.U. dadurch verursacht werden, dass die Kommunikation mit dem MAMP PRO Helper Tool nicht mehr funktioniert. In diesem Fall wartet MAMP PRO dann solange auf den Helper bis es zu einem timeout kommt. Der Helper lässt sich mit folgenden Terminal-Anweisungen deinstallieren (MAMP PRO unbedingt vorher beenden!): sudo launchctl unload /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/PrivilegedHelperTools/de.appsolute.mampprohelper Beim nachfolgenden Strat von MAMP PRO müsste dieser dann erneut nach einem Benutzer mit Admin-Berechtigung fragen um dieses Helper Too reinstallieren zu können (Gültig ab MAMP PRO Version 6) Überprüfen lässt sich das z.B. mit folgenden Anweisungen: sudo launchctl list de.appsolute.mampprohelper | grep "Label" sudo ls /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo ls /Library/PrivilegedHelperTools/de.appsolute.mampprohelper bfdedd038d3818ad786e2e234d586add4129fc45 910 909 2022-09-30T12:04:55Z Hagbard 2 /* Freeze (SBOD) beim MAMP PRO Start */ wikitext text/x-wiki ==Crash nach Downgrade== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgende beiden Dateien zu löschen. Anschließend sollte sich die ältere Version wieder problemlos starten lassen: /Library/LaunchDaemons/de.appsolute.mampprohelper.plist /Library/PrivilegedHelperTools/de.appsolute.mampprohelper ==Freeze (SBOD) beim MAMP PRO Start== Ein freeze beim Start von MAMP PRO kann u.U. dadurch verursacht werden, dass die Kommunikation mit dem MAMP PRO Helper Tool nicht mehr funktioniert. In diesem Fall wartet MAMP PRO dann solange auf den Helper bis es zu einem timeout kommt. Der Helper lässt sich mit folgenden Terminal-Anweisungen deinstallieren (MAMP PRO unbedingt vorher beenden!): sudo launchctl unload /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/PrivilegedHelperTools/de.appsolute.mampprohelper Beim nachfolgenden Strat von MAMP PRO müsste dieser dann erneut nach einem Benutzer mit Admin-Berechtigung fragen um dieses Helper Too reinstallieren zu können (Gültig ab MAMP PRO Version 6) Falls diese Anweisungen mit Fehlermeldungen quittiert werden (insbes. die erste) ist das ok, das bedeutet lediglich dass der Helper gar nicht läuft bzw. installiert ist. In dem Fall ist der Helper dann aber auch nicht die Ursache für den Hänger... Vorab überprüfen lässt sich die Existens des Helper Tools beispielsweise mit folgenden Anweisungen: sudo launchctl list de.appsolute.mampprohelper sudo ls /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo ls /Library/PrivilegedHelperTools/de.appsolute.mampprohelper 5e00594610f8aafa0d8856ec9aeaae61614f3e1c 911 910 2022-09-30T12:07:09Z Hagbard 2 wikitext text/x-wiki ==Crash nach Downgrade== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgende beiden Dateien zu löschen. Anschließend sollte sich die ältere Version wieder problemlos starten lassen: /Library/LaunchDaemons/de.appsolute.mampprohelper.plist /Library/PrivilegedHelperTools/de.appsolute.mampprohelper ==Freeze (SBOD) beim MAMP PRO Start== Ein freeze beim Start von MAMP PRO kann u.U. dadurch verursacht werden, dass die Kommunikation mit dem MAMP PRO Helper Tool nicht mehr funktioniert. In diesem Fall wartet MAMP PRO dann solange auf den Helper bis es zu einem timeout kommt. Der Helper lässt sich mit folgenden Terminal-Anweisungen deinstallieren (MAMP PRO unbedingt vorher beenden!): sudo launchctl unload /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/PrivilegedHelperTools/de.appsolute.mampprohelper Die erste Anweisung beendet den Helper, falls dieser läuft, die zweite löscht die Definition für den Helper (also wann und wie der Helper vom System gestartet werden soll), die dritte Anweisung löscht dann den Helper selber - also dessen Programmcode. Beim nachfolgenden Start von MAMP PRO müsste dieser dann erneut nach einem Benutzer mit Admin-Berechtigung fragen um dieses Helper Too reinstallieren zu können (Gültig ab MAMP PRO Version 6) Falls diese Anweisungen mit Fehlermeldungen quittiert werden (insbes. die erste) ist das ok, das bedeutet lediglich dass der Helper gar nicht läuft bzw. installiert ist. In dem Fall ist der Helper dann aber auch nicht die Ursache für den Hänger... Vorab überprüfen lässt sich die Existens des Helper Tools beispielsweise mit folgenden Anweisungen: sudo launchctl list de.appsolute.mampprohelper sudo ls /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo ls /Library/PrivilegedHelperTools/de.appsolute.mampprohelper ff3f9bf56110398f8a1fd999a7b8120b4d350b25 912 911 2022-09-30T12:08:42Z Hagbard 2 /* Freeze (SBOD) beim MAMP PRO Start */ wikitext text/x-wiki ==Crash nach Downgrade== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgende beiden Dateien zu löschen. Anschließend sollte sich die ältere Version wieder problemlos starten lassen: /Library/LaunchDaemons/de.appsolute.mampprohelper.plist /Library/PrivilegedHelperTools/de.appsolute.mampprohelper ==Freeze (SBOD) beim MAMP PRO Start== Ein freeze beim Start von MAMP PRO kann u.U. dadurch verursacht werden, dass die Kommunikation mit dem MAMP PRO Helper Tool nicht mehr funktioniert. In diesem Fall wartet MAMP PRO dann solange auf den Helper bis es zu einem timeout kommt. Der Helper lässt sich mit folgenden Terminal-Anweisungen deinstallieren (MAMP PRO unbedingt vorher beenden!): sudo launchctl unload /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/PrivilegedHelperTools/de.appsolute.mampprohelper Die erste Anweisung beendet den Helper (falls dieser läuft; falls nicht erscheint eine Fehlermeldung), die zweite löscht die Definition für den Helper (also wann und wie der Helper genau vom System gestartet werden soll) und die dritte Anweisung löscht dann letztlich den Helper selber - also dessen Programmcode. Beim nachfolgenden Start von MAMP PRO müsste dieser dann erneut nach einem Benutzer mit Admin-Berechtigung fragen um dieses Helper Too reinstallieren zu können (Gültig ab MAMP PRO Version 6) Falls diese Anweisungen mit Fehlermeldungen quittiert werden (insbes. die erste) ist das ok, das bedeutet lediglich dass der Helper gar nicht läuft bzw. installiert ist. In dem Fall ist der Helper dann aber auch nicht die Ursache für den Hänger... Vorab überprüfen lässt sich die Existens des Helper Tools beispielsweise mit folgenden Anweisungen: sudo launchctl list de.appsolute.mampprohelper sudo ls /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo ls /Library/PrivilegedHelperTools/de.appsolute.mampprohelper a393d7573f28f6b2673cb2395bab2c1bf94d13ac 913 912 2022-09-30T12:11:19Z Hagbard 2 wikitext text/x-wiki [[Hint]] [[Development]] ==Crash nach Downgrade== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgende beiden Dateien zu löschen. Anschließend sollte sich die ältere Version wieder problemlos starten lassen: /Library/LaunchDaemons/de.appsolute.mampprohelper.plist /Library/PrivilegedHelperTools/de.appsolute.mampprohelper ==Freeze (SBOD) beim MAMP PRO Start== Ein freeze beim Start von MAMP PRO kann u.U. dadurch verursacht werden, dass die Kommunikation mit dem MAMP PRO Helper Tool nicht mehr funktioniert. In diesem Fall wartet MAMP PRO dann solange auf den Helper bis es zu einem timeout kommt. Der Helper lässt sich mit folgenden Terminal-Anweisungen deinstallieren (MAMP PRO unbedingt vorher beenden!): sudo launchctl unload /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/PrivilegedHelperTools/de.appsolute.mampprohelper Die erste Anweisung beendet den Helper (falls dieser läuft; falls nicht erscheint eine Fehlermeldung), die zweite löscht die Definition für den Helper (also wann und wie der Helper genau vom System gestartet werden soll) und die dritte Anweisung löscht dann letztlich den Helper selber - also dessen Programmcode. Beim nachfolgenden Start von MAMP PRO müsste dieser dann erneut nach einem Benutzer mit Admin-Berechtigung fragen um dieses Helper Too reinstallieren zu können (Gültig ab MAMP PRO Version 6) Falls diese Anweisungen mit Fehlermeldungen quittiert werden (insbes. die erste) ist das ok, das bedeutet lediglich dass der Helper gar nicht läuft bzw. installiert ist. In dem Fall ist der Helper dann aber auch nicht die Ursache für den Hänger... Vorab überprüfen lässt sich die Existens des Helper Tools beispielsweise mit folgenden Anweisungen: sudo launchctl list de.appsolute.mampprohelper sudo ls /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo ls /Library/PrivilegedHelperTools/de.appsolute.mampprohelper 6efbf1c7a07b3285140f1e68bd94cdc14cdc33e5 914 913 2022-09-30T12:11:40Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] [[Category:Development]] ==Crash nach Downgrade== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgende beiden Dateien zu löschen. Anschließend sollte sich die ältere Version wieder problemlos starten lassen: /Library/LaunchDaemons/de.appsolute.mampprohelper.plist /Library/PrivilegedHelperTools/de.appsolute.mampprohelper ==Freeze (SBOD) beim MAMP PRO Start== Ein freeze beim Start von MAMP PRO kann u.U. dadurch verursacht werden, dass die Kommunikation mit dem MAMP PRO Helper Tool nicht mehr funktioniert. In diesem Fall wartet MAMP PRO dann solange auf den Helper bis es zu einem timeout kommt. Der Helper lässt sich mit folgenden Terminal-Anweisungen deinstallieren (MAMP PRO unbedingt vorher beenden!): sudo launchctl unload /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/PrivilegedHelperTools/de.appsolute.mampprohelper Die erste Anweisung beendet den Helper (falls dieser läuft; falls nicht erscheint eine Fehlermeldung), die zweite löscht die Definition für den Helper (also wann und wie der Helper genau vom System gestartet werden soll) und die dritte Anweisung löscht dann letztlich den Helper selber - also dessen Programmcode. Beim nachfolgenden Start von MAMP PRO müsste dieser dann erneut nach einem Benutzer mit Admin-Berechtigung fragen um dieses Helper Too reinstallieren zu können (Gültig ab MAMP PRO Version 6) Falls diese Anweisungen mit Fehlermeldungen quittiert werden (insbes. die erste) ist das ok, das bedeutet lediglich dass der Helper gar nicht läuft bzw. installiert ist. In dem Fall ist der Helper dann aber auch nicht die Ursache für den Hänger... Vorab überprüfen lässt sich die Existens des Helper Tools beispielsweise mit folgenden Anweisungen: sudo launchctl list de.appsolute.mampprohelper sudo ls /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo ls /Library/PrivilegedHelperTools/de.appsolute.mampprohelper 9eb7287b0798f6ad98cbaa7324c5fbf480347a40 915 914 2022-09-30T12:13:05Z Hagbard 2 Hagbard moved page [[MAMP PRO troubleshooting]] to [[MAMP Quickies]] wikitext text/x-wiki [[Category:Hint]] [[Category:Development]] ==Crash nach Downgrade== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgende beiden Dateien zu löschen. Anschließend sollte sich die ältere Version wieder problemlos starten lassen: /Library/LaunchDaemons/de.appsolute.mampprohelper.plist /Library/PrivilegedHelperTools/de.appsolute.mampprohelper ==Freeze (SBOD) beim MAMP PRO Start== Ein freeze beim Start von MAMP PRO kann u.U. dadurch verursacht werden, dass die Kommunikation mit dem MAMP PRO Helper Tool nicht mehr funktioniert. In diesem Fall wartet MAMP PRO dann solange auf den Helper bis es zu einem timeout kommt. Der Helper lässt sich mit folgenden Terminal-Anweisungen deinstallieren (MAMP PRO unbedingt vorher beenden!): sudo launchctl unload /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/PrivilegedHelperTools/de.appsolute.mampprohelper Die erste Anweisung beendet den Helper (falls dieser läuft; falls nicht erscheint eine Fehlermeldung), die zweite löscht die Definition für den Helper (also wann und wie der Helper genau vom System gestartet werden soll) und die dritte Anweisung löscht dann letztlich den Helper selber - also dessen Programmcode. Beim nachfolgenden Start von MAMP PRO müsste dieser dann erneut nach einem Benutzer mit Admin-Berechtigung fragen um dieses Helper Too reinstallieren zu können (Gültig ab MAMP PRO Version 6) Falls diese Anweisungen mit Fehlermeldungen quittiert werden (insbes. die erste) ist das ok, das bedeutet lediglich dass der Helper gar nicht läuft bzw. installiert ist. In dem Fall ist der Helper dann aber auch nicht die Ursache für den Hänger... Vorab überprüfen lässt sich die Existens des Helper Tools beispielsweise mit folgenden Anweisungen: sudo launchctl list de.appsolute.mampprohelper sudo ls /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo ls /Library/PrivilegedHelperTools/de.appsolute.mampprohelper 9eb7287b0798f6ad98cbaa7324c5fbf480347a40 916 915 2022-09-30T12:13:55Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] [[Category:Development]] ==MAMP PRO Troubleshooting== ===Crash nach Downgrade=== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgende beiden Dateien zu löschen. Anschließend sollte sich die ältere Version wieder problemlos starten lassen: /Library/LaunchDaemons/de.appsolute.mampprohelper.plist /Library/PrivilegedHelperTools/de.appsolute.mampprohelper ===Freeze (SBOD) beim App-Start=== Ein freeze beim Start von MAMP PRO kann u.U. dadurch verursacht werden, dass die Kommunikation mit dem MAMP PRO Helper Tool nicht mehr funktioniert. In diesem Fall wartet MAMP PRO dann solange auf den Helper bis es zu einem timeout kommt. Der Helper lässt sich mit folgenden Terminal-Anweisungen deinstallieren (MAMP PRO unbedingt vorher beenden!): sudo launchctl unload /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/PrivilegedHelperTools/de.appsolute.mampprohelper Die erste Anweisung beendet den Helper (falls dieser läuft; falls nicht erscheint eine Fehlermeldung), die zweite löscht die Definition für den Helper (also wann und wie der Helper genau vom System gestartet werden soll) und die dritte Anweisung löscht dann letztlich den Helper selber - also dessen Programmcode. Beim nachfolgenden Start von MAMP PRO müsste dieser dann erneut nach einem Benutzer mit Admin-Berechtigung fragen um dieses Helper Too reinstallieren zu können (Gültig ab MAMP PRO Version 6) Falls diese Anweisungen mit Fehlermeldungen quittiert werden (insbes. die erste) ist das ok, das bedeutet lediglich dass der Helper gar nicht läuft bzw. installiert ist. In dem Fall ist der Helper dann aber auch nicht die Ursache für den Hänger... Vorab überprüfen lässt sich die Existens des Helper Tools beispielsweise mit folgenden Anweisungen: sudo launchctl list de.appsolute.mampprohelper sudo ls /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo ls /Library/PrivilegedHelperTools/de.appsolute.mampprohelper 26366814775062ce25769ea6c1f6adaa3d5a8a21 917 916 2022-09-30T12:16:30Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] [[Category:Development]] ==MAMP== <div style="position:relative; top:-32px; left:70px; float:left;">[[Image:W21-1a.svg|24px|right]]</div> ==MAMP PRO Troubleshooting== ===Crash nach Downgrade=== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgende beiden Dateien zu löschen. Anschließend sollte sich die ältere Version wieder problemlos starten lassen: /Library/LaunchDaemons/de.appsolute.mampprohelper.plist /Library/PrivilegedHelperTools/de.appsolute.mampprohelper ===Freeze (SBOD) beim App-Start=== Ein freeze beim Start von MAMP PRO kann u.U. dadurch verursacht werden, dass die Kommunikation mit dem MAMP PRO Helper Tool nicht mehr funktioniert. In diesem Fall wartet MAMP PRO dann solange auf den Helper bis es zu einem timeout kommt. Der Helper lässt sich mit folgenden Terminal-Anweisungen deinstallieren (MAMP PRO unbedingt vorher beenden!): sudo launchctl unload /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/PrivilegedHelperTools/de.appsolute.mampprohelper Die erste Anweisung beendet den Helper (falls dieser läuft; falls nicht erscheint eine Fehlermeldung), die zweite löscht die Definition für den Helper (also wann und wie der Helper genau vom System gestartet werden soll) und die dritte Anweisung löscht dann letztlich den Helper selber - also dessen Programmcode. Beim nachfolgenden Start von MAMP PRO müsste dieser dann erneut nach einem Benutzer mit Admin-Berechtigung fragen um dieses Helper Too reinstallieren zu können (Gültig ab MAMP PRO Version 6) Falls diese Anweisungen mit Fehlermeldungen quittiert werden (insbes. die erste) ist das ok, das bedeutet lediglich dass der Helper gar nicht läuft bzw. installiert ist. In dem Fall ist der Helper dann aber auch nicht die Ursache für den Hänger... Vorab überprüfen lässt sich die Existens des Helper Tools beispielsweise mit folgenden Anweisungen: sudo launchctl list de.appsolute.mampprohelper sudo ls /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo ls /Library/PrivilegedHelperTools/de.appsolute.mampprohelper 694ef01d7d9a4f5cb9a99c783eadb294f3c006fc 918 917 2022-09-30T12:16:57Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] [[Category:Development]] ==MAMP== [[Image:W21-1a.svg|24px|right]] ==MAMP PRO Troubleshooting== ===Crash nach Downgrade=== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgende beiden Dateien zu löschen. Anschließend sollte sich die ältere Version wieder problemlos starten lassen: /Library/LaunchDaemons/de.appsolute.mampprohelper.plist /Library/PrivilegedHelperTools/de.appsolute.mampprohelper ===Freeze (SBOD) beim App-Start=== Ein freeze beim Start von MAMP PRO kann u.U. dadurch verursacht werden, dass die Kommunikation mit dem MAMP PRO Helper Tool nicht mehr funktioniert. In diesem Fall wartet MAMP PRO dann solange auf den Helper bis es zu einem timeout kommt. Der Helper lässt sich mit folgenden Terminal-Anweisungen deinstallieren (MAMP PRO unbedingt vorher beenden!): sudo launchctl unload /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/PrivilegedHelperTools/de.appsolute.mampprohelper Die erste Anweisung beendet den Helper (falls dieser läuft; falls nicht erscheint eine Fehlermeldung), die zweite löscht die Definition für den Helper (also wann und wie der Helper genau vom System gestartet werden soll) und die dritte Anweisung löscht dann letztlich den Helper selber - also dessen Programmcode. Beim nachfolgenden Start von MAMP PRO müsste dieser dann erneut nach einem Benutzer mit Admin-Berechtigung fragen um dieses Helper Too reinstallieren zu können (Gültig ab MAMP PRO Version 6) Falls diese Anweisungen mit Fehlermeldungen quittiert werden (insbes. die erste) ist das ok, das bedeutet lediglich dass der Helper gar nicht läuft bzw. installiert ist. In dem Fall ist der Helper dann aber auch nicht die Ursache für den Hänger... Vorab überprüfen lässt sich die Existens des Helper Tools beispielsweise mit folgenden Anweisungen: sudo launchctl list de.appsolute.mampprohelper sudo ls /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo ls /Library/PrivilegedHelperTools/de.appsolute.mampprohelper dd265463444d664ee9458c68a3758132bf60955d Linux Quickies 0 179 860 2022-01-21T09:12:14Z Hagbard 2 Created page with "===configure systemd-resolv to resolve local virtualhosts=== Several distributions like Ubuntu Server now use systemd-resolv for DNS resolution, but this breaks resolving loca..." wikitext text/x-wiki ===configure systemd-resolv to resolve local virtualhosts=== Several distributions like Ubuntu Server now use systemd-resolv for DNS resolution, but this breaks resolving local virtualhosts (subdomains) hosted on this server. If your network interface is configured via DHCP you should be able to opt-into UseDomains by creating /etc/systemd/network/usedomains.network with this content: [DNS] UseDomains=true ddecafd1b1bcb63d52d654bdbde42bc2bb01273a 861 860 2022-01-21T09:17:21Z Hagbard 2 wikitext text/x-wiki ===configure systemd-resolv to resolve local virtualhosts=== Several distributions like Ubuntu Server now use systemd-resolv for DNS resolution, but this breaks resolving local virtualhosts (subdomains) hosted on this server. If your network interface is configured via DHCP you should be able to opt-into UseDomains by creating /etc/systemd/network/usedomains.network with this content: [DNS] UseDomains=true Source: [https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1699660 bugs.launchpad.net #1699660] See also: [https://moss.sh/name-resolution-issue-systemd-resolved/ A name resolution issue with systemd-resolved we found in the wild] 3387ee86192994de4ae6590a803e7bcad56012c8 MAMP PRO troubleshooting 0 184 904 2022-09-30T12:13:05Z Hagbard 2 Hagbard moved page [[MAMP PRO troubleshooting]] to [[MAMP Quickies]] wikitext text/x-wiki #REDIRECT [[MAMP Quickies]] ee1641f0a033b3a12c68c060876db4806ed6634b MAMP Quickies 0 28 919 918 2022-09-30T12:17:11Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] [[Category:Development]] ==MAMP== [[Image:W21-1a.svg|64px|left]] ==MAMP PRO Troubleshooting== ===Crash nach Downgrade=== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgende beiden Dateien zu löschen. Anschließend sollte sich die ältere Version wieder problemlos starten lassen: /Library/LaunchDaemons/de.appsolute.mampprohelper.plist /Library/PrivilegedHelperTools/de.appsolute.mampprohelper ===Freeze (SBOD) beim App-Start=== Ein freeze beim Start von MAMP PRO kann u.U. dadurch verursacht werden, dass die Kommunikation mit dem MAMP PRO Helper Tool nicht mehr funktioniert. In diesem Fall wartet MAMP PRO dann solange auf den Helper bis es zu einem timeout kommt. Der Helper lässt sich mit folgenden Terminal-Anweisungen deinstallieren (MAMP PRO unbedingt vorher beenden!): sudo launchctl unload /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/PrivilegedHelperTools/de.appsolute.mampprohelper Die erste Anweisung beendet den Helper (falls dieser läuft; falls nicht erscheint eine Fehlermeldung), die zweite löscht die Definition für den Helper (also wann und wie der Helper genau vom System gestartet werden soll) und die dritte Anweisung löscht dann letztlich den Helper selber - also dessen Programmcode. Beim nachfolgenden Start von MAMP PRO müsste dieser dann erneut nach einem Benutzer mit Admin-Berechtigung fragen um dieses Helper Too reinstallieren zu können (Gültig ab MAMP PRO Version 6) Falls diese Anweisungen mit Fehlermeldungen quittiert werden (insbes. die erste) ist das ok, das bedeutet lediglich dass der Helper gar nicht läuft bzw. installiert ist. In dem Fall ist der Helper dann aber auch nicht die Ursache für den Hänger... Vorab überprüfen lässt sich die Existens des Helper Tools beispielsweise mit folgenden Anweisungen: sudo launchctl list de.appsolute.mampprohelper sudo ls /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo ls /Library/PrivilegedHelperTools/de.appsolute.mampprohelper 21fab4d5fdc426103bf96731ee1afd4025d0806c 920 919 2022-09-30T12:17:21Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] [[Category:Development]] ==MAMP== [[Image:W21-1a.svg|64px]] ==MAMP PRO Troubleshooting== ===Crash nach Downgrade=== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgende beiden Dateien zu löschen. Anschließend sollte sich die ältere Version wieder problemlos starten lassen: /Library/LaunchDaemons/de.appsolute.mampprohelper.plist /Library/PrivilegedHelperTools/de.appsolute.mampprohelper ===Freeze (SBOD) beim App-Start=== Ein freeze beim Start von MAMP PRO kann u.U. dadurch verursacht werden, dass die Kommunikation mit dem MAMP PRO Helper Tool nicht mehr funktioniert. In diesem Fall wartet MAMP PRO dann solange auf den Helper bis es zu einem timeout kommt. Der Helper lässt sich mit folgenden Terminal-Anweisungen deinstallieren (MAMP PRO unbedingt vorher beenden!): sudo launchctl unload /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/PrivilegedHelperTools/de.appsolute.mampprohelper Die erste Anweisung beendet den Helper (falls dieser läuft; falls nicht erscheint eine Fehlermeldung), die zweite löscht die Definition für den Helper (also wann und wie der Helper genau vom System gestartet werden soll) und die dritte Anweisung löscht dann letztlich den Helper selber - also dessen Programmcode. Beim nachfolgenden Start von MAMP PRO müsste dieser dann erneut nach einem Benutzer mit Admin-Berechtigung fragen um dieses Helper Too reinstallieren zu können (Gültig ab MAMP PRO Version 6) Falls diese Anweisungen mit Fehlermeldungen quittiert werden (insbes. die erste) ist das ok, das bedeutet lediglich dass der Helper gar nicht läuft bzw. installiert ist. In dem Fall ist der Helper dann aber auch nicht die Ursache für den Hänger... Vorab überprüfen lässt sich die Existens des Helper Tools beispielsweise mit folgenden Anweisungen: sudo launchctl list de.appsolute.mampprohelper sudo ls /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo ls /Library/PrivilegedHelperTools/de.appsolute.mampprohelper f210494a577fa4908317e0a515b0c1dfc17443c1 921 920 2022-09-30T12:24:23Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] [[Category:Development]] Dies hier sind keine offiziellen Anleitungen und kommen ohne jegliche Gewähr. Da es immer zu Datenverlusten kommen kann ist ein vorheriges Backup aller Daten natürlich selbstverständlich. Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung, weder von mir noch von den MAMP/MAMP PRO Entwicklern! Nur weil etwas geht, heisst es nicht dass es auch offiziell unterstützt wird! ==MAMP== [[Image:W21-1a.svg|64px]] ==MAMP PRO== Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ===Hidden Preferences=== Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen u.U. noch nicht vollständig implementiert sein können, können diese auch unvorhergesehene Nebeneffekte haben oder gar fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal (z.B. bei Verwendung von mit den Remote Ops in Verbindung stehenden neuen Funktionen). Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ====Remote Ops: Temp. Remote-Dateien beibehalten (ab Version 6.0)==== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ====Remote Ops: Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)==== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ====Remote Ops: die zu verwendenden Dateizugriffsrechte anpassen==== Standardmäßig werden von MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die von den jeweiligen Serverdiensten vorgegebenen Standardzugriffsrechte verwendet, was u.U. zur Folge haben kann, dass nur der Eigentümer der Dateien Vollzugriff (also lesend und schreibend) auf alle Dateien und Verzeichnissehat hat. Mit Hilfe folgender Terminalanweisung kann dieser Wert geändert werden, beispielsweise auf 777 (Vollzugriff für alle): defaults write de.appsolute.mamppro permsString -string "777" Der aktuell verwendete Wert kann mit folgender Terminal-Anweidung kontrolliert werden: defaults read de.appsolute.mamppro permsString Falls diese Option gar nicht gesetzt sein sollte, wird statt dessen eine Fehlermeldung wie diese hier ausgegeben: The domain/default pair of (de.appsolute.mamppro, permsString) does not exist '''Wichtig:''' die Angabe erfolgt in Oktalschreibweise OHNE führende 0, andere Schreibweisen werden ignoriert. Ebenso werden Werte < 600 ignoriert, da diese im vorliegenden Kontext ohnehin keinen Sinn ergeben würden (keine Lese- und/oder Schreibrechte für den Eigentümer). In diesen Fällen wird ein Defaultwert von "755" verwendet. deaktiviert wird diese Option hiermit (wiederum gefolgt von einem Neustart der App): defaults delete de.appsolute.mamppro permsString ===Troubleshooting=== ====Crash nach Downgrade==== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgende beiden Dateien zu löschen. Anschließend sollte sich die ältere Version wieder problemlos starten lassen: /Library/LaunchDaemons/de.appsolute.mampprohelper.plist /Library/PrivilegedHelperTools/de.appsolute.mampprohelper ====Freeze (SBOD) beim App-Start==== Ein freeze beim Start von MAMP PRO kann u.U. dadurch verursacht werden, dass die Kommunikation mit dem MAMP PRO Helper Tool nicht mehr funktioniert. In diesem Fall wartet MAMP PRO dann solange auf den Helper bis es zu einem timeout kommt. Der Helper lässt sich mit folgenden Terminal-Anweisungen deinstallieren (MAMP PRO unbedingt vorher beenden!): sudo launchctl unload /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/PrivilegedHelperTools/de.appsolute.mampprohelper Die erste Anweisung beendet den Helper (falls dieser läuft; falls nicht erscheint eine Fehlermeldung), die zweite löscht die Definition für den Helper (also wann und wie der Helper genau vom System gestartet werden soll) und die dritte Anweisung löscht dann letztlich den Helper selber - also dessen Programmcode. Beim nachfolgenden Start von MAMP PRO müsste dieser dann erneut nach einem Benutzer mit Admin-Berechtigung fragen um dieses Helper Too reinstallieren zu können (Gültig ab MAMP PRO Version 6) Falls diese Anweisungen mit Fehlermeldungen quittiert werden (insbes. die erste) ist das ok, das bedeutet lediglich dass der Helper gar nicht läuft bzw. installiert ist. In dem Fall ist der Helper dann aber auch nicht die Ursache für den Hänger... Vorab überprüfen lässt sich die Existens des Helper Tools beispielsweise mit folgenden Anweisungen: sudo launchctl list de.appsolute.mampprohelper sudo ls /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo ls /Library/PrivilegedHelperTools/de.appsolute.mampprohelper a9f82472d6bfcb35d32146c923d08463af89df61 922 921 2022-09-30T12:26:07Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] [[Category:Development]] Dies hier sind keine offiziellen Anleitungen und kommen ohne jegliche Gewähr. Da es immer zu Datenverlusten kommen kann ist ein vorheriges Backup aller Daten natürlich selbstverständlich. Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung, weder von mir noch von den MAMP/MAMP PRO Entwicklern! Nur weil etwas geht, heisst es nicht dass es auch offiziell unterstützt wird! =MAMP= [[Image:W21-1a.svg|64px]] =MAMP PRO= Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Hidden Preferences== Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen u.U. noch nicht vollständig implementiert sein können, können diese auch unvorhergesehene Nebeneffekte haben oder gar fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal (z.B. bei Verwendung von mit den Remote Ops in Verbindung stehenden neuen Funktionen). Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===Remote Ops: Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Remote Ops: Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ===Remote Ops: die zu verwendenden Dateizugriffsrechte anpassen= (ab Version 6.3.2)== Standardmäßig werden von MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die von den jeweiligen Serverdiensten vorgegebenen Standardzugriffsrechte verwendet, was u.U. zur Folge haben kann, dass nur der Eigentümer der Dateien Vollzugriff (also lesend und schreibend) auf alle Dateien und Verzeichnissehat hat. Mit Hilfe folgender Terminalanweisung kann dieser Wert geändert werden, beispielsweise auf 777 (Vollzugriff für alle): defaults write de.appsolute.mamppro permsString -string "777" Der aktuell verwendete Wert kann mit folgender Terminal-Anweidung kontrolliert werden: defaults read de.appsolute.mamppro permsString Falls diese Option gar nicht gesetzt sein sollte, wird statt dessen eine Fehlermeldung wie diese hier ausgegeben: The domain/default pair of (de.appsolute.mamppro, permsString) does not exist '''Wichtig:''' die Angabe erfolgt in Oktalschreibweise OHNE führende 0, andere Schreibweisen werden ignoriert. Ebenso werden Werte < 600 ignoriert, da diese im vorliegenden Kontext ohnehin keinen Sinn ergeben würden (keine Lese- und/oder Schreibrechte für den Eigentümer). In diesen Fällen wird ein Defaultwert von "755" verwendet. deaktiviert wird diese Option hiermit (wiederum gefolgt von einem Neustart der App): defaults delete de.appsolute.mamppro permsString ==Troubleshooting== ===Crash nach Downgrade=== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgende beiden Dateien zu löschen. Anschließend sollte sich die ältere Version wieder problemlos starten lassen: /Library/LaunchDaemons/de.appsolute.mampprohelper.plist /Library/PrivilegedHelperTools/de.appsolute.mampprohelper ===Freeze (SBOD) beim App-Start=== Ein freeze beim Start von MAMP PRO kann u.U. dadurch verursacht werden, dass die Kommunikation mit dem MAMP PRO Helper Tool nicht mehr funktioniert. In diesem Fall wartet MAMP PRO dann solange auf den Helper bis es zu einem timeout kommt. Der Helper lässt sich mit folgenden Terminal-Anweisungen deinstallieren (MAMP PRO unbedingt vorher beenden!): sudo launchctl unload /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/PrivilegedHelperTools/de.appsolute.mampprohelper Die erste Anweisung beendet den Helper (falls dieser läuft; falls nicht erscheint eine Fehlermeldung), die zweite löscht die Definition für den Helper (also wann und wie der Helper genau vom System gestartet werden soll) und die dritte Anweisung löscht dann letztlich den Helper selber - also dessen Programmcode. Beim nachfolgenden Start von MAMP PRO müsste dieser dann erneut nach einem Benutzer mit Admin-Berechtigung fragen um dieses Helper Too reinstallieren zu können (Gültig ab MAMP PRO Version 6) Falls diese Anweisungen mit Fehlermeldungen quittiert werden (insbes. die erste) ist das ok, das bedeutet lediglich dass der Helper gar nicht läuft bzw. installiert ist. In dem Fall ist der Helper dann aber auch nicht die Ursache für den Hänger... Vorab überprüfen lässt sich die Existens des Helper Tools beispielsweise mit folgenden Anweisungen: sudo launchctl list de.appsolute.mampprohelper sudo ls /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo ls /Library/PrivilegedHelperTools/de.appsolute.mampprohelper c26751584c8aa3370b1170ede565ab0d61cabc49 923 922 2022-09-30T12:27:52Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] [[Category:Development]] Dies hier sind keine offiziellen Anleitungen und kommen ohne jegliche Gewähr. Da es immer zu Datenverlusten kommen kann ist ein vorheriges Backup aller Daten natürlich selbstverständlich. Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung, weder von mir noch von den MAMP/MAMP PRO Entwicklern! Nur weil etwas geht, heisst es nicht dass es auch offiziell unterstützt wird! =MAMP= [[Image:W21-1a.svg|64px]] =MAMP PRO= Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Hidden Preferences== Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen u.U. noch nicht vollständig implementiert sein können, können diese auch unvorhergesehene Nebeneffekte haben oder gar fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal (z.B. bei Verwendung von mit den Remote Ops in Verbindung stehenden neuen Funktionen). Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===Remote Ops: Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Remote Ops: Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ===Remote Ops: die zu verwendenden Dateizugriffsrechte anpassen= (ab Version 6.3.2)=== Standardmäßig werden von MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die von den jeweiligen Serverdiensten vorgegebenen Standardzugriffsrechte verwendet, was u.U. zur Folge haben kann, dass nur der Eigentümer der Dateien Vollzugriff (also lesend und schreibend) auf alle Dateien und Verzeichnissehat hat. Mit Hilfe folgender Terminalanweisung kann dieser Wert geändert werden, beispielsweise auf 777 (Vollzugriff für alle): defaults write de.appsolute.mamppro permsString -string "777" Der aktuell verwendete Wert kann mit folgender Terminal-Anweidung kontrolliert werden: defaults read de.appsolute.mamppro permsString Falls diese Option gar nicht gesetzt sein sollte, wird statt dessen eine Fehlermeldung wie diese hier ausgegeben: The domain/default pair of (de.appsolute.mamppro, permsString) does not exist '''Wichtig:''' die Angabe erfolgt in Oktalschreibweise OHNE führende 0, andere Schreibweisen werden ignoriert. Ebenso werden Werte < 600 ignoriert, da diese im vorliegenden Kontext ohnehin keinen Sinn ergeben würden (keine Lese- und/oder Schreibrechte für den Eigentümer). In diesen Fällen wird ein Defaultwert von "755" verwendet. deaktiviert wird diese Option hiermit (wiederum gefolgt von einem Neustart der App): defaults delete de.appsolute.mamppro permsString ==Troubleshooting== ===Crash nach Downgrade=== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgende beiden Dateien zu löschen. Anschließend sollte sich die ältere Version wieder problemlos starten lassen: /Library/LaunchDaemons/de.appsolute.mampprohelper.plist /Library/PrivilegedHelperTools/de.appsolute.mampprohelper ===Freeze (SBOD) beim App-Start=== Ein freeze beim Start von MAMP PRO kann u.U. dadurch verursacht werden, dass die Kommunikation mit dem MAMP PRO Helper Tool nicht mehr funktioniert. In diesem Fall wartet MAMP PRO dann solange auf den Helper bis es zu einem timeout kommt. Der Helper lässt sich mit folgenden Terminal-Anweisungen deinstallieren (MAMP PRO unbedingt vorher beenden!): sudo launchctl unload /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/PrivilegedHelperTools/de.appsolute.mampprohelper Die erste Anweisung beendet den Helper (falls dieser läuft; falls nicht erscheint eine Fehlermeldung), die zweite löscht die Definition für den Helper (also wann und wie der Helper genau vom System gestartet werden soll) und die dritte Anweisung löscht dann letztlich den Helper selber - also dessen Programmcode. Beim nachfolgenden Start von MAMP PRO müsste dieser dann erneut nach einem Benutzer mit Admin-Berechtigung fragen um dieses Helper Too reinstallieren zu können (Gültig ab MAMP PRO Version 6) Falls diese Anweisungen mit Fehlermeldungen quittiert werden (insbes. die erste) ist das ok, das bedeutet lediglich dass der Helper gar nicht läuft bzw. installiert ist. In dem Fall ist der Helper dann aber auch nicht die Ursache für den Hänger... Vorab überprüfen lässt sich die Existens des Helper Tools beispielsweise mit folgenden Anweisungen: sudo launchctl list de.appsolute.mampprohelper sudo ls /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo ls /Library/PrivilegedHelperTools/de.appsolute.mampprohelper == Dies und das== ===MySQL datadir Einschränkung umgehen=== Standardmäßig legt [http://www.mamp.info MAMP PRO] alle MySQL-Datenbanken in einem fest vorgegebenen Verzeichnis ab, dessen Pfad sich dank eines in der Applikation fest eingebauten Pfades leider nicht ändern lässt: /Library/Application Support/appsolute/MAMP PRO/db/mysql bzw. bei älteren Versionen /Library/Application Support/living-e/MAMP PRO/db/mysql Das bedeutet, der {{TT|--datadir}} Parameter zur Angabe eines alternativen Verzeichnisses kann nicht zur Verwendung kommen, da das Aufrufkommando nicht zur Verfügung steht. Allerdings scheint der der verwendete MySQL daemon symlinks zu folgen (Stand: MAMP PRO 2.0). Es genügt als, das o.g. Verzeichnis {{TT|mysql}} an eine beliebige Stelle im Dateisystem zu verschieben und in obigem Verzeichnis einen Symlink (Alias) zu setzen. Dies erfolgt entweder per Finder oder im [[:Category:Terminal|Terminal]]: ln -s /path/to/my/new/mysql /Library/Application\ Support/appsolute/MAMP\ PRO/db/mysql {{Information|Alternativ können auch hardlinks verwendet werden, bei denen sich jedoch prinzipbedingt Ursprung und Ziel auf derselben Partition befinden müssen. Symlinks dagegen erlauben auch Verweise auf ein Zielverzeichnis, das auf einer anderen Partition oder Festplatte liegt.<br /> Sinnigerweise sollte dieses Laufwerk während des Serverstarts verfügbar sein, daher scheiden Netzwerklaufwerke (AFP oder SMB) für den Fall aus, wenn die MAMP-Server bereits beim Booten des Systems gestartet werden.}} 6b61aeccf795f86a0be801e4a20b2d7d689b5f01 MAMP PRO hidden preferences 0 183 902 901 2022-09-30T12:26:28Z Hagbard 2 Redirected page to [[MAMP Quickies]] wikitext text/x-wiki #REDIRECT [[MAMP Quickies]] ee1641f0a033b3a12c68c060876db4806ed6634b MAMP PRO - MySQL datadir Einschränkung umgehen 0 182 877 876 2022-09-30T12:28:08Z Hagbard 2 Redirected page to [[MAMP Quickies]] wikitext text/x-wiki #REDIRECT [[MAMP Quickies]] ee1641f0a033b3a12c68c060876db4806ed6634b Open Source Anwendungen/Serverdienste 0 302 1592 2022-09-30T12:29:17Z Hagbard 2 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ {{Navigation_Open_Source_Anwendungen}} ==Serverdienste== {{SoftwareTable |TITLE=Webserver |ENTRIES= {{SoftwareTableEntry |NAME=XAMPP |ICON=Xampp logo.svg |URL=http://www.apachefriends.org |DESCRIPTION=Serverstack für Windows, Linux, Mac OS X und Solaris, bestehend aus Apache, MySQL, PHP, Perl, phpMyAdmin und OpenSSL |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] u.a. }} {{SoftwareTableEntry |NAME=MAMP |URL=http://www.mamp.info |DESCRIPTION=Serverstack für MacOS X, bestehend aus Apache 2, MySQL 5, PHP 4/5 (ab Version 1.9: PHP 5.2/5.3) und einigen weiteren Tools (siehe auch [[MAMP_Quickies|hier]]) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] (MAMP Applikation) u.a. }} }} {{SoftwareTable |TITLE=Datenbank-Server |ENTRIES= {{SoftwareTableEntry |NAME=MySQL |ICON=Mysql-dolphin-square.svg |URL=http://www.mysql.com |DESCRIPTION=MySQL Database Server], Mac OS X Package sind [http://www.entropy.ch/software/macosx/mysql/ hier verfügbar] |DEPS= |LICENSE=Dual ([[wikipedia:de:Proprietär|Proprietär]] und [[wikipedia:de:GNU General Public License|GPL]] ) }} {{SoftwareTableEntry |NAME=PostgreSQL |ICON=Postgresql elephant.svg |URL=http://www.postgresql.org/ |DESCRIPTION=PostgreSQL Database Server, Mac OS X Packages sind [http://www.entropy.ch/software/macosx/postgresql/ hier verfügbar] |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD]] }} }} {{SoftwareTable |TITLE=Web-/Applikationsserver |ENTRIES= {{SoftwareTableEntry |NAME=nginx |ICON=Nginx logo.svg |URL=http://www.nginx.org/ |DESCRIPTION=Plattformübergreifender Webserver, Reverse-Proxy und E-Mail Proxy für den Hochlastbetrieb. Siehe auch: [http://wiki.nginx.org/ nginx Wiki], [[wikipedia:de:Nginx|nginx]] in der [[wikipedia:de:Hauptseite|Wikipedia]] |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD-Lizenz]] }} {{SoftwareTableEntry |NAME=Apache Tomcat |ICON=Logo - Apache Tomcat.svg |URL=http://tomcat.apache.org/ |DESCRIPTION=Plattformübergreifender Kava Applikationsserver, Mac OS X Installationspakete sind [http://sisuworks.com/page3/page3.html hier verfügbar] |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:Apache-Lizenz|Apache-Lizenz]] }} }} {{SoftwareTable |TITLE=Web-Proxies |ENTRIES= {{SoftwareTableEntry |NAME=GlimmerBlocker |URL=http://glimmerblocker.org/ |DESCRIPTION=Browserübergreifender Adblocking-Proxy, funktionell ähnlich der bekannten [http://adblockplus.org Firefox-Erweiterung].Ein kleiner Bericht dazu ist auf [http://www.opensourcemac.de/2009/01/14/werbefrei/ opensourcemac.de] erschienen. |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=Privoxy |URL=http://www.privoxy.org/ |DESCRIPTION=Anonymisierungs-Webproxy |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=Squid Man |URL=http://web.me.com/adg/squidman/ |DESCRIPTION=graphischer Installer für den [http://www.squid-cache.org/ squid] Proxy (siehe auch: [[wikipedia:de:Squid|Wikipedia]], [http://www.squid-handbuch.de/hb/ squid-handbuch.de]) |DEPS= |LICENSE=''-?-'' }} {{SoftwareTableEntry |NAME=Tor Project |ICON=Tor logo-1.png |URL=http://www.torproject.org |DESCRIPTION=Komplett-Paket aus [http://tor.eff.org/ Tor-Client/Server], Privoxy und einer GUI für das Starten und Stoppen des Services. Installationshinweise gibt es [http://tor.eff.org/docs/tor-doc-osx.html.en hier] und im [http://trac.vidalia-project.net/wiki/InstallOSX Vidalia-Wiki], siehe auch [[wikipedia:de:Tor_(Netzwerk)|Wikipedia]] |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} }} {{SoftwareTable |TITLE=Weitere Server-Dienste |ENTRIES= {{SoftwareTableEntry |NAME=Apple Collaboration |URL=http://calendarserver.macosforge.org/ |DESCRIPTION=Der [[ICal-Server|iCal-Server]] von Mac OS X (Server) |DEPS= |LICENSE=[[wikipedia:de:Apache-Lizenz|Apache 2.0 License]] }} {{SoftwareTableEntry |NAME=Darwin Streaming Server |ICON=Crystal Project Quicktime.png |URL=http://developer.apple.com/opensource/server/streaming/index.html |DESCRIPTION=quelloffener Apple Streaming-Server (QuickTime Streaming Server, siehe auch [http://dss.macosforge.org/ Mac OS Forge] und [[wikipedia:de:QuickTime_Streaming_Server|Wikipedia]]) |DEPS= |LICENSE=[[wikipedia:de:Apple_Public_Source_License|Apple Public Source License]] }} {{SoftwareTableEntry |NAME=Funambol Server |URL=http://www.funambol.com/opensource/ |DESCRIPTION=SyncML Server für PIM und E-Mail, mit verschiedenen Clients z.B. für iPod, iPhone, Windows Mobile, Blackberry, Symbian und Microsoft Outlook) |DEPS=[[Image:Tux.svg|32px]] [[Image:Windows logo 2012-Black.svg|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]]/[http://www.funambol.com/opensource/project/HPLv1.1.txt HPL] }} }} {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableDummyEntry}} }} 605cac4251e51a73d5ccd2b96dd57160d7841f6e MacOS absichern/Betriebssystemkonfiguration 0 76 965 964 2022-11-13T09:23:41Z Hagbard 2 /* Weitere Informationen */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: write Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. ===Ideen dafür=== - Paketfilter/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) - Sonstige Tools wie die von [https://objective-see.org/ objective-see.org] - Schlüsselbund-Apps für Passwörter (https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) - Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren - Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 231e719092ed97b1b9c71845d0b47f64fd45ee52 966 965 2022-11-13T09:24:15Z Hagbard 2 /* Ältere Versionen absichern */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. ===Ideen dafür=== - Paketfilter/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) - Sonstige Tools wie die von [https://objective-see.org/ objective-see.org] - Schlüsselbund-Apps für Passwörter (https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) - Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren - Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs b89b546ea599b4f2aef902595731141e7cf7dcbf 967 966 2022-11-13T09:24:37Z Hagbard 2 /* Ideen dafür */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. ===Ideen dafür=== * Paketfilter/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Sonstige Tools wie die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter (https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 30c01040ccea721cf9275cb2b16c01d54df18d33 968 967 2022-11-13T09:25:29Z Hagbard 2 /* Ideen dafür */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. ===Ideen dafür=== * Paketfilter/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Sonstige Tools wie die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 9cdbf217d6e12b61809347ab5a54ad7c787d80bf 969 968 2022-11-13T09:31:04Z Hagbard 2 /* Ältere Versionen absichern */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Paketfilter/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Sonstige Tools wie die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme so gut es geht durch aktuelle Drittpogramme ersetzen, falls diese keine Aktualisierungen mehr erfahren. Safari wird beispielsweise oftmals auch für ältere Version eine gewisse Zeit lang weitergepflegt, anschließend kann man alternativ die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs a9041fd2e927ed61f0db3edfdbe3a8a2fed266d9 970 969 2022-11-13T09:32:05Z Hagbard 2 /* Ideen dafür */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Paketfilter/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Sonstige Tools wie die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs e2570eea0c3b3d5a0e0ddb3746768373100d9021 971 970 2022-11-13T09:33:51Z Hagbard 2 /* Ältere Versionen absichern */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 21dae0d552ee985721c043ad0e4fd52ebc420035 972 971 2022-11-13T09:41:36Z Hagbard 2 /* Ideen dafür */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs cc4de6b6568db281e3d5c72c665df9360dc227d3 973 972 2022-11-13T09:48:51Z Hagbard 2 /* Ältere Versionen absichern */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs d686b2657804237eefd31820fd75b2d302cd4337 974 973 2022-11-17T08:18:09Z Hagbard 2 /* Ältere Versionen absichern */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. ===Update Open Source Components=== Wishlist for topics to cover here: * OpenSSL/LibreSSL * OpenSSH (Apple Service "Remote Login") * PHP * Python * Perl * Samba (Apple Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (Printer Sharing) * [https://sane-project.org SANE] (Scanner Sharing) ===Replacements for Apple Services=== * Screen Sharing, Remote Management: [[wikipedia:en:Virtual_Network_Computing|VNC]] * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===Apple Services which should NOT be used any more=== ... due to a lack of replacements: * ''none yet'' ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 204c54b943986217fe2eb645d7b8eab414c362fd 975 974 2022-11-17T08:18:40Z Hagbard 2 /* Replacements for Apple Services */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. ===Update Open Source Components=== Wishlist for topics to cover here: * OpenSSL/LibreSSL * OpenSSH (Apple Service "Remote Login") * PHP * Python * Perl * Samba (Apple Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (Printer Sharing) * [https://sane-project.org SANE] (Scanner Sharing) ===3rd Party Replacements for macOS Services=== * Screen Sharing, Remote Management: [[wikipedia:en:Virtual_Network_Computing|VNC]] * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===Apple Services which should NOT be used any more=== ... due to a lack of replacements: * ''none yet'' ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs d6a6b558574de6e423a2d00eec5e1b581d78a9e5 976 975 2022-11-17T08:18:52Z Hagbard 2 /* Apple Services which should NOT be used any more */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. ===Update Open Source Components=== Wishlist for topics to cover here: * OpenSSL/LibreSSL * OpenSSH (Apple Service "Remote Login") * PHP * Python * Perl * Samba (Apple Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (Printer Sharing) * [https://sane-project.org SANE] (Scanner Sharing) ===3rd Party Replacements for macOS Services=== * Screen Sharing, Remote Management: [[wikipedia:en:Virtual_Network_Computing|VNC]] * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===macOS Services which should NOT be used any more=== ... due to a lack of replacements: * ''none yet'' ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 962d6337a73fe6da1900098a5eb51606c1efed97 977 976 2022-11-17T08:19:17Z Hagbard 2 /* 3rd Party Replacements for macOS Services */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. ===Update Open Source Components=== Wishlist for topics to cover here: * OpenSSL/LibreSSL * OpenSSH (Apple Service "Remote Login") * PHP * Python * Perl * Samba (Apple Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (Printer Sharing) * [https://sane-project.org SANE] (Scanner Sharing) ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===macOS Services which should NOT be used any more=== ... due to a lack of replacements: * ''none yet'' ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 42f458347ed4bfc583e165caa7e3ae8a73d70927 978 977 2022-11-17T08:19:53Z Hagbard 2 /* Update Open Source Components */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. ===Update Open Source Components=== Wishlist for topics to cover here: * OpenSSL/LibreSSL * OpenSSH (Apple Service "Remote Login") * PHP * Python * Perl * Samba (Apple Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (Printer Sharing) * [https://sane-project.org SANE] (Scanner Sharing) * [[wikipedia:en:Virtual_Network_Computing|VNC]] (Apple Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===macOS Services which should NOT be used any more=== ... due to a lack of replacements: * ''none yet'' ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 44f475e7e0a99be8d9358f1b9b6447958feaeb63 979 978 2022-11-17T08:20:33Z Hagbard 2 /* Update Open Source Components */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. ===Update Open Source Components=== Wishlist for topics to cover here: * OpenSSL/LibreSSL * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===macOS Services which should NOT be used any more=== ... due to a lack of replacements: * ''none yet'' ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs ab4996925ab359afb41410f721a625905ab389d0 980 979 2022-11-17T08:25:54Z Hagbard 2 /* Ältere Versionen absichern */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. ===Update Open Source Components=== ... which are being shipped with macOS and are thus an integral part of it. Some of these components such as OpenSSL are being used throghout the system and by all kinds of applicatiosn and should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===macOS Services which should NOT be used any more=== ... due to a lack of replacements: * ''none yet'' ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 129d58d0b24204a7538bc13693939064245c9a42 981 980 2022-11-17T08:33:29Z Hagbard 2 /* Update Open Source Components */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. ===Update Open Source Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL (important side note: [[wikipedia:de:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===macOS Services which should NOT be used any more=== ... due to a lack of replacements: * ''none yet'' ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 2c1add343c03e3b732af6310d0c9377d8f205767 982 981 2022-11-17T08:34:22Z Hagbard 2 /* Update Open Source Components */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. ===Update Open Source Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:de:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===macOS Services which should NOT be used any more=== ... due to a lack of replacements: * ''none yet'' ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 1c4f4bd0116a33ba3f56fc61274930386a8d8709 983 982 2022-11-17T08:34:49Z Hagbard 2 /* Update Open Source Components */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. ===Update Open Source Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===macOS Services which should NOT be used any more=== ... due to a lack of replacements: * ''none yet'' ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 0b8192338ef9b0fede3dc8dcbd02755de2f5bca5 984 983 2022-11-17T08:47:27Z Hagbard 2 /* macOS Services which should NOT be used any more */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. ===Update Open Source Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * iTunes Library Sharing * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional file sharing service such as WebDAV or Owncloud/Nextcloud (probably even self-hosted within your local network so your data never leaves the premises) or online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage] which is using [[wikipedia:en:Open-Xchange|Open-Xchange]]. I personally am not a big fan of proprietary, closed source, third party online services for pretty obvious reasons, but the decision is to you. ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 8077562aa63c8f6154742211b77cc5f377de84a3 985 984 2022-11-17T08:49:52Z Hagbard 2 /* macOS Services which should NOT be used any more */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. ===Update Open Source Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * iTunes Library Sharing * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional file sharing service such as WebDAV or Owncloud/Nextcloud, maybe even self-hosted within your local network so your data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage] which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for its services. I personally am not a big fan of proprietary, closed source, third party online services for pretty obvious reasons, but that's up to you. ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs d3c9f4edfc926c57daafb3d62178eb9b52258996 986 985 2022-11-17T08:55:05Z Hagbard 2 /* macOS Services which should NOT be used any more */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. ===Update Open Source Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * iTunes Library Sharing * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 1021498ea6f1c71d31664a6963ee48da1ea95e9d 987 986 2022-11-17T09:03:06Z Hagbard 2 /* Ältere Versionen absichern */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. ===Open Source System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===Open Source System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 1388fa6fdadefaac34834be5f1611c74eca80479 988 987 2022-11-17T09:03:44Z Hagbard 2 /* Ältere Versionen absichern */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs be59c3218baf6a6e89ae2b51d78f77fc16ce4c93 989 988 2022-11-17T09:12:50Z Hagbard 2 /* Ältere Versionen absichern */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! Service Name | What to do about it | Description | |-- | Screen Sharing | ✅ | replacement or maybe even in-place update possible | |-- | File Sharing | ✅ | replacement or maybe even in-place update possible | |-- | Printer Sharing | ✅ | replacement or maybe even in-place update possible | |-- | Remote Login | ✅ | replacement or maybe even in-place update possible | |-- | Remote Management | ✅ | replacement or maybe even in-place update possible | |-- | Remote Apple Events | ❌ | Don't use it, no replacement | |-- | Bluetooth Sharing | ❓ |TBD |-- | Internet Sharing | ❓ | TBD |-- | Content Sharing | ❌ | Don't use it, no replacement | |-- | Media Sharing, which used to be called "iTunes Library Sharing" | ❌ | Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] | |-- | Web Sharing (removed in OS X Mountain Lion) | ✅ | replacement or maybe even in-place update possible | |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 0f7460a492cd07aae8807cca91aaab40511fc9b7 990 989 2022-11-17T09:13:41Z Hagbard 2 /* Ideen dafür */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! Service Name || What to do about it || Description | |-- | Screen Sharing || ✅ || replacement or maybe even in-place update possible | |-- | File Sharing || ✅ || replacement or maybe even in-place update possible | |-- | Printer Sharing || ✅ || replacement or maybe even in-place update possible | |-- | Remote Login || ✅ || replacement or maybe even in-place update possible | |-- | Remote Management || ✅ || replacement or maybe even in-place update possible | |-- | Remote Apple Events || ❌ || Don't use it, no replacement | |-- | Bluetooth Sharing || ❓ || TBD |-- | Internet Sharing || ❓ || TBD |-- | Content Sharing || ❌ || Don't use it, no replacement | |-- | Media Sharing, which used to be called "iTunes Library Sharing" | ❌ | Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] | |-- | Web Sharing (removed in OS X Mountain Lion) | ✅ | replacement or maybe even in-place update possible | |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 8101cff4c9229d93613b3c0d0cdee8895bb8a995 991 990 2022-11-17T09:14:52Z Hagbard 2 /* Ideen dafür */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! Service Name || || |-- | Screen Sharing || ✅ || replacement or maybe even in-place update possible |-- | File Sharing || ✅ || replacement or maybe even in-place update possible |-- | Printer Sharing || ✅ || replacement or maybe even in-place update possible |-- | Remote Login || ✅ || replacement or maybe even in-place update possible |-- | Remote Management || ✅ || replacement or maybe even in-place update possible |-- | Remote Apple Events || ❌ || Don't use it, no replacement |-- | Bluetooth Sharing || ❓ || TBD |-- | Internet Sharing || ❓ || TBD |-- | Content Sharing || ❌ || Don't use it, no replacement |-- | Media Sharing, which used to be called "iTunes Library Sharing" | ❌ | Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] |-- | Web Sharing (removed in OS X Mountain Lion) | ✅ | replacement or maybe even in-place update possible |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 376f1c3c80d17e5fd5affa4013e335b2f77d8a00 992 991 2022-11-17T09:15:35Z Hagbard 2 /* Ideen dafür */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! Service Name || || |-- | Screen Sharing || ✅ || replacement or maybe even in-place update possible |-- | File Sharing || ✅ || replacement or maybe even in-place update possible |-- | Printer Sharing || ✅ || replacement or maybe even in-place update possible |-- | Remote Login || ✅ || replacement or maybe even in-place update possible |-- | Remote Management || ✅ || replacement or maybe even in-place update possible |-- | Remote Apple Events || ❌ || Don't use it, no replacement |-- | Bluetooth Sharing || ❓ || TBD |-- | Internet Sharing || ❓ || TBD |-- | Content Sharing || ❌ || Don't use it, no replacement |-- | Media Sharing, which used to be called "iTunes Library Sharing" || ❌ || Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] |-- | Web Sharing (removed in OS X Mountain Lion) || ✅ || replacement or maybe even in-place update possible |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs f9e21c88424ecd35bc8f5dad8491eb40dca45bb1 993 992 2022-11-17T09:21:51Z Hagbard 2 /* Ideen dafür */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! Service Name !! ! style="width:60px;" | |-- | Screen Sharing || ✅ || replacement or maybe even in-place update possible |-- | File Sharing || ✅ || replacement or maybe even in-place update possible |-- | Printer Sharing || ✅ || replacement or maybe even in-place update possible |-- | Remote Login || ✅ || replacement or maybe even in-place update possible |-- | Remote Management || ✅ || replacement or maybe even in-place update possible |-- | Remote Apple Events || ❌ || Don't use it, no replacement |-- | Bluetooth Sharing || ❓ || TBD |-- | Internet Sharing || ❓ || TBD |-- | Content Sharing || ❌ || Don't use it, no replacement |-- | Media Sharing<br/>a.k.a. "iTunes Library Sharing" || ❌ || Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] |-- | Web Sharing<br/>''Only in OS X Lion and earlier'' || ✅ || replacement or maybe even in-place update possible |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs a79789821953c0768a62f72e7fb623984da3f60b 994 993 2022-11-17T09:22:58Z Hagbard 2 /* Ideen dafür */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! style="width:220px;" | Service Name !! ! style="width:60px;" | |-- | Screen Sharing || ✅ || replacement or maybe even in-place update possible |-- | File Sharing || ✅ || replacement or maybe even in-place update possible |-- | Printer Sharing || ✅ || replacement or maybe even in-place update possible |-- | Remote Login || ✅ || replacement or maybe even in-place update possible |-- | Remote Management || ✅ || replacement or maybe even in-place update possible |-- | Remote Apple Events || ❌ || Don't use it, no replacement |-- | Bluetooth Sharing || ❓ || TBD |-- | Internet Sharing || ❓ || TBD |-- | Content Sharing || ❌ || Don't use it, no replacement |-- | Media Sharing<br/>a.k.a. "iTunes Library Sharing" || ❌ || Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] |-- | Web Sharing<br/>''Only in OS X Lion and earlier'' || ✅ || replacement or maybe even in-place update possible |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 649dfc9b3f96137518b42bb6bcb2236a7cbae983 995 994 2022-11-19T09:54:59Z Hagbard 2 /* Ältere Versionen absichern */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! style="width:220px;" | Service Name !! ! style="width:60px;" | |-- | Screen Sharing || ✅ || replacement or maybe even in-place update possible |-- | File Sharing || ✅ || replacement or maybe even in-place update possible |-- | Printer Sharing || ✅ || replacement or maybe even in-place update possible |-- | Remote Login || ✅ || replacement or maybe even in-place update possible |-- | Remote Management || ✅ || replacement or maybe even in-place update possible |-- | Remote Apple Events || ❌ || Don't use it, no replacement |-- | Bluetooth Sharing || ❓ || TBD |-- | Internet Sharing || ❓ || TBD |-- | Content Sharing || ❌ || Don't use it, no replacement |-- | Media Sharing<br/>a.k.a. "iTunes Library Sharing" || ❌ || Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] |-- | Web Sharing<br/>''Only in OS X Lion and earlier'' || ✅ || replacement or maybe even in-place update possible |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Drittprogramme absichern== * Das [https://www.privacy-handbuch.de/ Privavy-Handbuch] * [https://www.privacy-handbuch.de/handbuch_21j2.htm Starke Passwörter verwenden] * [https://www.privacy-handbuch.de/handbuch_21n.htm Überflüssige Funktionen in Firefox deaktivieren] (aus dem o.g. Privacy-Handbuch) * [https://www.privacy-handbuch.de/handbuch_21i.htm#dnt Kommentar zu "Do-Not-Track"]] (more trouble than it's worth) ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 7a600bc317b8173a8f6b7bf5bbbf15e67a838ab1 996 995 2022-11-19T09:55:14Z Hagbard 2 /* Drittprogramme absichern */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! style="width:220px;" | Service Name !! ! style="width:60px;" | |-- | Screen Sharing || ✅ || replacement or maybe even in-place update possible |-- | File Sharing || ✅ || replacement or maybe even in-place update possible |-- | Printer Sharing || ✅ || replacement or maybe even in-place update possible |-- | Remote Login || ✅ || replacement or maybe even in-place update possible |-- | Remote Management || ✅ || replacement or maybe even in-place update possible |-- | Remote Apple Events || ❌ || Don't use it, no replacement |-- | Bluetooth Sharing || ❓ || TBD |-- | Internet Sharing || ❓ || TBD |-- | Content Sharing || ❌ || Don't use it, no replacement |-- | Media Sharing<br/>a.k.a. "iTunes Library Sharing" || ❌ || Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] |-- | Web Sharing<br/>''Only in OS X Lion and earlier'' || ✅ || replacement or maybe even in-place update possible |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Drittprogramme absichern== * Das [https://www.privacy-handbuch.de/ Privavy-Handbuch] ** [https://www.privacy-handbuch.de/handbuch_21j2.htm Starke Passwörter verwenden] ** [https://www.privacy-handbuch.de/handbuch_21n.htm Überflüssige Funktionen in Firefox deaktivieren] (aus dem o.g. Privacy-Handbuch) ** [https://www.privacy-handbuch.de/handbuch_21i.htm#dnt Kommentar zu "Do-Not-Track"]] (more trouble than it's worth) ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 11ffe0abbc0fbf6b7ac8d604ad3d1ac71af61f78 997 996 2022-11-19T09:56:01Z Hagbard 2 /* Drittprogramme absichern */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! style="width:220px;" | Service Name !! ! style="width:60px;" | |-- | Screen Sharing || ✅ || replacement or maybe even in-place update possible |-- | File Sharing || ✅ || replacement or maybe even in-place update possible |-- | Printer Sharing || ✅ || replacement or maybe even in-place update possible |-- | Remote Login || ✅ || replacement or maybe even in-place update possible |-- | Remote Management || ✅ || replacement or maybe even in-place update possible |-- | Remote Apple Events || ❌ || Don't use it, no replacement |-- | Bluetooth Sharing || ❓ || TBD |-- | Internet Sharing || ❓ || TBD |-- | Content Sharing || ❌ || Don't use it, no replacement |-- | Media Sharing<br/>a.k.a. "iTunes Library Sharing" || ❌ || Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] |-- | Web Sharing<br/>''Only in OS X Lion and earlier'' || ✅ || replacement or maybe even in-place update possible |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Drittprogramme absichern== * Das [https://www.privacy-handbuch.de/ Privavy-Handbuch] ** [https://www.privacy-handbuch.de/handbuch_21.htm Spurenarm Surfen mit Firefox] ** [https://www.privacy-handbuch.de/handbuch_21j2.htm Starke Passwörter verwenden] ** [https://www.privacy-handbuch.de/handbuch_21n.htm Überflüssige Funktionen in Firefox deaktivieren] (aus dem o.g. Privacy-Handbuch) ** [https://www.privacy-handbuch.de/handbuch_21i.htm#dnt Kommentar zu "Do-Not-Track"]] (more trouble than it's worth) ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs bdf39d9bfac53d9c7133f5292aa7898b2c283ad4 998 997 2022-11-29T07:59:56Z Hagbard 2 /* Weitere Informationen */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! style="width:220px;" | Service Name !! ! style="width:60px;" | |-- | Screen Sharing || ✅ || replacement or maybe even in-place update possible |-- | File Sharing || ✅ || replacement or maybe even in-place update possible |-- | Printer Sharing || ✅ || replacement or maybe even in-place update possible |-- | Remote Login || ✅ || replacement or maybe even in-place update possible |-- | Remote Management || ✅ || replacement or maybe even in-place update possible |-- | Remote Apple Events || ❌ || Don't use it, no replacement |-- | Bluetooth Sharing || ❓ || TBD |-- | Internet Sharing || ❓ || TBD |-- | Content Sharing || ❌ || Don't use it, no replacement |-- | Media Sharing<br/>a.k.a. "iTunes Library Sharing" || ❌ || Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] |-- | Web Sharing<br/>''Only in OS X Lion and earlier'' || ✅ || replacement or maybe even in-place update possible |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Drittprogramme absichern== * Das [https://www.privacy-handbuch.de/ Privavy-Handbuch] ** [https://www.privacy-handbuch.de/handbuch_21.htm Spurenarm Surfen mit Firefox] ** [https://www.privacy-handbuch.de/handbuch_21j2.htm Starke Passwörter verwenden] ** [https://www.privacy-handbuch.de/handbuch_21n.htm Überflüssige Funktionen in Firefox deaktivieren] (aus dem o.g. Privacy-Handbuch) ** [https://www.privacy-handbuch.de/handbuch_21i.htm#dnt Kommentar zu "Do-Not-Track"]] (more trouble than it's worth) ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Dienste und Programme=== * [https://freshrss.org FreshRSS], a free, self-hostable feeds aggregator * [https://pi-hole.net/ Pi-hole], Network-wide Ad Blocking * [https://objective-see.org/ Objective-See] source of several amazing and free privacy tools like KnockKnock, Lulu or Oversight * [https://hostux.network/en/ Hostux] Publicly hosted services such as a public encrypted DNS service, a disposable email inbox, a FreshRSS instance, and more. ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs ea985bd9321243042f1737f1e9daa8523ea84386 999 998 2022-11-29T08:01:32Z Hagbard 2 /* Dienste und Programme */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! style="width:220px;" | Service Name !! ! style="width:60px;" | |-- | Screen Sharing || ✅ || replacement or maybe even in-place update possible |-- | File Sharing || ✅ || replacement or maybe even in-place update possible |-- | Printer Sharing || ✅ || replacement or maybe even in-place update possible |-- | Remote Login || ✅ || replacement or maybe even in-place update possible |-- | Remote Management || ✅ || replacement or maybe even in-place update possible |-- | Remote Apple Events || ❌ || Don't use it, no replacement |-- | Bluetooth Sharing || ❓ || TBD |-- | Internet Sharing || ❓ || TBD |-- | Content Sharing || ❌ || Don't use it, no replacement |-- | Media Sharing<br/>a.k.a. "iTunes Library Sharing" || ❌ || Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] |-- | Web Sharing<br/>''Only in OS X Lion and earlier'' || ✅ || replacement or maybe even in-place update possible |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Drittprogramme absichern== * Das [https://www.privacy-handbuch.de/ Privavy-Handbuch] ** [https://www.privacy-handbuch.de/handbuch_21.htm Spurenarm Surfen mit Firefox] ** [https://www.privacy-handbuch.de/handbuch_21j2.htm Starke Passwörter verwenden] ** [https://www.privacy-handbuch.de/handbuch_21n.htm Überflüssige Funktionen in Firefox deaktivieren] (aus dem o.g. Privacy-Handbuch) ** [https://www.privacy-handbuch.de/handbuch_21i.htm#dnt Kommentar zu "Do-Not-Track"]] (more trouble than it's worth) ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Dienste und Programme=== * [https://freshrss.org FreshRSS], a free, self-hostable feeds aggregator * [https://pi-hole.net/ Pi-hole], Network-wide Ad Blocking * [https://objective-see.org/ Objective-See] source of several amazing and free privacy tools like KnockKnock, Lulu or Oversight * [https://hostux.network/en/ Hostux] Publicly hosted services such as a public encrypted DNS service, a disposable email inbox, and more. ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 4fca4514b3a294dbd01c1f706991fb51d2a5c1a8 1000 999 2022-12-14T09:52:51Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! style="width:220px;" | Service Name !! ! style="width:60px;" | |-- | Screen Sharing || ✅ || replacement or maybe even in-place update possible |-- | File Sharing || ✅ || replacement or maybe even in-place update possible |-- | Printer Sharing || ✅ || replacement or maybe even in-place update possible |-- | Remote Login || ✅ || replacement or maybe even in-place update possible |-- | Remote Management || ✅ || replacement or maybe even in-place update possible |-- | Remote Apple Events || ❌ || Don't use it, no replacement |-- | Bluetooth Sharing || ❓ || TBD |-- | Internet Sharing || ❓ || TBD |-- | Content Sharing || ❌ || Don't use it, no replacement |-- | Media Sharing<br/>a.k.a. "iTunes Library Sharing" || ❌ || Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] |-- | Web Sharing<br/>''Only in OS X Lion and earlier'' || ✅ || replacement or maybe even in-place update possible |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Drittprogramme absichern== * Das [https://www.privacy-handbuch.de/ Privavy-Handbuch] ** [https://www.privacy-handbuch.de/handbuch_21.htm Spurenarm Surfen mit Firefox] ** [https://www.privacy-handbuch.de/handbuch_21j2.htm Starke Passwörter verwenden] ** [https://www.privacy-handbuch.de/handbuch_21n.htm Überflüssige Funktionen in Firefox deaktivieren] (aus dem o.g. Privacy-Handbuch) ** [https://www.privacy-handbuch.de/handbuch_21i.htm#dnt Kommentar zu "Do-Not-Track"]] (more trouble than it's worth) ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Dienste und Programme=== * [https://freshrss.org FreshRSS], a free, self-hostable feeds aggregator * [https://pi-hole.net/ Pi-hole], Network-wide Ad Blocking * [https://objective-see.org/ Objective-See] source of several amazing and free privacy tools like KnockKnock, Lulu or Oversight * [https://www.murusfirewall.com/murus/ Murus<sup>2</sup>] Firewall, kostenlos in der Lite Variante (filtert nur eingehenden Traffic, ideal als Ergänzung zu LuLu oder Little Snitch (Mini)] * [https://hostux.network/en/ Hostux] Publicly hosted services such as a public encrypted DNS service, a disposable email inbox, and more. ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs d4cbb5983cfa417f8f498179532ce213c83d8a6a 1001 1000 2022-12-14T09:54:00Z Hagbard 2 /* Dienste und Programme */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! style="width:220px;" | Service Name !! ! style="width:60px;" | |-- | Screen Sharing || ✅ || replacement or maybe even in-place update possible |-- | File Sharing || ✅ || replacement or maybe even in-place update possible |-- | Printer Sharing || ✅ || replacement or maybe even in-place update possible |-- | Remote Login || ✅ || replacement or maybe even in-place update possible |-- | Remote Management || ✅ || replacement or maybe even in-place update possible |-- | Remote Apple Events || ❌ || Don't use it, no replacement |-- | Bluetooth Sharing || ❓ || TBD |-- | Internet Sharing || ❓ || TBD |-- | Content Sharing || ❌ || Don't use it, no replacement |-- | Media Sharing<br/>a.k.a. "iTunes Library Sharing" || ❌ || Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] |-- | Web Sharing<br/>''Only in OS X Lion and earlier'' || ✅ || replacement or maybe even in-place update possible |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Drittprogramme absichern== * Das [https://www.privacy-handbuch.de/ Privavy-Handbuch] ** [https://www.privacy-handbuch.de/handbuch_21.htm Spurenarm Surfen mit Firefox] ** [https://www.privacy-handbuch.de/handbuch_21j2.htm Starke Passwörter verwenden] ** [https://www.privacy-handbuch.de/handbuch_21n.htm Überflüssige Funktionen in Firefox deaktivieren] (aus dem o.g. Privacy-Handbuch) ** [https://www.privacy-handbuch.de/handbuch_21i.htm#dnt Kommentar zu "Do-Not-Track"]] (more trouble than it's worth) ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Hilfsprogramme und Dienste=== * [https://freshrss.org FreshRSS], a free, self-hostable feeds aggregator * [https://pi-hole.net/ Pi-hole], Network-wide Ad Blocking * [https://objective-see.org/ Objective-See] source of several amazing and free privacy tools like KnockKnock, Lulu or Oversight * [https://www.murusfirewall.com/murus/ Murus<sup>2</sup>] Firewall (the free Lite version filters outgoing traffic only, an ideal companion for LuLu or Little Snitch (Mini)] * [https://hostux.network/en/ Hostux] Publicly hosted services such as a public encrypted DNS service, a disposable email inbox, and more. ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs e2e658f446f62d60d805fcfd2f73810192483e1a 1002 1001 2022-12-14T09:55:21Z Hagbard 2 /* Hilfsprogramme und Dienste */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! style="width:220px;" | Service Name !! ! style="width:60px;" | |-- | Screen Sharing || ✅ || replacement or maybe even in-place update possible |-- | File Sharing || ✅ || replacement or maybe even in-place update possible |-- | Printer Sharing || ✅ || replacement or maybe even in-place update possible |-- | Remote Login || ✅ || replacement or maybe even in-place update possible |-- | Remote Management || ✅ || replacement or maybe even in-place update possible |-- | Remote Apple Events || ❌ || Don't use it, no replacement |-- | Bluetooth Sharing || ❓ || TBD |-- | Internet Sharing || ❓ || TBD |-- | Content Sharing || ❌ || Don't use it, no replacement |-- | Media Sharing<br/>a.k.a. "iTunes Library Sharing" || ❌ || Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] |-- | Web Sharing<br/>''Only in OS X Lion and earlier'' || ✅ || replacement or maybe even in-place update possible |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Drittprogramme absichern== * Das [https://www.privacy-handbuch.de/ Privavy-Handbuch] ** [https://www.privacy-handbuch.de/handbuch_21.htm Spurenarm Surfen mit Firefox] ** [https://www.privacy-handbuch.de/handbuch_21j2.htm Starke Passwörter verwenden] ** [https://www.privacy-handbuch.de/handbuch_21n.htm Überflüssige Funktionen in Firefox deaktivieren] (aus dem o.g. Privacy-Handbuch) ** [https://www.privacy-handbuch.de/handbuch_21i.htm#dnt Kommentar zu "Do-Not-Track"]] (more trouble than it's worth) ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Tools=== * [https://objective-see.org/ Objective-See] source of several amazing and free privacy tools like KnockKnock, Lulu or Oversight * [https://www.murusfirewall.com/murus/ Murus<sup>2</sup>] Firewall (the free Lite version filters outgoing traffic only, an ideal companion for LuLu or Little Snitch (Mini)] ===Self-hosted Services=== * [https://freshrss.org FreshRSS], a free, self-hostable feeds aggregator * [https://pi-hole.net/ Pi-hole], Network-wide Ad Blocking ===Other Services=== * [https://hostux.network/en/ Hostux] Publicly hosted services such as a public encrypted DNS service, a disposable email inbox, and many more. ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 22d0fd8dd42af1e09a00d254f020ebc8599b1600 1003 1002 2022-12-14T09:56:41Z Hagbard 2 /* Tools */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! style="width:220px;" | Service Name !! ! style="width:60px;" | |-- | Screen Sharing || ✅ || replacement or maybe even in-place update possible |-- | File Sharing || ✅ || replacement or maybe even in-place update possible |-- | Printer Sharing || ✅ || replacement or maybe even in-place update possible |-- | Remote Login || ✅ || replacement or maybe even in-place update possible |-- | Remote Management || ✅ || replacement or maybe even in-place update possible |-- | Remote Apple Events || ❌ || Don't use it, no replacement |-- | Bluetooth Sharing || ❓ || TBD |-- | Internet Sharing || ❓ || TBD |-- | Content Sharing || ❌ || Don't use it, no replacement |-- | Media Sharing<br/>a.k.a. "iTunes Library Sharing" || ❌ || Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] |-- | Web Sharing<br/>''Only in OS X Lion and earlier'' || ✅ || replacement or maybe even in-place update possible |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Drittprogramme absichern== * Das [https://www.privacy-handbuch.de/ Privavy-Handbuch] ** [https://www.privacy-handbuch.de/handbuch_21.htm Spurenarm Surfen mit Firefox] ** [https://www.privacy-handbuch.de/handbuch_21j2.htm Starke Passwörter verwenden] ** [https://www.privacy-handbuch.de/handbuch_21n.htm Überflüssige Funktionen in Firefox deaktivieren] (aus dem o.g. Privacy-Handbuch) ** [https://www.privacy-handbuch.de/handbuch_21i.htm#dnt Kommentar zu "Do-Not-Track"]] (more trouble than it's worth) ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Tools=== * [https://objective-see.org/ Objective-See] source of several amazing and free privacy tools like KnockKnock, Lulu or Oversight * [https://www.murusfirewall.com/murus/ Murus<sup>2</sup>] Firewall, a UI for the builtin macOS packet filter. The free Lite version filters outgoing traffic only, which makes it an ideal companion for LuLu or Little Snitch (Mini). ===Self-hosted Services=== * [https://freshrss.org FreshRSS], a free, self-hostable feeds aggregator * [https://pi-hole.net/ Pi-hole], Network-wide Ad Blocking ===Other Services=== * [https://hostux.network/en/ Hostux] Publicly hosted services such as a public encrypted DNS service, a disposable email inbox, and many more. ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs 0f019f6dc612e687420013ab4b15beffbc9e5d19 291 2023-03-02T08:21:09Z Hagbard 2 /* Weitere Informationen */ wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! style="width:220px;" | Service Name !! ! style="width:60px;" | |-- | Screen Sharing || ✅ || replacement or maybe even in-place update possible |-- | File Sharing || ✅ || replacement or maybe even in-place update possible |-- | Printer Sharing || ✅ || replacement or maybe even in-place update possible |-- | Remote Login || ✅ || replacement or maybe even in-place update possible |-- | Remote Management || ✅ || replacement or maybe even in-place update possible |-- | Remote Apple Events || ❌ || Don't use it, no replacement |-- | Bluetooth Sharing || ❓ || TBD |-- | Internet Sharing || ❓ || TBD |-- | Content Sharing || ❌ || Don't use it, no replacement |-- | Media Sharing<br/>a.k.a. "iTunes Library Sharing" || ❌ || Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] |-- | Web Sharing<br/>''Only in OS X Lion and earlier'' || ✅ || replacement or maybe even in-place update possible |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Drittprogramme absichern== * Das [https://www.privacy-handbuch.de/ Privavy-Handbuch] ** [https://www.privacy-handbuch.de/handbuch_21.htm Spurenarm Surfen mit Firefox] ** [https://www.privacy-handbuch.de/handbuch_21j2.htm Starke Passwörter verwenden] ** [https://www.privacy-handbuch.de/handbuch_21n.htm Überflüssige Funktionen in Firefox deaktivieren] (aus dem o.g. Privacy-Handbuch) ** [https://www.privacy-handbuch.de/handbuch_21i.htm#dnt Kommentar zu "Do-Not-Track"]] (more trouble than it's worth) ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Tools=== * [https://objective-see.org/ Objective-See] source of several amazing and free privacy tools like KnockKnock, Lulu or Oversight * [https://www.murusfirewall.com/murus/ Murus<sup>2</sup>] Firewall, a UI for the builtin macOS packet filter. The free Lite version filters outgoing traffic only, which makes it an ideal companion for LuLu or Little Snitch (Mini). ===Self-hosted Services=== * [https://freshrss.org FreshRSS], a free, self-hostable feeds aggregator * [https://pi-hole.net/ Pi-hole], Network-wide Ad Blocking ===Other Services=== * [https://hostux.network/en/ Hostux] Publicly hosted services such as a public encrypted DNS service, a disposable email inbox, and many more. ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs ===Encrypting/Signing=== * [https://github.com/FiloSottile/age age]: A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability. * [https://jedisct1.github.io/minisign/ minisign]: A dead simple tool to sign files and verify signatures. see also: * [https://nick.groenen.me/notes/stop-using-pgp/ Stop using PGP] 3b73d932dd3875ae007924a6e2f7f68ac869749d Hardening macOS 0 75 289 2022-11-17T08:02:52Z Hagbard 2 Redirected page to [[Mac OS X absichern - Betriebssystemkonfiguration]] wikitext text/x-wiki #redirect[[Mac_OS_X_absichern_-_Betriebssystemkonfiguration]] cbeb56dc6d5e98d86b7bb1df4885d80cb17dab5e ISPConfig Quickies 0 84 307 2022-12-06T08:58:34Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] [[Category:Development]] Various tips for running and maintaining ISPConfig, which I have running on a local VirtualBox linux guest for testing [[MAMP Quickies|MAMP PRO]] remote stuff ==Website== ===Disable open_basedir for a specific website=== Just enter {{TT|none}} into the respective text field for open_basedir and you're all set. Just leaving it empty won't work since it would just fall back to the global setting instead thus keeping it active. The global open_basedir configuration is to be found under System > Server Config > [server name] > Web > PHP Settings [admin permissions provided] 55430f898609e79bb1b69b02bbb55ea5180a1058 Main Page 0 1 1 2023-03-03T11:33:51Z MediaWiki default 1 Create main page wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This Main Page was created automatically and it seems it hasn't been replaced yet. === For the bureaucrat(s) of this wiki === Hello, and welcome to your new wiki! Thank you for choosing Miraheze for the hosting of your wiki, we hope you will enjoy our hosting. You can immediately start working on your wiki or whenever you want. Need help? No problem! We will help you with your wiki as needed. To start, try checking out these helpful links: * [[mw:Special:MyLanguage/Help:Contents|MediaWiki guide]] (e.g. navigation, editing, deleting pages, blocking users) * [[meta:Special:MyLanguage/FAQ|Miraheze FAQ]] * [[meta:Special:MyLanguage/Request features|Request settings changes on your wiki]]. (Extensions, Skin and Logo/Favicon changes should be done through [[Special:ManageWiki]] on your wiki, see [[meta:Special:MyLanguage/ManageWiki|ManageWiki]] for more information.) ==== I still don't understand X! ==== Well, that's no problem. Even if something isn't explained in the documentation/FAQ, we are still happy to help you. You can find us here: * [[meta:Special:MyLanguage/Help center|On our own Miraheze wiki]] * On [[phab:|Phabricator]] * On [https://miraheze.org/discord Discord] * On IRC in #miraheze on irc.libera.chat ([irc://irc.libera.chat/%23miraheze direct link]; [https://web.libera.chat/?channel=#miraheze webchat]) === For visitors of this wiki === Hello, the default Main Page of this wiki (this page) has not yet been replaced by the bureaucrat(s) of this wiki. The bureaucrat(s) might still be working on a Main Page, so please check again later! 21236ac3f8d65e5563b6da6b70815ca6bf1e6616 2 1 2023-03-03T12:33:33Z Hagbard 2 Protected "[[Main Page]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This Main Page was created automatically and it seems it hasn't been replaced yet. === For the bureaucrat(s) of this wiki === Hello, and welcome to your new wiki! Thank you for choosing Miraheze for the hosting of your wiki, we hope you will enjoy our hosting. You can immediately start working on your wiki or whenever you want. Need help? No problem! We will help you with your wiki as needed. To start, try checking out these helpful links: * [[mw:Special:MyLanguage/Help:Contents|MediaWiki guide]] (e.g. navigation, editing, deleting pages, blocking users) * [[meta:Special:MyLanguage/FAQ|Miraheze FAQ]] * [[meta:Special:MyLanguage/Request features|Request settings changes on your wiki]]. (Extensions, Skin and Logo/Favicon changes should be done through [[Special:ManageWiki]] on your wiki, see [[meta:Special:MyLanguage/ManageWiki|ManageWiki]] for more information.) ==== I still don't understand X! ==== Well, that's no problem. Even if something isn't explained in the documentation/FAQ, we are still happy to help you. You can find us here: * [[meta:Special:MyLanguage/Help center|On our own Miraheze wiki]] * On [[phab:|Phabricator]] * On [https://miraheze.org/discord Discord] * On IRC in #miraheze on irc.libera.chat ([irc://irc.libera.chat/%23miraheze direct link]; [https://web.libera.chat/?channel=#miraheze webchat]) === For visitors of this wiki === Hello, the default Main Page of this wiki (this page) has not yet been replaced by the bureaucrat(s) of this wiki. The bureaucrat(s) might still be working on a Main Page, so please check again later! 21236ac3f8d65e5563b6da6b70815ca6bf1e6616 5 2 2023-03-03T12:35:15Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] <div style="position:relative; top:-54px; right:0px; float:right;">[[Image:W21-1a.svg|32px|right]]</div> '''Stuff in here:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |} '''Quickies:''' {| |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right;" | [[Image:Xcode_icon.png|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |} '''Stuff out there:''' {| |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |} '''Apple Services - System Status:''' {| |-- | style="text-align:right; width:80px;" | [[Image:hand.raised.png|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Xcode_icon.png|16px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} '''See also:''' {| |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] |} ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} 2f5f44ed3773a8718b9e80fbbc82a1d13bd954e2 32 5 2023-03-03T12:57:18Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] <div style="position:relative; top:-54px; right:0px; float:right;">[[Image:W21-1a.svg|32px|right]]</div> '''Stuff in here:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |} '''Quickies:''' {| |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |} '''Stuff out there:''' {| |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |} '''Apple Services - System Status:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} '''See also:''' {| |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] |} ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} 685a85c4131159e1283f45311c0df232d40bdecc 33 32 2023-03-03T12:57:39Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] <div style="position:relative; top:-54px; right:0px; float:right;">[[Image:W21-1a.svg|32px|right]]</div> '''Stuff in here:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |} '''Quickies:''' {| |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |} '''Stuff out there:''' {| |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |} '''Apple Services - System Status:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} '''See also:''' {| |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] |} <!-- ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> 7eac7f5152025a262e8e80e5d561764bd7f8ec6d 34 33 2023-03-03T12:57:56Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] <div style="position:relative; top:-54px; right:0px; float:right;">[[Image:W21-1a.svg|32px|right]]</div> '''Stuff in here:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |} '''Quickies:''' {| |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |} '''Stuff out there:''' {| |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |} '''Apple Services - System Status:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} <!-- '''See also:''' {| |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] |} ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> 8f9ead71a4b9cc9e91825c7ebdb974aaec89fc61 35 34 2023-03-03T12:58:32Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] <div style="position:relative; top:0px; right:0px; float:right;">[[Image:W21-1a.svg|256px|right]]</div> '''Stuff in here:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |} '''Quickies:''' {| |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |} '''Stuff out there:''' {| |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |} '''Apple Services - System Status:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} <!-- '''See also:''' {| |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] |} ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> ba2d01ffd8d9dc7bce25edfa2d4ab5eaf0fa19ce 45 35 2023-03-03T13:05:19Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] <div style="position:relative; top:0px; right:0px; float:right;">[[Image:W21-1a.svg|128px|right]]</div> Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. I took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but I usually add new content in english and try to translate the other articles one at a time, whenever I have some spare time '''Stuff in here:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |} '''Quickies:''' {| |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |} '''Stuff out there:''' {| |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |} '''Apple Services - System Status:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} <!-- '''See also:''' {| |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] |} ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> 48cc706cd646c1b5d0e61d470b534dd696d10b17 46 45 2023-03-03T13:08:20Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] <div style="position:relative; top:0px; right:0px; float:right;">[[Image:W21-1a.svg|128px|right]]</div> Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. I took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. I hope you don't mind... '''Stuff in here:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |} '''Quickies:''' {| |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |} '''Stuff out there:''' {| |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |} '''Apple Services - System Status:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} <!-- '''See also:''' {| |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] |} ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> c5281f79a49999fa45524871bf3543f43b33fa87 47 46 2023-03-03T13:08:44Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] <div style="position:relative; top:0px; right:0px; float:right;">[[Image:W21-1a.svg|128px|right]]</div> Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. I took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. '''Stuff in here:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |} '''Quickies:''' {| |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |} '''Stuff out there:''' {| |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |} '''Apple Services - System Status:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} <!-- '''See also:''' {| |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] |} ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> 9964077e664c05e3d84e31ed6085a5af8306badd MacOS System Requirements 0 2 3 2023-03-03T12:34:56Z Hagbard 2 Created page with "[[Category:OS]] ==macOS== For running macOS versions on unsupported Macs check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher]: A Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 24. Oktober 20..." wikitext text/x-wiki [[Category:OS]] ==macOS== For running macOS versions on unsupported Macs check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher]: A Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Prozessor || 64-Bit intel Prozessor, Apple Silicon (Apple M1 und neueer) |-- | Siehe auch: || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_.2812.0.29|Version 12.0 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.2) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Prozessor || 64-Bit intel Prozessor, Apple A12Z oder neuer |-- | Arbeitsspeicher || mind. 4 GB RAM |-- | Sonstiges || 35.5GB available storage on macOS Sierra or later |-- | Siehe auch: || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_.2811.0.29|Version 11.0 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.1) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Prozessor || 64-Bit intel Prozessor, Apple A12Z oder neuer |-- | Arbeitsspeicher || mind. 4 GB RAM |-- | Sonstiges || 35.5GB available storage on macOS Sierra or later |-- | Siehe auch: || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_.2810.15.29|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Prozessor || 64-Bit Prozessor, 64-Bit EFI |-- | Arbeitsspeicher || mind. 4 GB RAM |-- | Sonstiges || [[#Metal|Metal]]-fähiger Grafikprozessor |-- | Siehe auch: || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_.2810.14.29|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Prozessor || 64-Bit Prozessor, 64-Bit EFI |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Sonstiges || [[#Metal|Metal]]-fähiger Grafikprozessor |-- | Siehe auch: || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Prozessor || 64-Bit Prozessor, 64-Bit EFI |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Sonstiges || mind. 14.3 GB für die Durchführung eines Upgrades |-- | Siehe auch: || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Prozessor || 64-Bit Prozessor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Sonstiges || mind. 8.8 GB freier Festplattenspeicher |-- | Siehe auch: || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Prozessor || 64-Bit Prozessor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Sonstiges || mind. 8.8 GB freier Festplattenspeicher |-- | Siehe auch: || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Prozessor || 64-Bit Prozessor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Sonstiges || mind. 8GB freier Festplattenspeicher |-- | Siehe auch: || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Prozessor || 64-Bit Prozessor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Sonstiges || mind. 8 GB freier Festplattenspeicher |-- | Siehe auch: || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Prozessor || Intel Core 2 Duo, Core i3, Core i5, Core i7 oder Xeon Prozessor |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Sonstiges || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | Siehe auch: || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs mit CoreSolo/CoreDuo-Prozessoren<br />Intel-Macs mit Intel-Grafikchipset GMA 950 oder x3100<br />Intel-Macs mit ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 20. Juli 2011 |-- | Prozessor || Intel Core 2 Duo, Core i3, Core i5, Core i7 oder Xeon Prozessor |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Siehe auch: || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs mit CoreSolo oder CoreDuo Prozessoren (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 28. August 2009 |-- | Prozessor || Intel Prozessor |-- | Arbeitsspeicher || mind. 1 GB RAM |-- | Siehe auch: || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 26. Oktober 2007 |-- | Prozessor || PowerPC G4 (mind. 867MHz), G5 oder Intel Prozessor |-- | Arbeitsspeicher || mind. 512 MB RAM |-- | Sonstiges || FireWire (integriert) |-- | Siehe auch: || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 29. April 2005 |-- | Prozessor || PowerPC G3, G4 oder G5 Prozessor, ab Version 10.4.4 auch Intel Prozessoren |-- | Arbeitsspeicher || mind. 256 MB RAM |-- | Siehe auch: || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 24. Oktober 2003 |-- | Prozessor || PowerPC G3, G4 oder G5 Prozessor (siehe Supportdokument) |-- | Arbeitsspeicher || mind. 128 MB RAM |-- | Siehe auch: || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 13. August 2002 |-- | Prozessor || PowerPC G3, G4 oder G5 Prozessor (mind. 233 MHz, siehe Supportdokument) |-- | Arbeitsspeicher || mind. 128 MB RAM |-- | Siehe auch: || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 25. September 2001 |-- | Prozessor || PowerPC G3, G4 oder G5 Prozessor (siehe Supportdokument) |-- | Arbeitsspeicher || mind. 128 MB RAM |-- | Siehe auch: || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 24. März 2001 |-- | Prozessor || PowerPC G3, G4 oder G5 Prozessor (siehe Supportdokument) |-- | Arbeitsspeicher || mind. 128 MB RAM |-- | Siehe auch: || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) 6ae4d0f0dcba4417f6464bf9195aecfb00abe22f 4 3 2023-03-03T12:35:07Z Hagbard 2 Protected "[[MacOS Systemvoraussetzungen]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki [[Category:OS]] ==macOS== For running macOS versions on unsupported Macs check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher]: A Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Prozessor || 64-Bit intel Prozessor, Apple Silicon (Apple M1 und neueer) |-- | Siehe auch: || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_.2812.0.29|Version 12.0 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.2) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Prozessor || 64-Bit intel Prozessor, Apple A12Z oder neuer |-- | Arbeitsspeicher || mind. 4 GB RAM |-- | Sonstiges || 35.5GB available storage on macOS Sierra or later |-- | Siehe auch: || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_.2811.0.29|Version 11.0 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.1) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Prozessor || 64-Bit intel Prozessor, Apple A12Z oder neuer |-- | Arbeitsspeicher || mind. 4 GB RAM |-- | Sonstiges || 35.5GB available storage on macOS Sierra or later |-- | Siehe auch: || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_.2810.15.29|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Prozessor || 64-Bit Prozessor, 64-Bit EFI |-- | Arbeitsspeicher || mind. 4 GB RAM |-- | Sonstiges || [[#Metal|Metal]]-fähiger Grafikprozessor |-- | Siehe auch: || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_.2810.14.29|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Prozessor || 64-Bit Prozessor, 64-Bit EFI |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Sonstiges || [[#Metal|Metal]]-fähiger Grafikprozessor |-- | Siehe auch: || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Prozessor || 64-Bit Prozessor, 64-Bit EFI |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Sonstiges || mind. 14.3 GB für die Durchführung eines Upgrades |-- | Siehe auch: || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Prozessor || 64-Bit Prozessor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Sonstiges || mind. 8.8 GB freier Festplattenspeicher |-- | Siehe auch: || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Prozessor || 64-Bit Prozessor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Sonstiges || mind. 8.8 GB freier Festplattenspeicher |-- | Siehe auch: || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Prozessor || 64-Bit Prozessor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Sonstiges || mind. 8GB freier Festplattenspeicher |-- | Siehe auch: || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Prozessor || 64-Bit Prozessor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Sonstiges || mind. 8 GB freier Festplattenspeicher |-- | Siehe auch: || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Prozessor || Intel Core 2 Duo, Core i3, Core i5, Core i7 oder Xeon Prozessor |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Sonstiges || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | Siehe auch: || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs mit CoreSolo/CoreDuo-Prozessoren<br />Intel-Macs mit Intel-Grafikchipset GMA 950 oder x3100<br />Intel-Macs mit ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 20. Juli 2011 |-- | Prozessor || Intel Core 2 Duo, Core i3, Core i5, Core i7 oder Xeon Prozessor |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Siehe auch: || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs mit CoreSolo oder CoreDuo Prozessoren (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 28. August 2009 |-- | Prozessor || Intel Prozessor |-- | Arbeitsspeicher || mind. 1 GB RAM |-- | Siehe auch: || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 26. Oktober 2007 |-- | Prozessor || PowerPC G4 (mind. 867MHz), G5 oder Intel Prozessor |-- | Arbeitsspeicher || mind. 512 MB RAM |-- | Sonstiges || FireWire (integriert) |-- | Siehe auch: || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 29. April 2005 |-- | Prozessor || PowerPC G3, G4 oder G5 Prozessor, ab Version 10.4.4 auch Intel Prozessoren |-- | Arbeitsspeicher || mind. 256 MB RAM |-- | Siehe auch: || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 24. Oktober 2003 |-- | Prozessor || PowerPC G3, G4 oder G5 Prozessor (siehe Supportdokument) |-- | Arbeitsspeicher || mind. 128 MB RAM |-- | Siehe auch: || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 13. August 2002 |-- | Prozessor || PowerPC G3, G4 oder G5 Prozessor (mind. 233 MHz, siehe Supportdokument) |-- | Arbeitsspeicher || mind. 128 MB RAM |-- | Siehe auch: || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 25. September 2001 |-- | Prozessor || PowerPC G3, G4 oder G5 Prozessor (siehe Supportdokument) |-- | Arbeitsspeicher || mind. 128 MB RAM |-- | Siehe auch: || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 24. März 2001 |-- | Prozessor || PowerPC G3, G4 oder G5 Prozessor (siehe Supportdokument) |-- | Arbeitsspeicher || mind. 128 MB RAM |-- | Siehe auch: || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) 6ae4d0f0dcba4417f6464bf9195aecfb00abe22f Template:Key press 10 3 6 2023-03-03T12:35:50Z Hagbard 2 Created page with "{{key press/core|{{{1|}}}}}<!-- -->{{#if:{{{2|}}}|{{{chain first|{{{chain|+}}}}}}{{key press/core|{{{2}}}}}}}<!-- -->{{#if:{{{3|}}}|{{{chain second|{{{chain|+}}}}}}{{key press/core|{{{3}}}}}}}<!-- -->{{#if:{{{4|}}}|{{{chain third|{{{chain|+}}}}}}{{key press/core|{{{4}}}}}}}<!-- -->{{#if:{{{5|}}}|{{{chain fourth|{{{chain|+}}}}}}{{key press/core|{{{5}}}}}}}<!-- -->{{#if:{{{6|}}}|{{{chain fifth|{{{chain|+}}}}}}{{key press/core|{{{6}}}}}}}<!-- -->{{#if:{{{7|}}}|{{{chain sixt..." wikitext text/x-wiki {{key press/core|{{{1|}}}}}<!-- -->{{#if:{{{2|}}}|{{{chain first|{{{chain|+}}}}}}{{key press/core|{{{2}}}}}}}<!-- -->{{#if:{{{3|}}}|{{{chain second|{{{chain|+}}}}}}{{key press/core|{{{3}}}}}}}<!-- -->{{#if:{{{4|}}}|{{{chain third|{{{chain|+}}}}}}{{key press/core|{{{4}}}}}}}<!-- -->{{#if:{{{5|}}}|{{{chain fourth|{{{chain|+}}}}}}{{key press/core|{{{5}}}}}}}<!-- -->{{#if:{{{6|}}}|{{{chain fifth|{{{chain|+}}}}}}{{key press/core|{{{6}}}}}}}<!-- -->{{#if:{{{7|}}}|{{{chain sixth|{{{chain|+}}}}}}{{key press/core|{{{7}}}}}}}<!-- -->{{#if:{{{8|}}}|{{{chain seventh|{{{chain|+}}}}}}{{key press/core|{{{8}}}}}}}<!-- -->{{#if:{{{9|}}}|{{{chain eighth|{{{chain|+}}}}}}{{key press/core|{{{9}}}}}}}<!-- -->{{#if:{{{10|}}}|{{{chain ninth|{{{chain|+}}}}}}{{key press/core|{{{10}}}}}}}<!-- -->{{#if:{{{11|}}}|[[Category:Wikipedia keypress template parameter needs fixing]]}}<noinclude> <!-- add category and language links to the /doc sub-page, not here --> == Usage == Example : {{Tlx|key press|A}} → {{key press|A}} To illustrate keystroke combinations, just use extra parameters: : {{Tlx|key press|Alt|P}} → {{key press|Alt|P}} : {{Tlx|key press|Ctrl|Alt|Del}} → {{key press|Ctrl|Alt|Del}} See https://en.wikipedia.org/wiki/Template:Key_press for details </noinclude> 98d8afc793a3bac4f477922d15b248c55a19cd75 9 6 2023-03-03T12:36:47Z Hagbard 2 Protected "[[Template:Key press]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki {{key press/core|{{{1|}}}}}<!-- -->{{#if:{{{2|}}}|{{{chain first|{{{chain|+}}}}}}{{key press/core|{{{2}}}}}}}<!-- -->{{#if:{{{3|}}}|{{{chain second|{{{chain|+}}}}}}{{key press/core|{{{3}}}}}}}<!-- -->{{#if:{{{4|}}}|{{{chain third|{{{chain|+}}}}}}{{key press/core|{{{4}}}}}}}<!-- -->{{#if:{{{5|}}}|{{{chain fourth|{{{chain|+}}}}}}{{key press/core|{{{5}}}}}}}<!-- -->{{#if:{{{6|}}}|{{{chain fifth|{{{chain|+}}}}}}{{key press/core|{{{6}}}}}}}<!-- -->{{#if:{{{7|}}}|{{{chain sixth|{{{chain|+}}}}}}{{key press/core|{{{7}}}}}}}<!-- -->{{#if:{{{8|}}}|{{{chain seventh|{{{chain|+}}}}}}{{key press/core|{{{8}}}}}}}<!-- -->{{#if:{{{9|}}}|{{{chain eighth|{{{chain|+}}}}}}{{key press/core|{{{9}}}}}}}<!-- -->{{#if:{{{10|}}}|{{{chain ninth|{{{chain|+}}}}}}{{key press/core|{{{10}}}}}}}<!-- -->{{#if:{{{11|}}}|[[Category:Wikipedia keypress template parameter needs fixing]]}}<noinclude> <!-- add category and language links to the /doc sub-page, not here --> == Usage == Example : {{Tlx|key press|A}} → {{key press|A}} To illustrate keystroke combinations, just use extra parameters: : {{Tlx|key press|Alt|P}} → {{key press|Alt|P}} : {{Tlx|key press|Ctrl|Alt|Del}} → {{key press|Ctrl|Alt|Del}} See https://en.wikipedia.org/wiki/Template:Key_press for details </noinclude> 98d8afc793a3bac4f477922d15b248c55a19cd75 Template:Key press/core 10 4 7 2023-03-03T12:36:20Z Hagbard 2 Created page with "<kbd class="keyboard-key nowrap" style="border: 1px solid #aaa; {{border-radius|0.2em}} {{box-shadow|0.1em|0.2em|0.2em|#ddd}} background-color: #f9f9f9; {{linear-gradient|top|#eee, #f9f9f9, #eee}} padding: 0.1em 0.3em; font-family: inherit; font-size: 0.85em;">{{#switch:{{lc:{{{1}}}}} | apple = [[Image:Apple logo black.svg|12px]] Apple | appleicon = [[Image:Apple logo black.svg|12px]] | power = Image:IEC5009_Standby_Symbol.svg|10px..." wikitext text/x-wiki <kbd class="keyboard-key nowrap" style="border: 1px solid #aaa; {{border-radius|0.2em}} {{box-shadow|0.1em|0.2em|0.2em|#ddd}} background-color: #f9f9f9; {{linear-gradient|top|#eee, #f9f9f9, #eee}} padding: 0.1em 0.3em; font-family: inherit; font-size: 0.85em;">{{#switch:{{lc:{{{1}}}}} | apple = [[Image:Apple logo black.svg|12px]] Apple | appleicon = [[Image:Apple logo black.svg|12px]] | power = [[Image:IEC5009_Standby_Symbol.svg|10px]] Power <!-- {{Unicode|&#x23FB;}} --> | caps lock = {{Unicode|⇪}} Caps Lock | [[caps lock]] = {{Unicode|⇪}} [[Caps Lock]] | shift = {{Unicode|⇧}} Shift | [[shift key|shift]] = {{Unicode|⇧}} [[Shift key|Shift]] | enter = {{Unicode|↵}} Enter | [[enter key|enter]] = {{Unicode|↵}} [[Enter key|Enter]] | cmd = {{Unicode|⌘}} Cmd | [[cmd key|cmd]] | [[command key|cmd]] = {{Unicode|⌘}} [[Command key|Cmd]] | command = {{Unicode|⌘}} Command | [[cmd key|command]] | [[command key|command]] = {{Unicode|⌘}} [[Command key|Command]] | esc = {{Unicode|⎋}} Esc | opt = {{Unicode|⌥}} Opt | alt = {{Unicode|⌥}} Alt | [[opt key|opt]] | [[option key|opt]] = {{Unicode|⌥}} [[Option key|Opt]] | option = {{Unicode|⌥}} Option | [[option key]] | [[opt key|option]] | [[option key|option]] = {{Unicode|⌥}} [[Option key|Option]] | tab = Tab {{Unicode|↹}} | [[tab key|tab]] = [[Tab key|Tab]] {{Unicode|↹}} | backspace = ← Backspace | [[backspace]] = ← [[Backspace]] | win = {{Unicode|⊞}} Win | [[win key|win]] | [[windows key|win]] = {{Unicode|⊞}} [[Windows key|Win]] | menu = {{Unicode|≣}} Menu | [[menu key|menu]] = {{Unicode|≣}} [[Menu key|Menu]] | up = ↑ | [[arrow keys|up]] = [[Arrow keys|↑]] | down = ↓ | [[arrow keys|down]] = [[Arrow keys|↓]] | left = ← | [[arrow keys|left]] = [[Arrow keys|←]] | right = → | [[arrow keys|right]] = [[Arrow keys|→]] | * | asterisk = <nowiki>*</nowiki> | # | hash = <nowiki>#</nowiki> | [[#]] = [[Number sign|#]] | : | colon = <nowiki>:</nowiki> | [[:]] = [[Colon (punctuation)|:]] | pipe = <nowiki>|</nowiki> | [[|]] = [[Pipe symbol|<nowiki>|</nowiki>]] | ; | semicolon = <nowiki>;</nowiki> | [[;]] = [[Semi-colon|<nowiki>;</nowiki>]] | equals = <nowiki>=</nowiki> <!-- Left & right analog sticks --> | l-up | l up = L↑ | l-down | l down = L↓ | l-left | l left = L← | l-right | l right = L→ | l-ne | l ne = L↗ | l-se | l se = L↘ | l-nw | l nw = L↖ | l-sw | l sw = L↙ | r-up | r up = R↑ | r-down | r down = R↓ | r-left | r left = R← | r-right | r right = R→ | r-ne | r ne = R↗ | r-se | r se = R↘ | r-nw | r nw = R↖ | r-sw | r sw = R↙ <!-- PlayStation --> | ps x | ex = {{unicode|×}} | ps c | circle = {{unicode|○}} | ps s | square = {{unicode|□}} | ps t | triangle = {{unicode|△}} <!-- Nintendo 64 & GameCube --> | c-up | c up = C↑ | c-down | c down = C↓ | c-left | c left = C← | c-right | c right = C→ | c-ne | c ne = C↗ | c-se | c se = C↘ | c-nw | c nw = C↖ | c-sw | c sw = C↙ <!-- default --> | #default = {{{1}}} }}</kbd><noinclude> <!-- Add categories and interwikis links to the /doc subpage, not here! --> </noinclude> e2a682c455b4ddf847ddb301715cf936872601fa 8 7 2023-03-03T12:36:32Z Hagbard 2 Protected "[[Template:Key press/core]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <kbd class="keyboard-key nowrap" style="border: 1px solid #aaa; {{border-radius|0.2em}} {{box-shadow|0.1em|0.2em|0.2em|#ddd}} background-color: #f9f9f9; {{linear-gradient|top|#eee, #f9f9f9, #eee}} padding: 0.1em 0.3em; font-family: inherit; font-size: 0.85em;">{{#switch:{{lc:{{{1}}}}} | apple = [[Image:Apple logo black.svg|12px]] Apple | appleicon = [[Image:Apple logo black.svg|12px]] | power = [[Image:IEC5009_Standby_Symbol.svg|10px]] Power <!-- {{Unicode|&#x23FB;}} --> | caps lock = {{Unicode|⇪}} Caps Lock | [[caps lock]] = {{Unicode|⇪}} [[Caps Lock]] | shift = {{Unicode|⇧}} Shift | [[shift key|shift]] = {{Unicode|⇧}} [[Shift key|Shift]] | enter = {{Unicode|↵}} Enter | [[enter key|enter]] = {{Unicode|↵}} [[Enter key|Enter]] | cmd = {{Unicode|⌘}} Cmd | [[cmd key|cmd]] | [[command key|cmd]] = {{Unicode|⌘}} [[Command key|Cmd]] | command = {{Unicode|⌘}} Command | [[cmd key|command]] | [[command key|command]] = {{Unicode|⌘}} [[Command key|Command]] | esc = {{Unicode|⎋}} Esc | opt = {{Unicode|⌥}} Opt | alt = {{Unicode|⌥}} Alt | [[opt key|opt]] | [[option key|opt]] = {{Unicode|⌥}} [[Option key|Opt]] | option = {{Unicode|⌥}} Option | [[option key]] | [[opt key|option]] | [[option key|option]] = {{Unicode|⌥}} [[Option key|Option]] | tab = Tab {{Unicode|↹}} | [[tab key|tab]] = [[Tab key|Tab]] {{Unicode|↹}} | backspace = ← Backspace | [[backspace]] = ← [[Backspace]] | win = {{Unicode|⊞}} Win | [[win key|win]] | [[windows key|win]] = {{Unicode|⊞}} [[Windows key|Win]] | menu = {{Unicode|≣}} Menu | [[menu key|menu]] = {{Unicode|≣}} [[Menu key|Menu]] | up = ↑ | [[arrow keys|up]] = [[Arrow keys|↑]] | down = ↓ | [[arrow keys|down]] = [[Arrow keys|↓]] | left = ← | [[arrow keys|left]] = [[Arrow keys|←]] | right = → | [[arrow keys|right]] = [[Arrow keys|→]] | * | asterisk = <nowiki>*</nowiki> | # | hash = <nowiki>#</nowiki> | [[#]] = [[Number sign|#]] | : | colon = <nowiki>:</nowiki> | [[:]] = [[Colon (punctuation)|:]] | pipe = <nowiki>|</nowiki> | [[|]] = [[Pipe symbol|<nowiki>|</nowiki>]] | ; | semicolon = <nowiki>;</nowiki> | [[;]] = [[Semi-colon|<nowiki>;</nowiki>]] | equals = <nowiki>=</nowiki> <!-- Left & right analog sticks --> | l-up | l up = L↑ | l-down | l down = L↓ | l-left | l left = L← | l-right | l right = L→ | l-ne | l ne = L↗ | l-se | l se = L↘ | l-nw | l nw = L↖ | l-sw | l sw = L↙ | r-up | r up = R↑ | r-down | r down = R↓ | r-left | r left = R← | r-right | r right = R→ | r-ne | r ne = R↗ | r-se | r se = R↘ | r-nw | r nw = R↖ | r-sw | r sw = R↙ <!-- PlayStation --> | ps x | ex = {{unicode|×}} | ps c | circle = {{unicode|○}} | ps s | square = {{unicode|□}} | ps t | triangle = {{unicode|△}} <!-- Nintendo 64 & GameCube --> | c-up | c up = C↑ | c-down | c down = C↓ | c-left | c left = C← | c-right | c right = C→ | c-ne | c ne = C↗ | c-se | c se = C↘ | c-nw | c nw = C↖ | c-sw | c sw = C↙ <!-- default --> | #default = {{{1}}} }}</kbd><noinclude> <!-- Add categories and interwikis links to the /doc subpage, not here! --> </noinclude> e2a682c455b4ddf847ddb301715cf936872601fa Template:Tlx 10 5 10 2023-03-03T12:37:11Z Hagbard 2 Created page with "<span style="font-family:&quot;Consolas&quot;, monospace;">{{[[{{#if:{{{SISTER|}}}|{{{SISTER}}}Template|{{ns:Template}}}}:{{{1|Tlx}}}|{{{1|Tlx}}}]]{{#if:{{{2|}}}|&#124;{{{2}}}}}{{#if:{{{3|}}}|&#124;{{{3}}}}}{{#if:{{{4|}}}|&#124;{{{4}}}}}{{#if:{{{5|}}}|&#124;{{{5}}}}}{{#if:{{{6|}}}|&#124;{{{6}}}}}{{#if:{{{7|}}}|&#124;{{{7}}}}}{{#if:{{{8|}}}|&#124;''...''}}}}</span><noinclude> </noinclude>" wikitext text/x-wiki <span style="font-family:&quot;Consolas&quot;, monospace;">{{[[{{#if:{{{SISTER|}}}|{{{SISTER}}}Template|{{ns:Template}}}}:{{{1|Tlx}}}|{{{1|Tlx}}}]]{{#if:{{{2|}}}|&#124;{{{2}}}}}{{#if:{{{3|}}}|&#124;{{{3}}}}}{{#if:{{{4|}}}|&#124;{{{4}}}}}{{#if:{{{5|}}}|&#124;{{{5}}}}}{{#if:{{{6|}}}|&#124;{{{6}}}}}{{#if:{{{7|}}}|&#124;{{{7}}}}}{{#if:{{{8|}}}|&#124;''...''}}}}</span><noinclude> </noinclude> 0df5f20f945d1be0d4b8c12b29d1693ed8c39b9c 11 10 2023-03-03T12:37:24Z Hagbard 2 Protected "[[Template:Tlx]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <span style="font-family:&quot;Consolas&quot;, monospace;">{{[[{{#if:{{{SISTER|}}}|{{{SISTER}}}Template|{{ns:Template}}}}:{{{1|Tlx}}}|{{{1|Tlx}}}]]{{#if:{{{2|}}}|&#124;{{{2}}}}}{{#if:{{{3|}}}|&#124;{{{3}}}}}{{#if:{{{4|}}}|&#124;{{{4}}}}}{{#if:{{{5|}}}|&#124;{{{5}}}}}{{#if:{{{6|}}}|&#124;{{{6}}}}}{{#if:{{{7|}}}|&#124;{{{7}}}}}{{#if:{{{8|}}}|&#124;''...''}}}}</span><noinclude> </noinclude> 0df5f20f945d1be0d4b8c12b29d1693ed8c39b9c Template:Unicode 10 6 12 2023-03-03T12:37:45Z Hagbard 2 Created page with "<span class="Unicode">{{{1}}}</span><noinclude>" wikitext text/x-wiki <span class="Unicode">{{{1}}}</span><noinclude> 0eaf6d48452ec916f583b90d1dce0c1015cc4d1e 13 12 2023-03-03T12:37:57Z Hagbard 2 Protected "[[Template:Unicode]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <span class="Unicode">{{{1}}}</span><noinclude> 0eaf6d48452ec916f583b90d1dce0c1015cc4d1e Template:TerminalIcon 10 7 14 2023-03-03T12:38:39Z Hagbard 2 Created page with "[[Image:Font Awesome 5 solid terminal.svg|16px]]" wikitext text/x-wiki [[Image:Font Awesome 5 solid terminal.svg|16px]] 3a12abf32df0a3dac232bae0b8c127b61965f6d3 15 14 2023-03-03T12:38:50Z Hagbard 2 Protected "[[Template:TerminalIcon]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki [[Image:Font Awesome 5 solid terminal.svg|16px]] 3a12abf32df0a3dac232bae0b8c127b61965f6d3 Mac Keyboard Shortcuts 0 8 16 2023-03-03T12:39:34Z Hagbard 2 Created page with "[[Category:OS]]In diesem Artikel ist eine (mittlerweile nicht mehr ganz so kleine) Liste recht praktischer Tastaturkürzel zu finden. Für alle, die eine solche Liste gern auch ohne Internetzugang abrufbar hätten, gibt es [https://www.macupdate.com/app/mac/25152/xcuts mit xcuts] selbiges als [[Dashboard|Dashboard-Widget]]. Eine Übersicht der Boot-Tastenkombinationen (die sog. "Boot Key Combos") ist im Artikel "[[Startup Key Combinations]]" zu finden. ==macOS Allgemein..." wikitext text/x-wiki [[Category:OS]]In diesem Artikel ist eine (mittlerweile nicht mehr ganz so kleine) Liste recht praktischer Tastaturkürzel zu finden. Für alle, die eine solche Liste gern auch ohne Internetzugang abrufbar hätten, gibt es [https://www.macupdate.com/app/mac/25152/xcuts mit xcuts] selbiges als [[Dashboard|Dashboard-Widget]]. Eine Übersicht der Boot-Tastenkombinationen (die sog. "Boot Key Combos") ist im Artikel "[[Startup Key Combinations]]" zu finden. ==macOS Allgemein== Global gültige Tastaturkommandos für das MacOS. Tastenkombinationen für den Start des Mac (Boot Key Combos) sind im Artikel "[[Startup Key Combinations]]" zu finden. {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|>}} {{key press|CMD|<}} || zwischen mehreren offenen Fenstern einer Anwendung wechseln |---- bgcolor="#FFFFFF" | {{key press|Ctrl|F2}} || Ins Hauptmenü springen (Startpunkt: Apfel-Menü) |---- bgcolor="#FFFFFF" | {{key press|Ctrl|F4}} || Dock anzeigen und auswählen (für eine Bedienung mit der Tastatur). Anzeigen eines Menüs mit den Pfeiltasten {{Key press|up}} und {{Key press|down}} |---- bgcolor="#FFFFFF" | {{key press|Ctrl|F4}} || Durch alle offenen Fenster (aller Anwendungen switchen) |---- bgcolor="#FFFFFF" | {{key press|Ctrl|F7}} || Tastatursteuerung umschalten: "Nur Textfelder und Listen" oder "alle Steuerungselemente" |---- bgcolor="#FFFFFF" | {{key press|Ctrl|F8}} || Zu dem Menüsymbolen springen (Uhr, Batterieanzeige, Benutzer, ...) |---- bgcolor="#FFFFFF" | {{key press|Shift|Alt}} || Zusätzlich zu den Lautstärketasten: Lautstärke-Feineinstellung in Viertelschritten (ab Mac OS X 10.5) |---- bgcolor="#FFFFFF" | {{key press|cmd|t}} || Schriftarten-Auswahldialog |---- bgcolor="#FFFFFF" | {{key press|cmd|Alt|t}} || Zeichenpalette anzeigen (Auswahldialog für Sonderzeichen) |---- bgcolor="#FFFFFF" | {{key press|cmd|Shift|c}} || Farbauswahl |---- bgcolor="#FFFFFF" | {{key press|Ctrl|shift|⏏}} || Bildschirm in den Ruhezustand versetzen (ab Mac OS X 10.5) |---- bgcolor="#FFFFFF" | {{key press|cmd|Alt|⏏}} (2 Sek.)|| Mac in den Ruhezustand versetzen (2 Sekunden lang gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|cmd|Ctrl|⏏}} || Alle Anwendungen schließen und anschließend Neustart durchführen |---- bgcolor="#FFFFFF" | {{key press|Cmd|Ctrl|Power}} || sofortigen Neustart erzwingen |---- bgcolor="#FFFFFF" | {{key press|Ctrl|CMD|Q}} || Zum Lock/Login Screen wechseln |---- bgcolor="#FFFFFF" | {{key press|Ctrl|Shift|Power}} || Display ausschalten |---- bgcolor="#FFFFFF" | {{key press|Ctrl|Opt|Power}} || Sleep mode |} ===Rechtschreibkorrektur / Eingabehilfen=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|;}} || Rechtschreibkorrektur: nächstes unkorrektes Wort finden |---- bgcolor="#FFFFFF" | {{key press|CMD|:}} || Rechtschreibkorrektur: Dialogfenster zum Lernen / Ersetzen |---- bgcolor="#FFFFFF" | {{key press|Alt|Esc}} {{key press|F5}} || Auto-Vervollständigung (Drop-Down Liste mit Vorschlägen) |} ===Screeenshots=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|shift|3}} || ganzer Bildschirm |---- bgcolor="#FFFFFF" | {{key press|CMD|SHIFT|4}} || Markierter Bereich (ein Auswahlkreuz erscheint). Drückt man danach {{key press|Space}}, kann ein einzelnes Fenster ausgewählt werden |---- bgcolor="#FFFFFF" | +{{key press|Ctrl}} || Durch zusätzliches Drücken der {{key press|Ctrl}} Taste wandert der Screenshot in die Zwischenablage und nicht in eine Datei auf dem Desktop |} ===Bedienungshilfen=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|Cmd|Opt|8}} || Bildschirmzoom ein-/ausschalten |---- bgcolor="#FFFFFF" | {{key press|Cmd|Opt|equals}} || Bildschirmzoom - vergrößern |---- bgcolor="#FFFFFF" | {{key press|Cmd|Opt|-}} || Bildschirmzoom - verkleinern |---- bgcolor="#FFFFFF" | {{key press|Ctrl|Scroll}} || Bildschirmzoom - verkleinern/vergrößern |---- bgcolor="#FFFFFF" | {{key press|Cmd|Ctrl|Opt|8}} || Bildschirmdarstellung invertieren |---- bgcolor="#FFFFFF" | {{key press|Cmd|Ctrl|Opt|,}} || Kontrast verringern |---- bgcolor="#FFFFFF" | {{key press|Cmd|Ctrl|Opt|.}} || Kontrast erhöhen |} ==macOS Tools== ===Finder=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|CMD|F}} || '''bis Mac OS 10.3.9:'''<br />herkömmliche Dateisuche mit verschiedenen Optionen<br />'''ab Mac OS 10.4:'''<br />Spotlight-Suche in einem normalen Finder-Fenster mit weiteren Suchoptionen und der Möglichkeit, die Suche als sog. "intelligenten Ordner" zu speichern. |---- bgcolor="#FFFFFF" | {{Key press|CMD|Shift|Backspace}} || Papierkorb entleeren |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|Shift|Backspace}} || Papierkorb ohne Warnung / Bestätigung entleeren |---- bgcolor="#FFFFFF" | {{Key press|CMD|Shift|.}} || Versteckte Dateien anzeigen bzw. verbergen (in jedem Finder-Fenster und Öffnen-/Speichern Dialog) |---- bgcolor="#FFFFFF" | {{Key press|Opt|Secondary Click}} auf dem Dock-Icon, dabei {{Key press|Opt}} '''vorher''' drücken und gedrückt halten!|| Menü mit Eintrag "Neu starten" |---- bgcolor="#FFFFFF" | {{Key press|Ctrl|F2}} || Menüleiste anzeigen und für Tastatursteuerung aktivieren |---- bgcolor="#FFFFFF" | {{Key press|Opt|Shift|Volume}} || Feineinstellung der Lautstärke in 64 statt 16 Stufen |} ===Dock=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|D}} || Dock anzeigen bzw. verbergen |---- bgcolor="#FFFFFF" | {{Key press|CMD|Mouse}} || Den Ort des Dock-Elements im Finder zeigen |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|Mouse}} || Alle anderen Anwendungen verbergen außer derjenigen, die man anklickt. Funktionsweise analog zu <KB>apfel + alt + h</KB> |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|Mouse Drag}} || Zwingt eine Anwendung dazu, eine auf ihr Symbol im Dock gezogene Datei zu öffnen (normalerweise ist bei nicht für eine Anwendung registrierten Typen diese Funktion gesperrt) |---- bgcolor="#FFFFFF" | {{Key press|Opt}}+Dock resize || Es werden nur fest vorgegebene Größen verwendet und keine interpolierten Zwischengrößen (kann die Systemperformance verbessern) |---- bgcolor="#FFFFFF" | {{Key press|Shift}}+Dock resize || Verschieben des Docks an eine andere Stelle des Desktops (links, rechts oder unten) |---- bgcolor="#FFFFFF" | {{Key press|Ctrl|F3}} || Dock anzeigen und für Tastatursteuerung aktivieren |} ===Spotlight=== Tastaturkürzel für Spotlight sind [[Spotlight#Tastaturshortcuts|im entsprechenden Artikel]] zu finden. ===Dashboard=== Tastaturkürzel für Spotlight sind [[Dashboard#Tastaturshortcuts|im entsprechenden Artikel]] zu finden. ===Systemeinstellungen=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|Opt|Volume}} || PrefPane "Ton" öffnen |---- bgcolor="#FFFFFF" | {{Key press|Opt|Brightness}} || PrefPane "Monitore" öffnen |} ===iTunes=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|CMD|Shift}} || iTunes im gesicherten Modusstarten (während des Starts gedrückt halten) |} ==Anwendungen== ===Vorschau=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|CMD|Shift|F}} || Diashow starten<ref name="Mehrfachhauswahl">Mehrfachauswahl im Finder mit <KB>shift</KB> oder <KB>apfel</KB>, anschließend mit der entsprechenden Anwendung öffnen</ref> |---- bgcolor="#FFFFFF" | {{Key press|CMD|Alt|C}} || Bildkorrekturen (Belichtung, Gamma, Kontrast etc.) |} ===Notizzettel (Stickies)=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|CMD|>}}<br />{{Key press|CMD|<}} || zwischen mehreren Notizzetteln wechseln |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|F}} || ausgewählten Notizzettel immer im Vordergrund halten |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|T}} || Transparenz des ausgewählten Notizzettels ein-/ausschalten |} ===Adressbuch=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|Opt}} || Bei ausgewähltem Kontakt: Hervorheben der Gruppen, denen der ausgewählte Kontakt zugewiesen ist |---- bgcolor="#FFFFFF" | {{Key press|Opt|L}} || ausgewählten Kontakt bearbeiten bzw. dessen Bearbeitung beenden |} ==Weitere Tipps== ===Sondertasten umbelegen=== Die 4 Sondertasten :{{key press|caps lock}} (Feststelltaste) :{{key press|Ctrl}} (Steuerung) :{{key press|Opt}} (Wahltaste) :{{key press|Cmd}} (Befehlstaste) lassen sich in den Systemeinstellungen im PrefPane "Tastatur & Maus" über den Button "Sondertasten" anders belegen oder auch deaktivieren. Dabei stehen jedoch nur die 4 obigen Funktionen zur Verfügung, d.h. die Tasten lassen sich also nur austauschen oder deaktivieren. ===Steuerung über die Tastatur=== Seit Mac OS X Tiger (10.4) lassen sich alle Elemente der graphischen Benutzeroberfläche per Tastatur ansteuern. Dieses Verhalten kann auf 2 verschiedenen Wegen umgeschaltet werden, und zwar # in der Systemsteuerung, PrefPane "Tastatur & Maus", Tab "Tastatur-Kurzbefehle" ganz unten # über die Tastenkombination <KB>ctrl + F7</KB> Dabei wird umgeschalten zwischen # Tastatursteuerung von Textfeldern und Listen # Tastatursteuerung aller Steuerungselemente (also z.B. auch Knöpfe/Buttons) ===Tastenkombinationen von Anwendungen ändern=== [[Image:Systemeinstellungen_KeyboardShortcut_erstellen.png|thumb|Eigene Tastaturkürzel erstellen]] In den Systemeinstellungen (PrefPane "Tastatur und Maus") lassen sich sehr einfach auch eigene Kürzel für die verschiedenen Funktionen einer Anwendung erzeugen. Dabei ist jedoch immer zu beachten, dass diese sich nicht mit anderen, durch Mac OS X oder die jeweilige Applikation belegten Kürzeln überschneiden. Im Zweifelsfall funktionert das Kürzel einfach nicht. Dazu ist im Tab "Tastatur-Kurzbefehle" auf das kleine "+" Symbol rechts unterhalb der Übersicht zu klicken, woraufhin das rechts im Bild dargestellte Fenster erscheint. Anschließend kann im DropDown Feld "Programm" eine Anwendung ausgewählt werden - entweder direkt über die Liste oder über den Eintrag "Andere..." ganz am Ende der Liste (ganz herunterscrollen) mit Hilfe eines Dateiauswahl-Dialoges. Nach der Auswahl des Programms kann nun der Menü-Eintrag für die aufzurufende Funktion (genauer Wortlaut aus dem Menü der Anwendung, z.B. "Widerrufen" oder "Datei öffnen") sowie das damit zu verknüpfende Tastaturkürzel durch Drücken der gewünschten Tastenkombination im Feld "Tastatur-Kurzbefehl" angegeben werden. Durch einen Klick auf "Hinzufügen" wird das Kürzel gespeichert und steht nach dem nächsten Start der Anwendung zur Verfügung. ==Siehe auch== * [[Startup Key Combinations]] hier im Wiki * Apple Support: ** [http://support.apple.com/kb/HT1533 Startup key combinations for Intel-based Macs] ** [http://support.apple.com/kb/ht1343 Mac OS X keyboard shortcuts] ** [https://support.apple.com/en-ae/HT201236 Mac keyboard shortcuts] * Sonstige: ** Usingmac.com: [http://usingmac.com/2007/11/21/mac-os-x-leopard-200-productivity-booster-hotkeys Liste mit über 200 Tastaturkürzeln] ** mozilla.org: [http://www.mozilla.org/support/firefox/keyboard Mozilla Firefox Tastaturkürzel] und [http://www.mozilla.org/support/firefox/mouse Mauskürzel] ** mozilla.org: [http://www.mozilla.org/support/thunderbird/keyboard Mozilla Thunderbird Tastaturkürzel] und [http://www.mozilla.org/support/thunderbird/mouse Mauskürzel] ** Leslie Franke: [http://lesliefranke.com/files/reference/thunderbirdcheatsheet.html Mozilla Thunderbird Tastaturkürzel] ([http://lesliefranke.com/files/reference/thunderbirdcheatsheet.pdf PDF]) ** [https://www.macupdate.com/app/mac/25152/xcuts xCuts] - [[Dashboard|Dashboard Widget]] zum Nachschlagen von Mac OS X Tastaturkürzeln ** [https://pqrs.org/osx/karabiner/ Karabiner] zum Umbelegen von Tasten ==Fußnoten== <references /> 6cecc779a128a19309907e562b8e5ab6ac42b5ab 17 16 2023-03-03T12:39:44Z Hagbard 2 Protected "[[Mac Keyboard Shortcuts]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki [[Category:OS]]In diesem Artikel ist eine (mittlerweile nicht mehr ganz so kleine) Liste recht praktischer Tastaturkürzel zu finden. Für alle, die eine solche Liste gern auch ohne Internetzugang abrufbar hätten, gibt es [https://www.macupdate.com/app/mac/25152/xcuts mit xcuts] selbiges als [[Dashboard|Dashboard-Widget]]. Eine Übersicht der Boot-Tastenkombinationen (die sog. "Boot Key Combos") ist im Artikel "[[Startup Key Combinations]]" zu finden. ==macOS Allgemein== Global gültige Tastaturkommandos für das MacOS. Tastenkombinationen für den Start des Mac (Boot Key Combos) sind im Artikel "[[Startup Key Combinations]]" zu finden. {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|>}} {{key press|CMD|<}} || zwischen mehreren offenen Fenstern einer Anwendung wechseln |---- bgcolor="#FFFFFF" | {{key press|Ctrl|F2}} || Ins Hauptmenü springen (Startpunkt: Apfel-Menü) |---- bgcolor="#FFFFFF" | {{key press|Ctrl|F4}} || Dock anzeigen und auswählen (für eine Bedienung mit der Tastatur). Anzeigen eines Menüs mit den Pfeiltasten {{Key press|up}} und {{Key press|down}} |---- bgcolor="#FFFFFF" | {{key press|Ctrl|F4}} || Durch alle offenen Fenster (aller Anwendungen switchen) |---- bgcolor="#FFFFFF" | {{key press|Ctrl|F7}} || Tastatursteuerung umschalten: "Nur Textfelder und Listen" oder "alle Steuerungselemente" |---- bgcolor="#FFFFFF" | {{key press|Ctrl|F8}} || Zu dem Menüsymbolen springen (Uhr, Batterieanzeige, Benutzer, ...) |---- bgcolor="#FFFFFF" | {{key press|Shift|Alt}} || Zusätzlich zu den Lautstärketasten: Lautstärke-Feineinstellung in Viertelschritten (ab Mac OS X 10.5) |---- bgcolor="#FFFFFF" | {{key press|cmd|t}} || Schriftarten-Auswahldialog |---- bgcolor="#FFFFFF" | {{key press|cmd|Alt|t}} || Zeichenpalette anzeigen (Auswahldialog für Sonderzeichen) |---- bgcolor="#FFFFFF" | {{key press|cmd|Shift|c}} || Farbauswahl |---- bgcolor="#FFFFFF" | {{key press|Ctrl|shift|⏏}} || Bildschirm in den Ruhezustand versetzen (ab Mac OS X 10.5) |---- bgcolor="#FFFFFF" | {{key press|cmd|Alt|⏏}} (2 Sek.)|| Mac in den Ruhezustand versetzen (2 Sekunden lang gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|cmd|Ctrl|⏏}} || Alle Anwendungen schließen und anschließend Neustart durchführen |---- bgcolor="#FFFFFF" | {{key press|Cmd|Ctrl|Power}} || sofortigen Neustart erzwingen |---- bgcolor="#FFFFFF" | {{key press|Ctrl|CMD|Q}} || Zum Lock/Login Screen wechseln |---- bgcolor="#FFFFFF" | {{key press|Ctrl|Shift|Power}} || Display ausschalten |---- bgcolor="#FFFFFF" | {{key press|Ctrl|Opt|Power}} || Sleep mode |} ===Rechtschreibkorrektur / Eingabehilfen=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|;}} || Rechtschreibkorrektur: nächstes unkorrektes Wort finden |---- bgcolor="#FFFFFF" | {{key press|CMD|:}} || Rechtschreibkorrektur: Dialogfenster zum Lernen / Ersetzen |---- bgcolor="#FFFFFF" | {{key press|Alt|Esc}} {{key press|F5}} || Auto-Vervollständigung (Drop-Down Liste mit Vorschlägen) |} ===Screeenshots=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|shift|3}} || ganzer Bildschirm |---- bgcolor="#FFFFFF" | {{key press|CMD|SHIFT|4}} || Markierter Bereich (ein Auswahlkreuz erscheint). Drückt man danach {{key press|Space}}, kann ein einzelnes Fenster ausgewählt werden |---- bgcolor="#FFFFFF" | +{{key press|Ctrl}} || Durch zusätzliches Drücken der {{key press|Ctrl}} Taste wandert der Screenshot in die Zwischenablage und nicht in eine Datei auf dem Desktop |} ===Bedienungshilfen=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|Cmd|Opt|8}} || Bildschirmzoom ein-/ausschalten |---- bgcolor="#FFFFFF" | {{key press|Cmd|Opt|equals}} || Bildschirmzoom - vergrößern |---- bgcolor="#FFFFFF" | {{key press|Cmd|Opt|-}} || Bildschirmzoom - verkleinern |---- bgcolor="#FFFFFF" | {{key press|Ctrl|Scroll}} || Bildschirmzoom - verkleinern/vergrößern |---- bgcolor="#FFFFFF" | {{key press|Cmd|Ctrl|Opt|8}} || Bildschirmdarstellung invertieren |---- bgcolor="#FFFFFF" | {{key press|Cmd|Ctrl|Opt|,}} || Kontrast verringern |---- bgcolor="#FFFFFF" | {{key press|Cmd|Ctrl|Opt|.}} || Kontrast erhöhen |} ==macOS Tools== ===Finder=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|CMD|F}} || '''bis Mac OS 10.3.9:'''<br />herkömmliche Dateisuche mit verschiedenen Optionen<br />'''ab Mac OS 10.4:'''<br />Spotlight-Suche in einem normalen Finder-Fenster mit weiteren Suchoptionen und der Möglichkeit, die Suche als sog. "intelligenten Ordner" zu speichern. |---- bgcolor="#FFFFFF" | {{Key press|CMD|Shift|Backspace}} || Papierkorb entleeren |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|Shift|Backspace}} || Papierkorb ohne Warnung / Bestätigung entleeren |---- bgcolor="#FFFFFF" | {{Key press|CMD|Shift|.}} || Versteckte Dateien anzeigen bzw. verbergen (in jedem Finder-Fenster und Öffnen-/Speichern Dialog) |---- bgcolor="#FFFFFF" | {{Key press|Opt|Secondary Click}} auf dem Dock-Icon, dabei {{Key press|Opt}} '''vorher''' drücken und gedrückt halten!|| Menü mit Eintrag "Neu starten" |---- bgcolor="#FFFFFF" | {{Key press|Ctrl|F2}} || Menüleiste anzeigen und für Tastatursteuerung aktivieren |---- bgcolor="#FFFFFF" | {{Key press|Opt|Shift|Volume}} || Feineinstellung der Lautstärke in 64 statt 16 Stufen |} ===Dock=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|D}} || Dock anzeigen bzw. verbergen |---- bgcolor="#FFFFFF" | {{Key press|CMD|Mouse}} || Den Ort des Dock-Elements im Finder zeigen |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|Mouse}} || Alle anderen Anwendungen verbergen außer derjenigen, die man anklickt. Funktionsweise analog zu <KB>apfel + alt + h</KB> |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|Mouse Drag}} || Zwingt eine Anwendung dazu, eine auf ihr Symbol im Dock gezogene Datei zu öffnen (normalerweise ist bei nicht für eine Anwendung registrierten Typen diese Funktion gesperrt) |---- bgcolor="#FFFFFF" | {{Key press|Opt}}+Dock resize || Es werden nur fest vorgegebene Größen verwendet und keine interpolierten Zwischengrößen (kann die Systemperformance verbessern) |---- bgcolor="#FFFFFF" | {{Key press|Shift}}+Dock resize || Verschieben des Docks an eine andere Stelle des Desktops (links, rechts oder unten) |---- bgcolor="#FFFFFF" | {{Key press|Ctrl|F3}} || Dock anzeigen und für Tastatursteuerung aktivieren |} ===Spotlight=== Tastaturkürzel für Spotlight sind [[Spotlight#Tastaturshortcuts|im entsprechenden Artikel]] zu finden. ===Dashboard=== Tastaturkürzel für Spotlight sind [[Dashboard#Tastaturshortcuts|im entsprechenden Artikel]] zu finden. ===Systemeinstellungen=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|Opt|Volume}} || PrefPane "Ton" öffnen |---- bgcolor="#FFFFFF" | {{Key press|Opt|Brightness}} || PrefPane "Monitore" öffnen |} ===iTunes=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|CMD|Shift}} || iTunes im gesicherten Modusstarten (während des Starts gedrückt halten) |} ==Anwendungen== ===Vorschau=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|CMD|Shift|F}} || Diashow starten<ref name="Mehrfachhauswahl">Mehrfachauswahl im Finder mit <KB>shift</KB> oder <KB>apfel</KB>, anschließend mit der entsprechenden Anwendung öffnen</ref> |---- bgcolor="#FFFFFF" | {{Key press|CMD|Alt|C}} || Bildkorrekturen (Belichtung, Gamma, Kontrast etc.) |} ===Notizzettel (Stickies)=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|CMD|>}}<br />{{Key press|CMD|<}} || zwischen mehreren Notizzetteln wechseln |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|F}} || ausgewählten Notizzettel immer im Vordergrund halten |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|T}} || Transparenz des ausgewählten Notizzettels ein-/ausschalten |} ===Adressbuch=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|Opt}} || Bei ausgewähltem Kontakt: Hervorheben der Gruppen, denen der ausgewählte Kontakt zugewiesen ist |---- bgcolor="#FFFFFF" | {{Key press|Opt|L}} || ausgewählten Kontakt bearbeiten bzw. dessen Bearbeitung beenden |} ==Weitere Tipps== ===Sondertasten umbelegen=== Die 4 Sondertasten :{{key press|caps lock}} (Feststelltaste) :{{key press|Ctrl}} (Steuerung) :{{key press|Opt}} (Wahltaste) :{{key press|Cmd}} (Befehlstaste) lassen sich in den Systemeinstellungen im PrefPane "Tastatur & Maus" über den Button "Sondertasten" anders belegen oder auch deaktivieren. Dabei stehen jedoch nur die 4 obigen Funktionen zur Verfügung, d.h. die Tasten lassen sich also nur austauschen oder deaktivieren. ===Steuerung über die Tastatur=== Seit Mac OS X Tiger (10.4) lassen sich alle Elemente der graphischen Benutzeroberfläche per Tastatur ansteuern. Dieses Verhalten kann auf 2 verschiedenen Wegen umgeschaltet werden, und zwar # in der Systemsteuerung, PrefPane "Tastatur & Maus", Tab "Tastatur-Kurzbefehle" ganz unten # über die Tastenkombination <KB>ctrl + F7</KB> Dabei wird umgeschalten zwischen # Tastatursteuerung von Textfeldern und Listen # Tastatursteuerung aller Steuerungselemente (also z.B. auch Knöpfe/Buttons) ===Tastenkombinationen von Anwendungen ändern=== [[Image:Systemeinstellungen_KeyboardShortcut_erstellen.png|thumb|Eigene Tastaturkürzel erstellen]] In den Systemeinstellungen (PrefPane "Tastatur und Maus") lassen sich sehr einfach auch eigene Kürzel für die verschiedenen Funktionen einer Anwendung erzeugen. Dabei ist jedoch immer zu beachten, dass diese sich nicht mit anderen, durch Mac OS X oder die jeweilige Applikation belegten Kürzeln überschneiden. Im Zweifelsfall funktionert das Kürzel einfach nicht. Dazu ist im Tab "Tastatur-Kurzbefehle" auf das kleine "+" Symbol rechts unterhalb der Übersicht zu klicken, woraufhin das rechts im Bild dargestellte Fenster erscheint. Anschließend kann im DropDown Feld "Programm" eine Anwendung ausgewählt werden - entweder direkt über die Liste oder über den Eintrag "Andere..." ganz am Ende der Liste (ganz herunterscrollen) mit Hilfe eines Dateiauswahl-Dialoges. Nach der Auswahl des Programms kann nun der Menü-Eintrag für die aufzurufende Funktion (genauer Wortlaut aus dem Menü der Anwendung, z.B. "Widerrufen" oder "Datei öffnen") sowie das damit zu verknüpfende Tastaturkürzel durch Drücken der gewünschten Tastenkombination im Feld "Tastatur-Kurzbefehl" angegeben werden. Durch einen Klick auf "Hinzufügen" wird das Kürzel gespeichert und steht nach dem nächsten Start der Anwendung zur Verfügung. ==Siehe auch== * [[Startup Key Combinations]] hier im Wiki * Apple Support: ** [http://support.apple.com/kb/HT1533 Startup key combinations for Intel-based Macs] ** [http://support.apple.com/kb/ht1343 Mac OS X keyboard shortcuts] ** [https://support.apple.com/en-ae/HT201236 Mac keyboard shortcuts] * Sonstige: ** Usingmac.com: [http://usingmac.com/2007/11/21/mac-os-x-leopard-200-productivity-booster-hotkeys Liste mit über 200 Tastaturkürzeln] ** mozilla.org: [http://www.mozilla.org/support/firefox/keyboard Mozilla Firefox Tastaturkürzel] und [http://www.mozilla.org/support/firefox/mouse Mauskürzel] ** mozilla.org: [http://www.mozilla.org/support/thunderbird/keyboard Mozilla Thunderbird Tastaturkürzel] und [http://www.mozilla.org/support/thunderbird/mouse Mauskürzel] ** Leslie Franke: [http://lesliefranke.com/files/reference/thunderbirdcheatsheet.html Mozilla Thunderbird Tastaturkürzel] ([http://lesliefranke.com/files/reference/thunderbirdcheatsheet.pdf PDF]) ** [https://www.macupdate.com/app/mac/25152/xcuts xCuts] - [[Dashboard|Dashboard Widget]] zum Nachschlagen von Mac OS X Tastaturkürzeln ** [https://pqrs.org/osx/karabiner/ Karabiner] zum Umbelegen von Tasten ==Fußnoten== <references /> 6cecc779a128a19309907e562b8e5ab6ac42b5ab Startup Key Combinations 0 9 18 2023-03-03T12:39:59Z Hagbard 2 Created page with "[[Category:OS]]<!-- alternative article names, listed for search engine optimization: [[Boot_Key_Combos|Boot Key Combos]] [[Startup_Key_Combinations|Startup Key Combinations]] --> In diesem Artikel sind verschiedene Tastenkombinationen (sog. "Boot Key Combos") für den Start des Macs aufgelistet. Diese sind während des Startsounds gedrückt halten. Tastaturkombinationen für Betriebssystemfunktionen und in Mac OS X enthaltenen Applikationen sind im Artikel Mac Keyboa..." wikitext text/x-wiki [[Category:OS]]<!-- alternative article names, listed for search engine optimization: [[Boot_Key_Combos|Boot Key Combos]] [[Startup_Key_Combinations|Startup Key Combinations]] --> In diesem Artikel sind verschiedene Tastenkombinationen (sog. "Boot Key Combos") für den Start des Macs aufgelistet. Diese sind während des Startsounds gedrückt halten. Tastaturkombinationen für Betriebssystemfunktionen und in Mac OS X enthaltenen Applikationen sind im Artikel [[Mac Keyboard Shortcuts]] zu finden. ==Aple Silicon Macs== Mit dem Wechsel zu ARM-basierten Prozessoren hat sich auch am Systemstart einiges geändert, insbesondere das System Recovery wurde komplett überarbeitet und in das Boot-Menü integriert. Dadurch funktionieren eine ganze Reihe Tastenkombinationen nicht mehr bzw. sind auch gar nicht mehr nötig: ;Boot-Menü :Die Auswahl der zu startenden macOS Installation (bzw. des Volumes/der Volume Group, auf dem/der sich diese befindet) wird nun durch das Gedrückthalten des Power Buttons beim Einschalten erreicht. Dies impliziert auch, dass der Rechner vorher ausgeschaltet sein muss, da ansonsten ein "Force Power Off" stattfindet, der üblicherweise nur im Fehlerfall zum Einsatz kommen sollte – also z.B. wenn das System eingefroren ist und auf keinerlei Eingaben mehr reagiert. Ein direkter Neustart in das Bootmenü ist also nicht mehr möglich (bislang wurde hierzu während des Starts {{Key press|Opt}} auf der Tastatur gedrückt gehalten). ;Recovery :Die System Recovery Werkzeuge sowie die Wiederherstellung einer beschädigten macOS Installation werden ebenfalls über das o.g. Boot-Menü erreicht. Die bislang dafür verwendeten Tastenkombinationen entfallen restlos. ;Internet Recovery :... gibt's nicht mehr, daher lässt sich das System nur noch auf die folgenden Weisen (re-)installieren: :* macOS Recovery (wie bisher) :* System Recovery (von versteckter Partition) :* USB [[MacOS_Installationsmedium_erstellen|Installations-Medium]] (ebenfalls wie bisher) :* via DFU Mode & Apple Configurator 2 :Mehr Informationsn zum Thema gibt es auch auf [https://mrmacintosh.com/how-to-reinstall-macos-on-your-apple-silicon-mac-everything-you-need-to-know/ mrmacintosh.com]. ==Intel und "New World" PPC Macs== Tastaturkombinationen für sog. "New World Macs", die immer funktionieren - also unabhängig vom verwendeten Betriebssystem. {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|X}} || bei OS9 / X Dualinstallation MacOS X starten |---- bgcolor="#FFFFFF" | {{key press|C}} || von CD / DVD booten |---- bgcolor="#FFFFFF" | {{key press|D}} || von Festplatte booten (bis incl. Mac OS X 10.6.8)<br />Hardware-Test starten (bei eigelegter Installations-DVD, bis incl. Mac OS X 10.6.8) Startet bei eingelegter Installations-DVD den [http://support.apple.com/kb/HT1509 Apple Hardware Test] (nicht auf Mac OS X Retail-DVDs enthalten; Geräte ohne optisches Laufwerk sowie weitere, neuere Intel-Macs können seit 10.7 den Hardware Test über das Internet nutzen) Bei älteren Macs ist die Hardwaretest-Software auf den mitgelieferten Installations-DVDs enthalten, bei neueren Intel-Macs (seit OS X 10.7) befindet sich auf einer versteckten Partition des Systemlaufwerks (HDD oder SSD). Bei Macs mit Erscheinungsdatum nach dem Juni 2013 ist die [http://support.apple.com/kb/HT5781?viewlocale=de_DE&locale=de_DE Diagnosesoftware] Teil der Systemfirmware |---- bgcolor="#FFFFFF" | {{key press|N}} || netboot: vom Netzwerk booten (bis zum Apple-Logo / MacFace gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|T}} || Rechner im [http://support.apple.com/kb/HT1661 Firewire Target-Mode] booten (die HFS-Volumes stehen am anderen Rechner dann als Externe Festplatte zur Verfügung) |---- bgcolor="#FFFFFF" | {{key press|ALT}} || Intel-Macs: EFI-Boot-Menü<br />PowerPC NewWorld Macs: OpenFirmware Boot-Menü<br />OldWorld Macs: MacOS starten |---- bgcolor="#FFFFFF" | {{key press|⏏}}<br />alternativ (linke) Maustaste || CD/DVD-Medium beim Start auswerfen |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|P|R}} || Parameter-RAM löschen (bis zum 2. Startsound gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|N|V}} || NV-RAM löschen (OpenFirmware Reset, nur PowerPC-basierte NewWorld-Macs) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|O|F}} || In die OpenFirmware booten (nur sog. "New World Macs" mit PowerPC und OpenFirmware. Intel Macs nutzen das [[wikipedia:de:Extensible_Firmware_Interface|EFI]], das nicht mehr so einfach erreichbar ist.) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL}} || Startvolume ignorieren und von externem Medium oder CD/DVD starten (default volume wird ignoriert) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL|#}} || von einer bestimmten SCSI-ID booten (# = SCSI-ID) |} ==MacOS X== Tastaturkombinationen für MacOS X Installationen: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || '''beim Systemstart:'''<br />safe boot: deaktiviert Startobjekte und lädt nur die wichtigsten Kernel-Extensions<br />'''beim Fortschrittsbalken während dem Starten:'''<br />verhindert die automatische Anmeldung<br />'''beim login:'''<br />deaktiviert Startobjekte |---- bgcolor="#FFFFFF" | {{key press|CMD|V}} || verbose-boot: Zeigt alle Statusmeldungen während des Startvorgangs (anstatt des Apfel-Logos). Dauerhafte Aktivierung durch Eingabe des folgenden Kommandos im [[:Category:Terminal|Terminal]]: sudo nvram boot-args="-v" |---- bgcolor="#FFFFFF" | {{key press|CMD|S}} || im Single User Modus starten<br />Anschließend Schreibzugriff auf Volumes aktivieren mit: fsck -fy mount -uw / |---- bgcolor="#FFFFFF" | {{key press|CMD|R}} || Mac OS X 10.7 im [[Lion_Recovery|Recovery Modus]] starten (bei mit FileVault2 verschlüsselten Laufwerken erst ab 10.7.2 funktionstüchtig) |---- bgcolor="#FFFFFF" | {{key press|ALT+R}} || Mac OS X 10.7 im [[Lion_Recovery|Online Recovery Modus]] starten (Neuinstallation von OS X) |---- bgcolor="#FFFFFF" | {{key press|6|4}} || Kernel im 64-Bit Modus starten (ab Version 10.6 auf unterstützten Geräten)<br />Um herauszufinden, ob der eigene Mac den 64-Bit Modus für den Systemstart untertützt, ist folgendes im [[:Category:Terminal|Terminal]] einzugeben: {{Manl|ioreg|ioreg}} -l -p IODeviceTree | grep firmware-abi Auf unterstützten Systemen müsste die Ausgabe wie folgt aussehen: "firmware-abi" = <"EFI64"> |---- bgcolor="#FFFFFF" | {{key press|3|2}} || Kernel im 32-Bit Modus starten (ab Version 10.7) |} ==Mac OS Classic== Tastaturkombinationen, die nur mit dem "alten" MacOS (Version 9 und davor) funktionieren: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || Systemerweiterungen deaktivieren |---- bgcolor="#FFFFFF" | {{key press|CMD}} || Ohne virtuellen Speicher starten |---- bgcolor="#FFFFFF" | {{key press|space}} || "Conflict-Catcher" - Auswahl der Systemerweiterungen |} == Siehe auch == * [[Mac Keyboard Shortcuts]] hier im Wiki * Apple Support: ** [http://support.apple.com/kb/HT1533?viewlocale=de_DE&locale=de_DE Tastenkombinationen beim Startvorgang Intel-basierter Macs] ** [http://support.apple.com/kb/ht1343?viewlocale=de_DE&locale=de_DE Mac OS X: Tastaturkurzbefehle] ** [http://support.apple.com/kb/HT1242?viewlocale=de_DE&locale=de_DE Mac OS X: Was wird im PRAM gespeichert] * System Management Controller (SMC) von Intel-Macs zurücksetzen: ** [http://support.apple.com/kb/HT1543?viewlocale=de_DE&locale=de_DE Mac Mini, iMac] ** [http://support.apple.com/kb/HT1411?viewlocale=de_DE&locale=de_DE MacBook, MacBook Pro, MacBook Air] ** [http://reviews.cnet.com/8301-13727_7-10330118-263.html When to reset the PRAM and SMC/PMU] * [http://support.apple.com/kb/HT1436 How to reset the SMU on a Power Mac G5 (Late 2004) or Power Mac G5 (Late 2005)] 9a5601ca19cdff385eba0b6ef2eb8a6b36264dbd 19 18 2023-03-03T12:40:09Z Hagbard 2 Protected "[[Startup Key Combinations]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki [[Category:OS]]<!-- alternative article names, listed for search engine optimization: [[Boot_Key_Combos|Boot Key Combos]] [[Startup_Key_Combinations|Startup Key Combinations]] --> In diesem Artikel sind verschiedene Tastenkombinationen (sog. "Boot Key Combos") für den Start des Macs aufgelistet. Diese sind während des Startsounds gedrückt halten. Tastaturkombinationen für Betriebssystemfunktionen und in Mac OS X enthaltenen Applikationen sind im Artikel [[Mac Keyboard Shortcuts]] zu finden. ==Aple Silicon Macs== Mit dem Wechsel zu ARM-basierten Prozessoren hat sich auch am Systemstart einiges geändert, insbesondere das System Recovery wurde komplett überarbeitet und in das Boot-Menü integriert. Dadurch funktionieren eine ganze Reihe Tastenkombinationen nicht mehr bzw. sind auch gar nicht mehr nötig: ;Boot-Menü :Die Auswahl der zu startenden macOS Installation (bzw. des Volumes/der Volume Group, auf dem/der sich diese befindet) wird nun durch das Gedrückthalten des Power Buttons beim Einschalten erreicht. Dies impliziert auch, dass der Rechner vorher ausgeschaltet sein muss, da ansonsten ein "Force Power Off" stattfindet, der üblicherweise nur im Fehlerfall zum Einsatz kommen sollte – also z.B. wenn das System eingefroren ist und auf keinerlei Eingaben mehr reagiert. Ein direkter Neustart in das Bootmenü ist also nicht mehr möglich (bislang wurde hierzu während des Starts {{Key press|Opt}} auf der Tastatur gedrückt gehalten). ;Recovery :Die System Recovery Werkzeuge sowie die Wiederherstellung einer beschädigten macOS Installation werden ebenfalls über das o.g. Boot-Menü erreicht. Die bislang dafür verwendeten Tastenkombinationen entfallen restlos. ;Internet Recovery :... gibt's nicht mehr, daher lässt sich das System nur noch auf die folgenden Weisen (re-)installieren: :* macOS Recovery (wie bisher) :* System Recovery (von versteckter Partition) :* USB [[MacOS_Installationsmedium_erstellen|Installations-Medium]] (ebenfalls wie bisher) :* via DFU Mode & Apple Configurator 2 :Mehr Informationsn zum Thema gibt es auch auf [https://mrmacintosh.com/how-to-reinstall-macos-on-your-apple-silicon-mac-everything-you-need-to-know/ mrmacintosh.com]. ==Intel und "New World" PPC Macs== Tastaturkombinationen für sog. "New World Macs", die immer funktionieren - also unabhängig vom verwendeten Betriebssystem. {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|X}} || bei OS9 / X Dualinstallation MacOS X starten |---- bgcolor="#FFFFFF" | {{key press|C}} || von CD / DVD booten |---- bgcolor="#FFFFFF" | {{key press|D}} || von Festplatte booten (bis incl. Mac OS X 10.6.8)<br />Hardware-Test starten (bei eigelegter Installations-DVD, bis incl. Mac OS X 10.6.8) Startet bei eingelegter Installations-DVD den [http://support.apple.com/kb/HT1509 Apple Hardware Test] (nicht auf Mac OS X Retail-DVDs enthalten; Geräte ohne optisches Laufwerk sowie weitere, neuere Intel-Macs können seit 10.7 den Hardware Test über das Internet nutzen) Bei älteren Macs ist die Hardwaretest-Software auf den mitgelieferten Installations-DVDs enthalten, bei neueren Intel-Macs (seit OS X 10.7) befindet sich auf einer versteckten Partition des Systemlaufwerks (HDD oder SSD). Bei Macs mit Erscheinungsdatum nach dem Juni 2013 ist die [http://support.apple.com/kb/HT5781?viewlocale=de_DE&locale=de_DE Diagnosesoftware] Teil der Systemfirmware |---- bgcolor="#FFFFFF" | {{key press|N}} || netboot: vom Netzwerk booten (bis zum Apple-Logo / MacFace gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|T}} || Rechner im [http://support.apple.com/kb/HT1661 Firewire Target-Mode] booten (die HFS-Volumes stehen am anderen Rechner dann als Externe Festplatte zur Verfügung) |---- bgcolor="#FFFFFF" | {{key press|ALT}} || Intel-Macs: EFI-Boot-Menü<br />PowerPC NewWorld Macs: OpenFirmware Boot-Menü<br />OldWorld Macs: MacOS starten |---- bgcolor="#FFFFFF" | {{key press|⏏}}<br />alternativ (linke) Maustaste || CD/DVD-Medium beim Start auswerfen |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|P|R}} || Parameter-RAM löschen (bis zum 2. Startsound gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|N|V}} || NV-RAM löschen (OpenFirmware Reset, nur PowerPC-basierte NewWorld-Macs) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|O|F}} || In die OpenFirmware booten (nur sog. "New World Macs" mit PowerPC und OpenFirmware. Intel Macs nutzen das [[wikipedia:de:Extensible_Firmware_Interface|EFI]], das nicht mehr so einfach erreichbar ist.) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL}} || Startvolume ignorieren und von externem Medium oder CD/DVD starten (default volume wird ignoriert) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL|#}} || von einer bestimmten SCSI-ID booten (# = SCSI-ID) |} ==MacOS X== Tastaturkombinationen für MacOS X Installationen: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || '''beim Systemstart:'''<br />safe boot: deaktiviert Startobjekte und lädt nur die wichtigsten Kernel-Extensions<br />'''beim Fortschrittsbalken während dem Starten:'''<br />verhindert die automatische Anmeldung<br />'''beim login:'''<br />deaktiviert Startobjekte |---- bgcolor="#FFFFFF" | {{key press|CMD|V}} || verbose-boot: Zeigt alle Statusmeldungen während des Startvorgangs (anstatt des Apfel-Logos). Dauerhafte Aktivierung durch Eingabe des folgenden Kommandos im [[:Category:Terminal|Terminal]]: sudo nvram boot-args="-v" |---- bgcolor="#FFFFFF" | {{key press|CMD|S}} || im Single User Modus starten<br />Anschließend Schreibzugriff auf Volumes aktivieren mit: fsck -fy mount -uw / |---- bgcolor="#FFFFFF" | {{key press|CMD|R}} || Mac OS X 10.7 im [[Lion_Recovery|Recovery Modus]] starten (bei mit FileVault2 verschlüsselten Laufwerken erst ab 10.7.2 funktionstüchtig) |---- bgcolor="#FFFFFF" | {{key press|ALT+R}} || Mac OS X 10.7 im [[Lion_Recovery|Online Recovery Modus]] starten (Neuinstallation von OS X) |---- bgcolor="#FFFFFF" | {{key press|6|4}} || Kernel im 64-Bit Modus starten (ab Version 10.6 auf unterstützten Geräten)<br />Um herauszufinden, ob der eigene Mac den 64-Bit Modus für den Systemstart untertützt, ist folgendes im [[:Category:Terminal|Terminal]] einzugeben: {{Manl|ioreg|ioreg}} -l -p IODeviceTree | grep firmware-abi Auf unterstützten Systemen müsste die Ausgabe wie folgt aussehen: "firmware-abi" = <"EFI64"> |---- bgcolor="#FFFFFF" | {{key press|3|2}} || Kernel im 32-Bit Modus starten (ab Version 10.7) |} ==Mac OS Classic== Tastaturkombinationen, die nur mit dem "alten" MacOS (Version 9 und davor) funktionieren: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || Systemerweiterungen deaktivieren |---- bgcolor="#FFFFFF" | {{key press|CMD}} || Ohne virtuellen Speicher starten |---- bgcolor="#FFFFFF" | {{key press|space}} || "Conflict-Catcher" - Auswahl der Systemerweiterungen |} == Siehe auch == * [[Mac Keyboard Shortcuts]] hier im Wiki * Apple Support: ** [http://support.apple.com/kb/HT1533?viewlocale=de_DE&locale=de_DE Tastenkombinationen beim Startvorgang Intel-basierter Macs] ** [http://support.apple.com/kb/ht1343?viewlocale=de_DE&locale=de_DE Mac OS X: Tastaturkurzbefehle] ** [http://support.apple.com/kb/HT1242?viewlocale=de_DE&locale=de_DE Mac OS X: Was wird im PRAM gespeichert] * System Management Controller (SMC) von Intel-Macs zurücksetzen: ** [http://support.apple.com/kb/HT1543?viewlocale=de_DE&locale=de_DE Mac Mini, iMac] ** [http://support.apple.com/kb/HT1411?viewlocale=de_DE&locale=de_DE MacBook, MacBook Pro, MacBook Air] ** [http://reviews.cnet.com/8301-13727_7-10330118-263.html When to reset the PRAM and SMC/PMU] * [http://support.apple.com/kb/HT1436 How to reset the SMU on a Power Mac G5 (Late 2004) or Power Mac G5 (Late 2005)] 9a5601ca19cdff385eba0b6ef2eb8a6b36264dbd MacOS Installationsmedium erstellen 0 10 20 2023-03-03T12:40:28Z Hagbard 2 Created page with "[[Category:OS]][[Category:Hint]] {{Important|1=Bei der Installation älterer Versionen ist ggf. zusätzlich noch das Systemdatum auf einen Zeitpunkt kurz nach dem Download des Installationsarchivs einzustellen, da ansonsten ggf. die Verifizierung des Downloads aufgrund eines abgelaufenen Zertifikates fehlschlägt und der Installer dann einen erneuten Download verlangt (der natürlich nicht erforderlich ist).}} {{Info|1=Seit macOS Catalina (Version 10.15) kann ein bestimm..." wikitext text/x-wiki [[Category:OS]][[Category:Hint]] {{Important|1=Bei der Installation älterer Versionen ist ggf. zusätzlich noch das Systemdatum auf einen Zeitpunkt kurz nach dem Download des Installationsarchivs einzustellen, da ansonsten ggf. die Verifizierung des Downloads aufgrund eines abgelaufenen Zertifikates fehlschlägt und der Installer dann einen erneuten Download verlangt (der natürlich nicht erforderlich ist).}} {{Info|1=Seit macOS Catalina (Version 10.15) kann ein bestimmtes macOS Installationsarchiv statt über den App Store auch mit Hilfe des Kommandozeilentools {{TT|softwareupdate}} heruntergeladen werden, hier am Beispiel von macOS Mojave: :{{TT|softwareupdate --fetch-full-installer}} :{{TT|softwareupdate --fetch-full-installer --full-installer-version 10.14.6
}} Für aktuelle [[wikipedia:MacOS|macOS]] Versionen (derzeit [[wikipedia:MacOS_Big_Sur|Big Sur]] und [[wikipedia:MacOS_Monterey|Monterey]]) können die Installer auch direkt von der Apple Website geladen werden, beispielsweise so: :{{TT|curl -o InstallAssistant.pkg http://swcdn.apple.com/content/downloads/.../InstallAssistant.pkg}} Eine Liste der aktuellen Downloadlinks – die übrigens immer nur für eine begrenzte Zeit gültig sind – ist beispielsweise auf [https://mrmacintosh.com mrmacintosh.com] zu finden: * [https://mrmacintosh.com/macos-big-sur-full-installer-database-download-directly-from-apple/ Big Sur Installers] * [https://mrmacintosh.com/macos-12-monterey-full-installer-database-download-directly-from-apple/ Monterey Installers] }} ==OS X Mavericks und neuer== ===via {{Terminal}}=== Seit der finalen Version von OS X Mavericks (zuletzt getestete Version: macOS Sierra, Version 10.12.4) bietet der Installer die Möglichkeit, via Terminal ein Installationsmedium auf einem beliebigen, angeschlossenen Volume zu erstellen. Zu diesem Zweck wurde das Terminalkommando "{{TT|createinstallmedia}}" hinzugefügt. Im Folgenden wird davon ausgegegangen, dass sich das aus dem Mac App Store geladene Installationsarchiv im Systemverzeichnis "Programme" befindet. Anschließend ist im Terminal folgendes einzugeben, dabei wird der Inhalt des Zielmediums logischerweise gelöscht (es werden dazu Admin-Rechte benötigt, ggf. ist ein entsprechendes Kennwort einzugeben): sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume "/Volumes/<Installationsmedium>" Für macOS Version 10.13 (High Sierra) und älter ist zusätzlich die Angabe des Parameters {{TT|--applicationpath}} erforderlich: sudo /Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia --volume "/Volumes/<Installationsmedium>" --applicationpath "/Applications/Install OS X Mavericks.app" Dabei ist "{{TT|<Installationsmedium>}}" durch den Namen des jeweiligen Volume zu ersetzen. Falls sich das Installationsarchiv an einem anderen Ort befindet, ist auch der Pfad dementsprechend zu korrigieren. Da das Zielvolume während des Vorgangs ausgehängt werden muss, sollten andere aktive Programme keine Dateien von diesem Laufwerk geöffnet haben. Folgende Parameter stehen hierbei zur Verfügung (Stand: OS X Version 10.9.0): {| |-- |{{TT|--volume}} || vollständiger Pfad zum Zielvolume || obligatorisch |-- |{{TT|--applicationpath}} || vollständiger Pad zum Installationsarchiv (App-Bundle) || obligatorisch, bis macOS Version 10.13 (High Sierra) |-- |{{TT|--nointeraction}} || Keine Rückfrage für das Löschen des Zielmediums || optional |-- |{{TT|--force}} || (erwähnt aber nicht weiter dokumentiert) || optional |-- |{{TT|--downloadassets
}} || zusätzlicher Download der aktuellen Firmware auf das externe Volume || optional |} Siehe auch: [http://support.apple.com/kb/HT5856 Apple Support Dokument "HT5856"] Alternativ kann das graphische Installationsprogramm auch über das Terminal gestartet werden: sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/startosinstall --applicationpath /Applications/Install\ macOS\ High\ Sierra.app --agreetolicense --converttoapfs NO --nointeraction ===Von Hand=== Unter '''OS X Mountain Lion''' (Version 10.8.x) und den Vorabversionen (Developer Previews) von '''OS X Mavericks''' (Version 10.9.x) ist eine andere Vorgehensweise notwendig, da das Installations-DMG "{{TT|InstallESD.dmg}}" hier kein vollständiges, bootfähiges OS X enthält. Daher sind folgende Schritte notwendig, um zunächst ein bootfähiges Volume (z.B. auf einer externen Festplatte oder einem USB-Stick) zu erhalten: # eine leere Partition auf einem bootfähigen Medium bereitstellen (z.B. ext. USB-Festplatte oder ein USB-Stick) # innerhalb des OS X Installationsbundle im Unterverzeichnis {{TT|/Contents/SharedSupport/}} das Disk-Image "{{TT|InstallESD.dmg}}" finden und per Doppelklick einhängen. # für den folgenden Schritt kann entweder das [[:Category:Terminal|Terminal]] verwendet werden, oder der Finder muss (z.B. mit Hilfe von [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool]) dazu bewegt werden, versteckte Dateien anzuzeigen ([[#Versteckte Dateien im Finder anzeigen|siehe unten]]). # dort befindet sich ein weiteres (verstecktes) Disk-Image namens "{{TT|BaseSystem.dmg}}", das zur Wiederherstellung z.B. auf den Desktop kopiert werden kann (aber nicht muss). # Im Festplattendienstprogramm kann nun dieses Image auf die bereits vorbereitete, leere Partition "wiederhergestellt" werden (Partition auswählen und im Tab "Wiederherstellen" Quelle und Ziel auswählen). Dieses Image enthält ein bootfähiges System, allerdings noch ohne Installationsdateien. Diese werden nun im folgenden Schritt kopoert: # Anschließend ist dieses soeben erstellte (bootfähige) Volume öffnen (müsste "OS X Base System" zu öffnen. Dort befindet sich nun unter "{{TT|/System/Installation/}}" ein defekter Alias namens "{{TT|Packages}}", der zu löschen und durch das entsprechende Verzeichnis "{{TT|Packages}}" im Disk-Image "{{TT|InstallESD.dmg}}" zu ersetzen ist. Dieses Verzeichnis enthält alle Installationdateien und ist dementsprechend relativ größ (etwa 4,5 GiB). # unter Version 10.10 und neuer müssen zusätzlich die folgenden Beiden Dateien ins Wurzelverzeichnis des neuen Installationsmediums kopiert werden: #* {{TT|BaseSystem.chunklist}} #* {{TT|BaseSystem.dmg}} # Fertig. Anschließend kann der Mac von dem neu erstellten Installationsvolume "OS X Base System" gestartet werden. ==OS X Lion und Mountain Lion== {{Important|1= Seit '''OS X Mavericks''' (Version 10.9) hat sich die Vorgehensweise im Vergleich zu OS X (Mountain) Lion geändert, da das Installations-DMG "{{TT|InstallESD.dmg}}" nun kein vollständiges, bootfähiges OS X mehr enthält, das lediglich auf eine DVD zu brennen ist. Details hierzu sind im Abschnitt "[[#OS X Mavericks und neuer|OS X Mavericks]]" dieses Artikels zu finden.<br /><br /> Die für OS X Lion und Mountain Lion beschriebene Vorgehensweise funktioniert '''partiell nur unter Snow Leopard und Lion''' bzw. wenn eine andere OS X Version als die derzeit installierte heruntergeladen werden soll. Dieselbe Version wird im App Store nicht mehr zur Installation angeboten, sondern lediglich deren Updates. Das jeweilige Produkt erscheint dann ggf. (falls es vorher via App Store heruntergeladen wurde) mit dem Status "Installiert" und lässt sich nicht mehr herunterladen. In einigen Fällen konnte mit gedrückter "ALT" Taste das Archiv dennoch erneut heruntergeladen werden, was jedoch nicht immer und zuverlässig zu funktionieren scheint.}} [[Image:OSX_Lion_DVD_Contents.png|right|100px|Inhalt des OSX Lion Installationsarchivs]]Aus dem im App Store herunterladbaren Installationsbundle von OS X (OS X Lion und Mountain Lion) lässt sich unter älteren Versionen (ab Snow Leopard) in wenigen Schritten eine bootfähige Installations-DVD erstellen. Innerhalb des Bundles befindet sich nämlich ein Disk Image namens "{{TT|InstallESD.dmg}}", das sich mit Hilfe des Festplatten-Dienstprogramms ohne Probleme auf eine DVD brennen lässt. Dieses Archiv befindet sich an folgender Stelle innerhalb des Application Bundles "{{TT|Mac OS X Lion Installation.app}}" (siehe Abb. rechts), das man im Finder über das Kontextmenü ("Paketinhalt zeigen") erreicht: /Contents/SharedSupport/InstallESD.dmg ===DVD=== Dieses Image ist lediglich an eine beliebige Stelle außerhalb des Bundles zu kopieren und kann anschließend mit Hilfe des Festplatten-Dienstprogramms (Disk Utility) auf DVD gebrannt werden (dort einfach auf "Brennen" klicken und das Image auswählen). ===USB-Stick=== Für das Erstellen eines USB-Sticks als Installationsmedium ist dieser entsprechend vorzubereiten: # den USB-Stick im Festplatten-Dienstprogramm mit dem Dateisystem "Mac OS X Extended (Journaled)" (HFS+) formatieren.<br />[[Image:Gefahrenzeichen_16.svg|16px]] '''Wichtig:''' darauf achten, dass als Partitionsschema "Apple GUID" verwendet wird (ist standardmäßig der Fall), ansonsten kann ein Intel Mac von diesem Medium aus nicht gestartet werden! # Das formatierte Medium auswählen und im Tab "Wiederherstellen" als Quelle das Disk Image "{{TT|InstallESD.dmg}}" auswählen (z.B. per Drag'n'Drop aus dem Finder). # Als Zielmedium (falls nicht bereits ausgewählt) das soeben formatierte Volume auf dem USB-Stick in das Feld "Zielmedium" ziehen (aus der Laufwerksauswahl links) # Mit einem Klick auf "Wiederherstellen" wandert dann der Inhalt des Disk Images auf den USB Stick ==Tools== ===Carbon Copy Cloner=== Ab Version 3.4.4 bietet der [http://bombich.com/ Carbon Copy Cloner] die Möglichkeit, aus einem im Programme-Ordner vorhandenen Lion-Installationsarchiv heraus ein Installationsmedium zu erstellen. Dieses steht im Auswahlmenü "Quelle" zur Verfügung, als Ziel (das zukünftige Installationsmedium) kann dann ein beliebiges Volume (ausreichender Größe, beispielsweise eine externe Festplatte) ausgewählt werden. ===DiskMaker X=== Der [http://diskmakerx.com/ DiskMaker X] (donationware, früherer Name: [http://liondiskmaker.com/ Lion Disk Maker]) dient ebenfalls dazu, aus den heruntergeladenen App Store Archiven startbare Installationsmedien zu erstellen. ==Hintergund== Bei einer "herkömmlichen" Installation des heruntergeladenen Application-Bundle werden durch das Installationsprogramm im Wesentlichen folgende Schritte durchgeführt: * Erzeugen einer versteckten Partition auf der Systemfestplatte * Wiederherstellen des o.g. Disk Images auf dieser Partition * Diese Installationspartition wird anschließend als Startvolume verwendet, wobei andere existierende System-Volumes ausgeblendet werden (diese sind dann auch nicht mehr über das OSX Boot-Menü erreichbar) Beim Neustart von dieser Partition wird dann OSX Lion installiert. Durch das Übertragen des Disk Images auf eine DVD oder einen USB Stick macht man also nichts anderes als diese Schritte zu umgehen und das Installationsmedium statt dessen von einem externen Volume aus zu starten. ===Versteckte Dateien im Finder anzeigen=== Um im Finder alle Dateien - auch versteckte - sehen zu können, ist im {{Terminal}} folgende Anweisung einzugeben: <source> defaults write com.apple.finder AppleShowAllFiles -boolean true </source> Anschließend ist der Finder mit folgendem Kommando ne zu starten, damit die Änderung wirksam wird: <source> killall Finder </source> Die Deaktivierung erfolgt dann mit Hilfe folgender Anweisung: <source> defaults delete com.apple.finder AppleShowAllFiles </source> Alternativ dazu kann der Finder auch über das Dock-Icon neu gestartet werden, und zwar via Rechtsklick bei gedrückter <KB>ALT</KB> Taste (alt). ==See also== * [https://support.apple.com/en-us/HT208198 About Startup Security Utility] at [https://support.apple.com support.apple.com] * [https://scriptingosx.com/2020/01/downgrading-a-mac-that-shipped-with-catalina-to-mojave/ Downgrading a Mac that shipped with Catalina to Mojave] at [https://scriptingosx.com scriptingosx.com] * [https://en.wikibooks.org/wiki/VirtualBox/Setting_up_a_Virtual_Machine/Mac_OS_X VirtualBox/Setting up a Virtual Machine/Mac OS X] at [https://en.wikibooks.org Wikibooks] f5cd302dd4c89ba53cd5e37238cbfe83c284b402 21 20 2023-03-03T12:40:39Z Hagbard 2 Protected "[[MacOS Installationsmedium erstellen]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki [[Category:OS]][[Category:Hint]] {{Important|1=Bei der Installation älterer Versionen ist ggf. zusätzlich noch das Systemdatum auf einen Zeitpunkt kurz nach dem Download des Installationsarchivs einzustellen, da ansonsten ggf. die Verifizierung des Downloads aufgrund eines abgelaufenen Zertifikates fehlschlägt und der Installer dann einen erneuten Download verlangt (der natürlich nicht erforderlich ist).}} {{Info|1=Seit macOS Catalina (Version 10.15) kann ein bestimmtes macOS Installationsarchiv statt über den App Store auch mit Hilfe des Kommandozeilentools {{TT|softwareupdate}} heruntergeladen werden, hier am Beispiel von macOS Mojave: :{{TT|softwareupdate --fetch-full-installer}} :{{TT|softwareupdate --fetch-full-installer --full-installer-version 10.14.6
}} Für aktuelle [[wikipedia:MacOS|macOS]] Versionen (derzeit [[wikipedia:MacOS_Big_Sur|Big Sur]] und [[wikipedia:MacOS_Monterey|Monterey]]) können die Installer auch direkt von der Apple Website geladen werden, beispielsweise so: :{{TT|curl -o InstallAssistant.pkg http://swcdn.apple.com/content/downloads/.../InstallAssistant.pkg}} Eine Liste der aktuellen Downloadlinks – die übrigens immer nur für eine begrenzte Zeit gültig sind – ist beispielsweise auf [https://mrmacintosh.com mrmacintosh.com] zu finden: * [https://mrmacintosh.com/macos-big-sur-full-installer-database-download-directly-from-apple/ Big Sur Installers] * [https://mrmacintosh.com/macos-12-monterey-full-installer-database-download-directly-from-apple/ Monterey Installers] }} ==OS X Mavericks und neuer== ===via {{Terminal}}=== Seit der finalen Version von OS X Mavericks (zuletzt getestete Version: macOS Sierra, Version 10.12.4) bietet der Installer die Möglichkeit, via Terminal ein Installationsmedium auf einem beliebigen, angeschlossenen Volume zu erstellen. Zu diesem Zweck wurde das Terminalkommando "{{TT|createinstallmedia}}" hinzugefügt. Im Folgenden wird davon ausgegegangen, dass sich das aus dem Mac App Store geladene Installationsarchiv im Systemverzeichnis "Programme" befindet. Anschließend ist im Terminal folgendes einzugeben, dabei wird der Inhalt des Zielmediums logischerweise gelöscht (es werden dazu Admin-Rechte benötigt, ggf. ist ein entsprechendes Kennwort einzugeben): sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume "/Volumes/<Installationsmedium>" Für macOS Version 10.13 (High Sierra) und älter ist zusätzlich die Angabe des Parameters {{TT|--applicationpath}} erforderlich: sudo /Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia --volume "/Volumes/<Installationsmedium>" --applicationpath "/Applications/Install OS X Mavericks.app" Dabei ist "{{TT|<Installationsmedium>}}" durch den Namen des jeweiligen Volume zu ersetzen. Falls sich das Installationsarchiv an einem anderen Ort befindet, ist auch der Pfad dementsprechend zu korrigieren. Da das Zielvolume während des Vorgangs ausgehängt werden muss, sollten andere aktive Programme keine Dateien von diesem Laufwerk geöffnet haben. Folgende Parameter stehen hierbei zur Verfügung (Stand: OS X Version 10.9.0): {| |-- |{{TT|--volume}} || vollständiger Pfad zum Zielvolume || obligatorisch |-- |{{TT|--applicationpath}} || vollständiger Pad zum Installationsarchiv (App-Bundle) || obligatorisch, bis macOS Version 10.13 (High Sierra) |-- |{{TT|--nointeraction}} || Keine Rückfrage für das Löschen des Zielmediums || optional |-- |{{TT|--force}} || (erwähnt aber nicht weiter dokumentiert) || optional |-- |{{TT|--downloadassets
}} || zusätzlicher Download der aktuellen Firmware auf das externe Volume || optional |} Siehe auch: [http://support.apple.com/kb/HT5856 Apple Support Dokument "HT5856"] Alternativ kann das graphische Installationsprogramm auch über das Terminal gestartet werden: sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/startosinstall --applicationpath /Applications/Install\ macOS\ High\ Sierra.app --agreetolicense --converttoapfs NO --nointeraction ===Von Hand=== Unter '''OS X Mountain Lion''' (Version 10.8.x) und den Vorabversionen (Developer Previews) von '''OS X Mavericks''' (Version 10.9.x) ist eine andere Vorgehensweise notwendig, da das Installations-DMG "{{TT|InstallESD.dmg}}" hier kein vollständiges, bootfähiges OS X enthält. Daher sind folgende Schritte notwendig, um zunächst ein bootfähiges Volume (z.B. auf einer externen Festplatte oder einem USB-Stick) zu erhalten: # eine leere Partition auf einem bootfähigen Medium bereitstellen (z.B. ext. USB-Festplatte oder ein USB-Stick) # innerhalb des OS X Installationsbundle im Unterverzeichnis {{TT|/Contents/SharedSupport/}} das Disk-Image "{{TT|InstallESD.dmg}}" finden und per Doppelklick einhängen. # für den folgenden Schritt kann entweder das [[:Category:Terminal|Terminal]] verwendet werden, oder der Finder muss (z.B. mit Hilfe von [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool]) dazu bewegt werden, versteckte Dateien anzuzeigen ([[#Versteckte Dateien im Finder anzeigen|siehe unten]]). # dort befindet sich ein weiteres (verstecktes) Disk-Image namens "{{TT|BaseSystem.dmg}}", das zur Wiederherstellung z.B. auf den Desktop kopiert werden kann (aber nicht muss). # Im Festplattendienstprogramm kann nun dieses Image auf die bereits vorbereitete, leere Partition "wiederhergestellt" werden (Partition auswählen und im Tab "Wiederherstellen" Quelle und Ziel auswählen). Dieses Image enthält ein bootfähiges System, allerdings noch ohne Installationsdateien. Diese werden nun im folgenden Schritt kopoert: # Anschließend ist dieses soeben erstellte (bootfähige) Volume öffnen (müsste "OS X Base System" zu öffnen. Dort befindet sich nun unter "{{TT|/System/Installation/}}" ein defekter Alias namens "{{TT|Packages}}", der zu löschen und durch das entsprechende Verzeichnis "{{TT|Packages}}" im Disk-Image "{{TT|InstallESD.dmg}}" zu ersetzen ist. Dieses Verzeichnis enthält alle Installationdateien und ist dementsprechend relativ größ (etwa 4,5 GiB). # unter Version 10.10 und neuer müssen zusätzlich die folgenden Beiden Dateien ins Wurzelverzeichnis des neuen Installationsmediums kopiert werden: #* {{TT|BaseSystem.chunklist}} #* {{TT|BaseSystem.dmg}} # Fertig. Anschließend kann der Mac von dem neu erstellten Installationsvolume "OS X Base System" gestartet werden. ==OS X Lion und Mountain Lion== {{Important|1= Seit '''OS X Mavericks''' (Version 10.9) hat sich die Vorgehensweise im Vergleich zu OS X (Mountain) Lion geändert, da das Installations-DMG "{{TT|InstallESD.dmg}}" nun kein vollständiges, bootfähiges OS X mehr enthält, das lediglich auf eine DVD zu brennen ist. Details hierzu sind im Abschnitt "[[#OS X Mavericks und neuer|OS X Mavericks]]" dieses Artikels zu finden.<br /><br /> Die für OS X Lion und Mountain Lion beschriebene Vorgehensweise funktioniert '''partiell nur unter Snow Leopard und Lion''' bzw. wenn eine andere OS X Version als die derzeit installierte heruntergeladen werden soll. Dieselbe Version wird im App Store nicht mehr zur Installation angeboten, sondern lediglich deren Updates. Das jeweilige Produkt erscheint dann ggf. (falls es vorher via App Store heruntergeladen wurde) mit dem Status "Installiert" und lässt sich nicht mehr herunterladen. In einigen Fällen konnte mit gedrückter "ALT" Taste das Archiv dennoch erneut heruntergeladen werden, was jedoch nicht immer und zuverlässig zu funktionieren scheint.}} [[Image:OSX_Lion_DVD_Contents.png|right|100px|Inhalt des OSX Lion Installationsarchivs]]Aus dem im App Store herunterladbaren Installationsbundle von OS X (OS X Lion und Mountain Lion) lässt sich unter älteren Versionen (ab Snow Leopard) in wenigen Schritten eine bootfähige Installations-DVD erstellen. Innerhalb des Bundles befindet sich nämlich ein Disk Image namens "{{TT|InstallESD.dmg}}", das sich mit Hilfe des Festplatten-Dienstprogramms ohne Probleme auf eine DVD brennen lässt. Dieses Archiv befindet sich an folgender Stelle innerhalb des Application Bundles "{{TT|Mac OS X Lion Installation.app}}" (siehe Abb. rechts), das man im Finder über das Kontextmenü ("Paketinhalt zeigen") erreicht: /Contents/SharedSupport/InstallESD.dmg ===DVD=== Dieses Image ist lediglich an eine beliebige Stelle außerhalb des Bundles zu kopieren und kann anschließend mit Hilfe des Festplatten-Dienstprogramms (Disk Utility) auf DVD gebrannt werden (dort einfach auf "Brennen" klicken und das Image auswählen). ===USB-Stick=== Für das Erstellen eines USB-Sticks als Installationsmedium ist dieser entsprechend vorzubereiten: # den USB-Stick im Festplatten-Dienstprogramm mit dem Dateisystem "Mac OS X Extended (Journaled)" (HFS+) formatieren.<br />[[Image:Gefahrenzeichen_16.svg|16px]] '''Wichtig:''' darauf achten, dass als Partitionsschema "Apple GUID" verwendet wird (ist standardmäßig der Fall), ansonsten kann ein Intel Mac von diesem Medium aus nicht gestartet werden! # Das formatierte Medium auswählen und im Tab "Wiederherstellen" als Quelle das Disk Image "{{TT|InstallESD.dmg}}" auswählen (z.B. per Drag'n'Drop aus dem Finder). # Als Zielmedium (falls nicht bereits ausgewählt) das soeben formatierte Volume auf dem USB-Stick in das Feld "Zielmedium" ziehen (aus der Laufwerksauswahl links) # Mit einem Klick auf "Wiederherstellen" wandert dann der Inhalt des Disk Images auf den USB Stick ==Tools== ===Carbon Copy Cloner=== Ab Version 3.4.4 bietet der [http://bombich.com/ Carbon Copy Cloner] die Möglichkeit, aus einem im Programme-Ordner vorhandenen Lion-Installationsarchiv heraus ein Installationsmedium zu erstellen. Dieses steht im Auswahlmenü "Quelle" zur Verfügung, als Ziel (das zukünftige Installationsmedium) kann dann ein beliebiges Volume (ausreichender Größe, beispielsweise eine externe Festplatte) ausgewählt werden. ===DiskMaker X=== Der [http://diskmakerx.com/ DiskMaker X] (donationware, früherer Name: [http://liondiskmaker.com/ Lion Disk Maker]) dient ebenfalls dazu, aus den heruntergeladenen App Store Archiven startbare Installationsmedien zu erstellen. ==Hintergund== Bei einer "herkömmlichen" Installation des heruntergeladenen Application-Bundle werden durch das Installationsprogramm im Wesentlichen folgende Schritte durchgeführt: * Erzeugen einer versteckten Partition auf der Systemfestplatte * Wiederherstellen des o.g. Disk Images auf dieser Partition * Diese Installationspartition wird anschließend als Startvolume verwendet, wobei andere existierende System-Volumes ausgeblendet werden (diese sind dann auch nicht mehr über das OSX Boot-Menü erreichbar) Beim Neustart von dieser Partition wird dann OSX Lion installiert. Durch das Übertragen des Disk Images auf eine DVD oder einen USB Stick macht man also nichts anderes als diese Schritte zu umgehen und das Installationsmedium statt dessen von einem externen Volume aus zu starten. ===Versteckte Dateien im Finder anzeigen=== Um im Finder alle Dateien - auch versteckte - sehen zu können, ist im {{Terminal}} folgende Anweisung einzugeben: <source> defaults write com.apple.finder AppleShowAllFiles -boolean true </source> Anschließend ist der Finder mit folgendem Kommando ne zu starten, damit die Änderung wirksam wird: <source> killall Finder </source> Die Deaktivierung erfolgt dann mit Hilfe folgender Anweisung: <source> defaults delete com.apple.finder AppleShowAllFiles </source> Alternativ dazu kann der Finder auch über das Dock-Icon neu gestartet werden, und zwar via Rechtsklick bei gedrückter <KB>ALT</KB> Taste (alt). ==See also== * [https://support.apple.com/en-us/HT208198 About Startup Security Utility] at [https://support.apple.com support.apple.com] * [https://scriptingosx.com/2020/01/downgrading-a-mac-that-shipped-with-catalina-to-mojave/ Downgrading a Mac that shipped with Catalina to Mojave] at [https://scriptingosx.com scriptingosx.com] * [https://en.wikibooks.org/wiki/VirtualBox/Setting_up_a_Virtual_Machine/Mac_OS_X VirtualBox/Setting up a Virtual Machine/Mac OS X] at [https://en.wikibooks.org Wikibooks] f5cd302dd4c89ba53cd5e37238cbfe83c284b402 Terminal Quickies 0 11 22 2023-03-03T12:41:16Z Hagbard 2 Created page with "[[Category:Terminal]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <source> mdfind -onlyin <path> 'kMDItemKind == "Alias"' </source> z.B.: <source> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </source> ===Zwei..." wikitext text/x-wiki [[Category:Terminal]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <source> mdfind -onlyin <path> 'kMDItemKind == "Alias"' </source> z.B.: <source> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </source> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <source lang=bash> diff -qr ./old/ ./new/ </source> Beispielausgabe: <source lang=bash> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </source> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <source lang=bash>find . -regex '.*.svn' -exec rm -rf "{}" \;</source> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <source lang=bash> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </source> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <source lang=bash> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </source> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <source lang=bash> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </source> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <source lang=bash>srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </source> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <source lang=bash>chflags hidden FILE_OR_DIRECTORY</source> Folgendes Kommando bewirkt genau das Gegenteil: <source lang=bash>chflags nohidden FILE_OR_DIRECTORY</source> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <source lang=bash>ar vx dateiname.deb</source> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <source lang=bash>tar xvfz data.tar.gz</source> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf </path/to/package.pkg> xar -xvf </path/to/package.pkg> -C <destination-folder> pkgutil --expand </path/to/package.pkg> <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume </path/to/volume> for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ==Administration== ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <source> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </source> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <source lang=bash> ps -ef </source> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <source lang="bash">ps -A -j | grep loginwindow</source> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <source lang="bash">sudo kill 123</source> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <source lang="bash">softwareupdate -d -a</source> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <source lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </source> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <source>sudo launchctl list</source> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <source>$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</source> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <source>$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </source> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <source>sudo launchctl unload -w &lt;NAME></source> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <pre>killall NotificationCenter</pre> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write <bundleidentifier> NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <source>killall -KILL SystemUIServer</source> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <pre> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </pre> ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <pre>sudo scutil --set HostName <hostname></pre> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <source> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </source> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <source> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </source> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <pre> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </pre> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <source> $ csrutil status System Integrity Protection status: enabled. </source> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <source> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </source> z.B.: <source> tccutil reset Accessibility tccutil reset AppleEvents tccutil reset All </source> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <pre>strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</pre> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<pre>/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</pre> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <source lang=bash> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </source> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r <timestamp> z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep <path> z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <source>ls -lO</source> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <source> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </source> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides 67ec7e90785f8953963eba48fd2d745a41ad9a5e 23 22 2023-03-03T12:41:31Z Hagbard 2 Protected "[[Terminal Quickies]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki [[Category:Terminal]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <source> mdfind -onlyin <path> 'kMDItemKind == "Alias"' </source> z.B.: <source> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </source> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <source lang=bash> diff -qr ./old/ ./new/ </source> Beispielausgabe: <source lang=bash> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </source> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <source lang=bash>find . -regex '.*.svn' -exec rm -rf "{}" \;</source> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <source lang=bash> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </source> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <source lang=bash> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </source> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <source lang=bash> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </source> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <source lang=bash>srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </source> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <source lang=bash>chflags hidden FILE_OR_DIRECTORY</source> Folgendes Kommando bewirkt genau das Gegenteil: <source lang=bash>chflags nohidden FILE_OR_DIRECTORY</source> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <source lang=bash>ar vx dateiname.deb</source> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <source lang=bash>tar xvfz data.tar.gz</source> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf </path/to/package.pkg> xar -xvf </path/to/package.pkg> -C <destination-folder> pkgutil --expand </path/to/package.pkg> <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume </path/to/volume> for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ==Administration== ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <source> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </source> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <source lang=bash> ps -ef </source> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <source lang="bash">ps -A -j | grep loginwindow</source> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <source lang="bash">sudo kill 123</source> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <source lang="bash">softwareupdate -d -a</source> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <source lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </source> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <source>sudo launchctl list</source> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <source>$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</source> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <source>$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </source> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <source>sudo launchctl unload -w &lt;NAME></source> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <pre>killall NotificationCenter</pre> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write <bundleidentifier> NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <source>killall -KILL SystemUIServer</source> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <pre> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </pre> ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <pre>sudo scutil --set HostName <hostname></pre> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <source> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </source> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <source> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </source> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <pre> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </pre> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <source> $ csrutil status System Integrity Protection status: enabled. </source> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <source> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </source> z.B.: <source> tccutil reset Accessibility tccutil reset AppleEvents tccutil reset All </source> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <pre>strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</pre> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<pre>/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</pre> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <source lang=bash> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </source> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r <timestamp> z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep <path> z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <source>ls -lO</source> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <source> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </source> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides 67ec7e90785f8953963eba48fd2d745a41ad9a5e Template:Terminal 10 12 24 2023-03-03T12:42:37Z Hagbard 2 Created page with "<noinclude>Abkürzungsvorlage für die Darstellung eines Links zur Kategorie "Terminal" mit zugehörigem Icon. ;Vorschau: {{Terminal}} </noinclude><includeonly>{{TerminalIcon}} [[:Category:Terminal|Terminal]]</includeonly>" wikitext text/x-wiki <noinclude>Abkürzungsvorlage für die Darstellung eines Links zur Kategorie "Terminal" mit zugehörigem Icon. ;Vorschau: {{Terminal}} </noinclude><includeonly>{{TerminalIcon}} [[:Category:Terminal|Terminal]]</includeonly> 280a38b13db32edc2680fe1da871b8128cb9e806 25 24 2023-03-03T12:42:52Z Hagbard 2 Protected "[[Template:Terminal]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <noinclude>Abkürzungsvorlage für die Darstellung eines Links zur Kategorie "Terminal" mit zugehörigem Icon. ;Vorschau: {{Terminal}} </noinclude><includeonly>{{TerminalIcon}} [[:Category:Terminal|Terminal]]</includeonly> 280a38b13db32edc2680fe1da871b8128cb9e806 Template:Border-radius 10 13 26 2023-03-03T12:52:58Z Hagbard 2 Created page with "<includeonly>border-radius: {{{1|8px}}};</includeonly>" wikitext text/x-wiki <includeonly>border-radius: {{{1|8px}}};</includeonly> 5396583dc02d0ca09590932b9e22794f9a02c697 Template:Box-shadow 10 14 27 2023-03-03T12:53:14Z Hagbard 2 Created page with "<includeonly>box-shadow: {{{1|4px}}} {{{2|4px}}} {{{3|4px}}} {{{4|#ccc}}};</includeonly>" wikitext text/x-wiki <includeonly>box-shadow: {{{1|4px}}} {{{2|4px}}} {{{3|4px}}} {{{4|#ccc}}};</includeonly> ab7836c28cdf6feabce7a4e3627ec4b2015c202a Template:Linear-gradient 10 15 28 2023-03-03T12:53:32Z Hagbard 2 Created page with "<includeonly>background-image: -moz-linear-gradient({{{1|}}}, {{{2|}}}); background-image: -o-linear-gradient({{{1|}}}, {{{2|}}}); background-image: -webkit-linear-gradient({{{1|}}}, {{{2|}}}); background-image: linear-gradient({{#switch: {{{1|}}} | top = to bottom | bottom = to top | left = to right | right = to left | top left | left top = to bottom right | top right | right top = to bottom left | bottom left | left bottom = to top right | bottom right | right bottom =..." wikitext text/x-wiki <includeonly>background-image: -moz-linear-gradient({{{1|}}}, {{{2|}}}); background-image: -o-linear-gradient({{{1|}}}, {{{2|}}}); background-image: -webkit-linear-gradient({{{1|}}}, {{{2|}}}); background-image: linear-gradient({{#switch: {{{1|}}} | top = to bottom | bottom = to top | left = to right | right = to left | top left | left top = to bottom right | top right | right top = to bottom left | bottom left | left bottom = to top right | bottom right | right bottom = to top left | #default = {{{1}}} }}, {{{2|}}});</includeonly><noinclude> </noinclude> 28ea207a305c1e470f2f8fa54ec25b3130453c5d Template:CollapsibleContentboxWithTitle 10 16 29 2023-03-03T12:53:55Z Hagbard 2 Created page with "<noinclude>Vorlage für eine einklappbare Inhaltsbox mit Titel, ohne Titelicon. </noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIconText"> <td id="topleftIcon">&nbsp;</td> <td id="topIconTitleText">{{{title}}}</td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td id="content"> <!-- overflow:auto; to fix collapsed display, because the toggle link has float:right; --> <div class="toccolours mw-coll..." wikitext text/x-wiki <noinclude>Vorlage für eine einklappbare Inhaltsbox mit Titel, ohne Titelicon. </noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIconText"> <td id="topleftIcon">&nbsp;</td> <td id="topIconTitleText">{{{title}}}</td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td id="content"> <!-- overflow:auto; to fix collapsed display, because the toggle link has float:right; --> <div class="toccolours mw-collapsible" style="overflow:auto;"> {{{content}}} </div> </td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> 57a6cdd8ba0fc73ea359eea8b6df23b11a364cbd macwrench:Copyrights 4 17 30 2023-03-03T12:54:29Z Hagbard 2 Created page with "== You are free to: == '''Share''' — copy and redistribute the material in any medium or format '''Adapt''' — remix, transform, and build upon the material The licensor cannot revoke these freedoms as long as you follow the license terms. == Under the following terms: == '''Attribution''' — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests..." wikitext text/x-wiki == You are free to: == '''Share''' — copy and redistribute the material in any medium or format '''Adapt''' — remix, transform, and build upon the material The licensor cannot revoke these freedoms as long as you follow the license terms. == Under the following terms: == '''Attribution''' — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. '''NonCommercial''' — You may not use the material for commercial purposes. '''ShareAlike''' — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. '''No additional restrictions''' — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. == Notices: == You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation. No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material. 39cfdde4425192d5c39588665e5d06caaf28a190 31 30 2023-03-03T12:54:39Z Hagbard 2 Protected "[[macwrench:Copyrights]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki == You are free to: == '''Share''' — copy and redistribute the material in any medium or format '''Adapt''' — remix, transform, and build upon the material The licensor cannot revoke these freedoms as long as you follow the license terms. == Under the following terms: == '''Attribution''' — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. '''NonCommercial''' — You may not use the material for commercial purposes. '''ShareAlike''' — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. '''No additional restrictions''' — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. == Notices: == You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation. No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material. 39cfdde4425192d5c39588665e5d06caaf28a190 Template:Info 10 18 36 2023-03-03T12:59:09Z Hagbard 2 Created page with "<noinclude>Vorlage zur Einblendung eines einfachen Bausteins mit einem frei definierbaren Text für weitere Informationen zu einem gerade behandelten Thema. ;Beispiel: <nowiki>{{Information|Text}}</nowiki> ;Ausgabe: {{Information|Text}} </noinclude><includeonly> {{InfoboxWithIcon|icon=Logo informations.svg|width=100%|content={{{1}}}}}</includeonly>" wikitext text/x-wiki <noinclude>Vorlage zur Einblendung eines einfachen Bausteins mit einem frei definierbaren Text für weitere Informationen zu einem gerade behandelten Thema. ;Beispiel: <nowiki>{{Information|Text}}</nowiki> ;Ausgabe: {{Information|Text}} </noinclude><includeonly> {{InfoboxWithIcon|icon=Logo informations.svg|width=100%|content={{{1}}}}}</includeonly> 84362ec794f2dc4b243d74e8d84b278fd9a53036 Template:Information 10 19 37 2023-03-03T13:01:05Z Hagbard 2 Redirected page to [[Template:Info]] wikitext text/x-wiki #REDIRECT [[Template:Info]] f4ee1f9330fc42f4fa24305159b5c2aca42be66c Template:InfoboxWithIcon 10 20 38 2023-03-03T13:01:31Z Hagbard 2 Created page with "<noinclude>Diese Vorlage dient der Erzeugung verschiedener Artikelbausteine, wie z.B. zur Kennzeichnung * ausbaufähiger Artikel * unvollständiger Artikel * unverständlicher Artikel * Löschkandidaten usw. Die Vorlage sollte '''nicht direkt verwendet werden''' sondern nur innerhalb der obigen Artikelbausteine zum Einsatz kommen. Für die Verwendung der Vorlage ohne Icon ist die Vorlage [[Vorlage:Infobox|Infobox]] zu verwenden. </noinclude><includeonly>{{ContentboxWith..." wikitext text/x-wiki <noinclude>Diese Vorlage dient der Erzeugung verschiedener Artikelbausteine, wie z.B. zur Kennzeichnung * ausbaufähiger Artikel * unvollständiger Artikel * unverständlicher Artikel * Löschkandidaten usw. Die Vorlage sollte '''nicht direkt verwendet werden''' sondern nur innerhalb der obigen Artikelbausteine zum Einsatz kommen. Für die Verwendung der Vorlage ohne Icon ist die Vorlage [[Vorlage:Infobox|Infobox]] zu verwenden. </noinclude><includeonly>{{ContentboxWithIcon|icon={{{icon}}}|width={{{width}}}|content= {{{content}}}}}</includeonly> bd0946aa8042eb0795a3696209fb38d9456d7eb1 Template:Important 10 21 39 2023-03-03T13:01:48Z Hagbard 2 Created page with "<noinclude>Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für wichtige Informationen zu einem gerade behandelten Thema. ;Beispiel: <nowiki>{{Important|Text}}</nowiki> ;Ausgabe: {{Important|Text}} </noinclude><includeonly> {{InfoboxWithIcon|icon=Gefahrenzeichen_16.svg|width=100%|content={{{1}}}}}</includeonly>" wikitext text/x-wiki <noinclude>Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für wichtige Informationen zu einem gerade behandelten Thema. ;Beispiel: <nowiki>{{Important|Text}}</nowiki> ;Ausgabe: {{Important|Text}} </noinclude><includeonly> {{InfoboxWithIcon|icon=Gefahrenzeichen_16.svg|width=100%|content={{{1}}}}}</includeonly> 702a23f9120b4a3dc5aa2f93dce2ed5d8bb3db74 Template:Infobox 10 22 40 2023-03-03T13:01:57Z Hagbard 2 Created page with "<noinclude>Diese Vorlage dient der Erzeugung verschiedener Artikelbausteine, wie z.B. zur Kennzeichnung * ausbaufähiger Artikel * unvollständiger Artikel * unverständlicher Artikel * Löschkandidaten usw. Die Vorlage sollte '''nicht direkt verwendet werden''' sondern nur innerhalb der obigen Artikelbaustein zum Einsatz kommen. Für die Verwendung der Vorlage mit Icon ist die Vorlage [[Vorlage:InfoboxWithIcon|InfoboxWithIcon]] zu verwenden. </noinclude><includeonly>{{..." wikitext text/x-wiki <noinclude>Diese Vorlage dient der Erzeugung verschiedener Artikelbausteine, wie z.B. zur Kennzeichnung * ausbaufähiger Artikel * unvollständiger Artikel * unverständlicher Artikel * Löschkandidaten usw. Die Vorlage sollte '''nicht direkt verwendet werden''' sondern nur innerhalb der obigen Artikelbaustein zum Einsatz kommen. Für die Verwendung der Vorlage mit Icon ist die Vorlage [[Vorlage:InfoboxWithIcon|InfoboxWithIcon]] zu verwenden. </noinclude><includeonly>{{Contentbox|width={{{width}}}|content= <div style="width:80px; height:64px; float:left;"> [[Image:{{{icon}}}|64px]]</div><div style="width:100%;">{{{content}}}</div>}}</includeonly> fad5072e5a5709dd94518c24a389021d3336fcb2 Template:ContentboxWithIcon 10 23 41 2023-03-03T13:02:09Z Hagbard 2 Created page with "<noinclude>Vorlage für eine Inhaltsbox ohne Titel, mit Titelicon. '''Hinweis:''' Das Symbol wird immer auf 32 Pixel Breite herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIcon"> <td id="topleftIcon">&nbsp;</td> <td id="topIcon">[[Image:{{{icon}}}|32px]]</td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td id="content">{{{content}}}</td> <td id="right"></td> </tr..." wikitext text/x-wiki <noinclude>Vorlage für eine Inhaltsbox ohne Titel, mit Titelicon. '''Hinweis:''' Das Symbol wird immer auf 32 Pixel Breite herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIcon"> <td id="topleftIcon">&nbsp;</td> <td id="topIcon">[[Image:{{{icon}}}|32px]]</td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td id="content">{{{content}}}</td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> cd00d7e8a8d64f7965b61e8d7d180411307d59f6 Template:InfoboxWithIconAlt 10 24 42 2023-03-03T13:02:20Z Hagbard 2 Created page with "<noinclude>Diese Vorlage dient der Erzeugung verschiedener Artikelbausteine, wie z.B. zur Kennzeichnung * ausbaufähiger Artikel * unvollständiger Artikel * unverständlicher Artikel * Löschkandidaten usw. Die Vorlage sollte '''nicht direkt verwendet werden''' sondern nur innerhalb der obigen Artikelbausteine zum Einsatz kommen. Für die Verwendung der Vorlage ohne Icon ist die Vorlage [[Vorlage:Infobox|Infobox]] zu verwenden. </noinclude><includeonly>{{ContentboxWith..." wikitext text/x-wiki <noinclude>Diese Vorlage dient der Erzeugung verschiedener Artikelbausteine, wie z.B. zur Kennzeichnung * ausbaufähiger Artikel * unvollständiger Artikel * unverständlicher Artikel * Löschkandidaten usw. Die Vorlage sollte '''nicht direkt verwendet werden''' sondern nur innerhalb der obigen Artikelbausteine zum Einsatz kommen. Für die Verwendung der Vorlage ohne Icon ist die Vorlage [[Vorlage:Infobox|Infobox]] zu verwenden. </noinclude><includeonly>{{ContentboxWithIcon|icon={{{icon}}}|width={{{width}}}|content= {{{content}}}}}</includeonly> bd0946aa8042eb0795a3696209fb38d9456d7eb1 Template:TT 10 25 43 2023-03-03T13:02:49Z Hagbard 2 Redirected page to [[Template:Tt]] wikitext text/x-wiki #REDIRECT [[Template:Tt]] 6cdf18f0b03e84516fe5817447e57ab6daf31701 Template:Tt 10 26 44 2023-03-03T13:03:03Z Hagbard 2 Created page with "<noinclude>Vorlage zur Ausgabe einer Zeichenfolge in Monospaced-Schrift (Typewriter), z.B. für kurze Codeschnippsel oder Variablennamen im Fließtext. ;Verwendung: <nowiki>{{TT|Monospaced Text}}</nowiki> ;Ausgabe: {{TT|Monospaced Text}} </noinclude><includeonly><font style="font-family:courier,monospace; font-size:100%;">{{{1}}}</font></includeonly>" wikitext text/x-wiki <noinclude>Vorlage zur Ausgabe einer Zeichenfolge in Monospaced-Schrift (Typewriter), z.B. für kurze Codeschnippsel oder Variablennamen im Fließtext. ;Verwendung: <nowiki>{{TT|Monospaced Text}}</nowiki> ;Ausgabe: {{TT|Monospaced Text}} </noinclude><includeonly><font style="font-family:courier,monospace; font-size:100%;">{{{1}}}</font></includeonly> 069562a95ba5abb8a7b7798fd5df6ced5b79266d Development Quickies 0 27 48 2023-03-03T13:11:46Z Hagbard 2 Created page with "[[Category:Development]] In diesem Artikel findet sich eine Sammlung diverser Tips und Tricks zum Thema macOS-/iOS-Softwareentwicklung mit Xcode, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. == Xcode == === validate .strings files === The following terminal command only indicates whether or not the file is syntactically valid: plutil -lin..." wikitext text/x-wiki [[Category:Development]] In diesem Artikel findet sich eine Sammlung diverser Tips und Tricks zum Thema macOS-/iOS-Softwareentwicklung mit Xcode, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. == Xcode == === validate .strings files === The following terminal command only indicates whether or not the file is syntactically valid: plutil -lint /path/to/Localizable.strings Batch check of all .strings files within the current working directory: find . -name \*.strings -exec plutil -lint {} + == app extensions == === Things learned while writing WidgetKit app extensions === ;Multiple instances (sizes) of the same widget ... :... apparently run within the same runtime environment so avoid writing data from the configuration intent to some kind of singleton or static class since it will be overwritten by a second instance with a different configuration. But on the other hand don't rely on this data on being shared across widget instances. This seems to be an undocumented bejavior and may not always apply, and it might change in the future. ;Self-Updating widgets/High frequency updates : Some people suggest you should reload the timeline from within {{TT|getTimeline()}} by calling {{TT|WidgetCenter.shared.reloadAllTimelines()}} in order to achieve a higher update frequency of your extension. But doing this will drive up the cpu load, inevitably drain your battery and shorten the devices' life span in the process. So better avoid such dirty hacks and stick to the original plan for updating your widgets as laid out in Apple's documentation. Get used to the fact that high frequency updates of WidgetKit app extensions are simply not possible any more. Rather file a complaint with Apple, maybe they listen sooner or later and provide a proper mechanism for this specific use case. ;When your extensions write shared data to a shared resource: :[https://developer.apple.com/documentation/dispatch/dispatchsemaphore Make use of semaphores] when writing shared data to a shared resource such as a keychain or a user defaults store. You may run into race conditions when multiple instances of the same app extension can process or show different data, especially when they are configurable (i.e. have a configuration intent). They may have to write something in there simultaneously as they might receive an update trigger at the very same time and write operations on a shared keychain aren't always blazingly fast. === check if we're running within an extension === ;at compile-time Objective-C :<source> #ifdef TARGET_IS_EXTENSION // this piece of code will only be compiled when building for app extension targets #endif </source> ;at runtime Objective-C :<source> if ([[[NSBundle mainBundle] bundlePath] hasSuffix:@".appex"]) { // this is an app extension } </source> Swift :<source> if Bundle.main.bundlePath.hasSuffix(".appex") { // this is an app extension } </source>or<source> if Bundle.main.bundleURL.pathExtension == "appex" { // this is an app extension } </source> == Things to keep in mind == ===Foundation Framework=== <code>NSArray:indexOfObject:</code> returns 0 and NOT <code>NSNotFound</code> as you might have expected when the array is nil, so you better check that first: <source> NSArray *array = nil; NSInteger index = [array indexOfObject:@"test"]; </source> Tested on macOS Version 12.6 == Important Resources == === Interfaces === * [https://developer.apple.com/design/ Apple Design Guides] * [https://developer.apple.com/design/human-interface-guidelines/guidelines/overview Apple Interface Guidelines] === Guidelines for Authentication Services=== * Sign in with Apple: [https://developer.apple.com/sign-in-with-apple/ Overview], [https://developer.apple.com/design/human-interface-guidelines/technologies/sign-in-with-apple/ Technical Guidelines], [https://developer.apple.com/design/resources/ Apple Design Resources] * Google: [https://developers.google.com/identity/branding-guidelines Sign-In Branding Guidelines] * Meta User Design Guidelines: [https://developers.facebook.com/docs/facebook-login/userexperience/#buttondesign Facebook Login Button], [https://about.meta.com/brand/resources/facebookapp/logo/ Facebook Logo] c8dd19b91470f0b876648af179ae42863ed6eeaf 49 48 2023-03-03T13:11:57Z Hagbard 2 Protected "[[Development Quickies]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki [[Category:Development]] In diesem Artikel findet sich eine Sammlung diverser Tips und Tricks zum Thema macOS-/iOS-Softwareentwicklung mit Xcode, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. == Xcode == === validate .strings files === The following terminal command only indicates whether or not the file is syntactically valid: plutil -lint /path/to/Localizable.strings Batch check of all .strings files within the current working directory: find . -name \*.strings -exec plutil -lint {} + == app extensions == === Things learned while writing WidgetKit app extensions === ;Multiple instances (sizes) of the same widget ... :... apparently run within the same runtime environment so avoid writing data from the configuration intent to some kind of singleton or static class since it will be overwritten by a second instance with a different configuration. But on the other hand don't rely on this data on being shared across widget instances. This seems to be an undocumented bejavior and may not always apply, and it might change in the future. ;Self-Updating widgets/High frequency updates : Some people suggest you should reload the timeline from within {{TT|getTimeline()}} by calling {{TT|WidgetCenter.shared.reloadAllTimelines()}} in order to achieve a higher update frequency of your extension. But doing this will drive up the cpu load, inevitably drain your battery and shorten the devices' life span in the process. So better avoid such dirty hacks and stick to the original plan for updating your widgets as laid out in Apple's documentation. Get used to the fact that high frequency updates of WidgetKit app extensions are simply not possible any more. Rather file a complaint with Apple, maybe they listen sooner or later and provide a proper mechanism for this specific use case. ;When your extensions write shared data to a shared resource: :[https://developer.apple.com/documentation/dispatch/dispatchsemaphore Make use of semaphores] when writing shared data to a shared resource such as a keychain or a user defaults store. You may run into race conditions when multiple instances of the same app extension can process or show different data, especially when they are configurable (i.e. have a configuration intent). They may have to write something in there simultaneously as they might receive an update trigger at the very same time and write operations on a shared keychain aren't always blazingly fast. === check if we're running within an extension === ;at compile-time Objective-C :<source> #ifdef TARGET_IS_EXTENSION // this piece of code will only be compiled when building for app extension targets #endif </source> ;at runtime Objective-C :<source> if ([[[NSBundle mainBundle] bundlePath] hasSuffix:@".appex"]) { // this is an app extension } </source> Swift :<source> if Bundle.main.bundlePath.hasSuffix(".appex") { // this is an app extension } </source>or<source> if Bundle.main.bundleURL.pathExtension == "appex" { // this is an app extension } </source> == Things to keep in mind == ===Foundation Framework=== <code>NSArray:indexOfObject:</code> returns 0 and NOT <code>NSNotFound</code> as you might have expected when the array is nil, so you better check that first: <source> NSArray *array = nil; NSInteger index = [array indexOfObject:@"test"]; </source> Tested on macOS Version 12.6 == Important Resources == === Interfaces === * [https://developer.apple.com/design/ Apple Design Guides] * [https://developer.apple.com/design/human-interface-guidelines/guidelines/overview Apple Interface Guidelines] === Guidelines for Authentication Services=== * Sign in with Apple: [https://developer.apple.com/sign-in-with-apple/ Overview], [https://developer.apple.com/design/human-interface-guidelines/technologies/sign-in-with-apple/ Technical Guidelines], [https://developer.apple.com/design/resources/ Apple Design Resources] * Google: [https://developers.google.com/identity/branding-guidelines Sign-In Branding Guidelines] * Meta User Design Guidelines: [https://developers.facebook.com/docs/facebook-login/userexperience/#buttondesign Facebook Login Button], [https://about.meta.com/brand/resources/facebookapp/logo/ Facebook Logo] c8dd19b91470f0b876648af179ae42863ed6eeaf MAMP Quickies 0 28 50 2023-03-03T13:12:10Z Hagbard 2 Created page with "[[Category:Hint]] [[Category:Development]] Dies hier sind keine offiziellen Anleitungen und kommen ohne jegliche Gewähr. Da es immer zu Datenverlusten kommen kann ist ein vorheriges Backup aller Daten natürlich selbstverständlich. Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung, weder von mir noch von den MAMP/MAMP PRO Entwicklern! Nur weil etwas geht, heisst es nicht dass es auch offiziell unterstützt wird! =MAMP= Image:W21..." wikitext text/x-wiki [[Category:Hint]] [[Category:Development]] Dies hier sind keine offiziellen Anleitungen und kommen ohne jegliche Gewähr. Da es immer zu Datenverlusten kommen kann ist ein vorheriges Backup aller Daten natürlich selbstverständlich. Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung, weder von mir noch von den MAMP/MAMP PRO Entwicklern! Nur weil etwas geht, heisst es nicht dass es auch offiziell unterstützt wird! =MAMP= [[Image:W21-1a.svg|64px]] =MAMP PRO= Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Hidden Preferences== Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen u.U. noch nicht vollständig implementiert sein können, können diese auch unvorhergesehene Nebeneffekte haben oder gar fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal (z.B. bei Verwendung von mit den Remote Ops in Verbindung stehenden neuen Funktionen). Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===Remote Ops: Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Remote Ops: Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ===Remote Ops: die zu verwendenden Dateizugriffsrechte anpassen= (ab Version 6.3.2)=== Standardmäßig werden von MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die von den jeweiligen Serverdiensten vorgegebenen Standardzugriffsrechte verwendet, was u.U. zur Folge haben kann, dass nur der Eigentümer der Dateien Vollzugriff (also lesend und schreibend) auf alle Dateien und Verzeichnissehat hat. Mit Hilfe folgender Terminalanweisung kann dieser Wert geändert werden, beispielsweise auf 777 (Vollzugriff für alle): defaults write de.appsolute.mamppro permsString -string "777" Der aktuell verwendete Wert kann mit folgender Terminal-Anweidung kontrolliert werden: defaults read de.appsolute.mamppro permsString Falls diese Option gar nicht gesetzt sein sollte, wird statt dessen eine Fehlermeldung wie diese hier ausgegeben: The domain/default pair of (de.appsolute.mamppro, permsString) does not exist '''Wichtig:''' die Angabe erfolgt in Oktalschreibweise OHNE führende 0, andere Schreibweisen werden ignoriert. Ebenso werden Werte < 600 ignoriert, da diese im vorliegenden Kontext ohnehin keinen Sinn ergeben würden (keine Lese- und/oder Schreibrechte für den Eigentümer). In diesen Fällen wird ein Defaultwert von "755" verwendet. deaktiviert wird diese Option hiermit (wiederum gefolgt von einem Neustart der App): defaults delete de.appsolute.mamppro permsString ==Troubleshooting== ===Crash nach Downgrade=== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgende beiden Dateien zu löschen. Anschließend sollte sich die ältere Version wieder problemlos starten lassen: /Library/LaunchDaemons/de.appsolute.mampprohelper.plist /Library/PrivilegedHelperTools/de.appsolute.mampprohelper ===Freeze (SBOD) beim App-Start=== Ein freeze beim Start von MAMP PRO kann u.U. dadurch verursacht werden, dass die Kommunikation mit dem MAMP PRO Helper Tool nicht mehr funktioniert. In diesem Fall wartet MAMP PRO dann solange auf den Helper bis es zu einem timeout kommt. Der Helper lässt sich mit folgenden Terminal-Anweisungen deinstallieren (MAMP PRO unbedingt vorher beenden!): sudo launchctl unload /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/PrivilegedHelperTools/de.appsolute.mampprohelper Die erste Anweisung beendet den Helper (falls dieser läuft; falls nicht erscheint eine Fehlermeldung), die zweite löscht die Definition für den Helper (also wann und wie der Helper genau vom System gestartet werden soll) und die dritte Anweisung löscht dann letztlich den Helper selber - also dessen Programmcode. Beim nachfolgenden Start von MAMP PRO müsste dieser dann erneut nach einem Benutzer mit Admin-Berechtigung fragen um dieses Helper Too reinstallieren zu können (Gültig ab MAMP PRO Version 6) Falls diese Anweisungen mit Fehlermeldungen quittiert werden (insbes. die erste) ist das ok, das bedeutet lediglich dass der Helper gar nicht läuft bzw. installiert ist. In dem Fall ist der Helper dann aber auch nicht die Ursache für den Hänger... Vorab überprüfen lässt sich die Existens des Helper Tools beispielsweise mit folgenden Anweisungen: sudo launchctl list de.appsolute.mampprohelper sudo ls /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo ls /Library/PrivilegedHelperTools/de.appsolute.mampprohelper == Dies und das== ===MySQL datadir Einschränkung umgehen=== Standardmäßig legt [http://www.mamp.info MAMP PRO] alle MySQL-Datenbanken in einem fest vorgegebenen Verzeichnis ab, dessen Pfad sich dank eines in der Applikation fest eingebauten Pfades leider nicht ändern lässt: /Library/Application Support/appsolute/MAMP PRO/db/mysql bzw. bei älteren Versionen /Library/Application Support/living-e/MAMP PRO/db/mysql Das bedeutet, der {{TT|--datadir}} Parameter zur Angabe eines alternativen Verzeichnisses kann nicht zur Verwendung kommen, da das Aufrufkommando nicht zur Verfügung steht. Allerdings scheint der der verwendete MySQL daemon symlinks zu folgen (Stand: MAMP PRO 2.0). Es genügt als, das o.g. Verzeichnis {{TT|mysql}} an eine beliebige Stelle im Dateisystem zu verschieben und in obigem Verzeichnis einen Symlink (Alias) zu setzen. Dies erfolgt entweder per Finder oder im [[:Category:Terminal|Terminal]]: ln -s /path/to/my/new/mysql /Library/Application\ Support/appsolute/MAMP\ PRO/db/mysql {{Information|Alternativ können auch hardlinks verwendet werden, bei denen sich jedoch prinzipbedingt Ursprung und Ziel auf derselben Partition befinden müssen. Symlinks dagegen erlauben auch Verweise auf ein Zielverzeichnis, das auf einer anderen Partition oder Festplatte liegt.<br /> Sinnigerweise sollte dieses Laufwerk während des Serverstarts verfügbar sein, daher scheiden Netzwerklaufwerke (AFP oder SMB) für den Fall aus, wenn die MAMP-Server bereits beim Booten des Systems gestartet werden.}} 6b61aeccf795f86a0be801e4a20b2d7d689b5f01 MAMP Quickies 0 28 51 50 2023-03-03T13:12:17Z Hagbard 2 Protected "[[MAMP Quickies]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki [[Category:Hint]] [[Category:Development]] Dies hier sind keine offiziellen Anleitungen und kommen ohne jegliche Gewähr. Da es immer zu Datenverlusten kommen kann ist ein vorheriges Backup aller Daten natürlich selbstverständlich. Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung, weder von mir noch von den MAMP/MAMP PRO Entwicklern! Nur weil etwas geht, heisst es nicht dass es auch offiziell unterstützt wird! =MAMP= [[Image:W21-1a.svg|64px]] =MAMP PRO= Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Hidden Preferences== Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen u.U. noch nicht vollständig implementiert sein können, können diese auch unvorhergesehene Nebeneffekte haben oder gar fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal (z.B. bei Verwendung von mit den Remote Ops in Verbindung stehenden neuen Funktionen). Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===Remote Ops: Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Remote Ops: Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ===Remote Ops: die zu verwendenden Dateizugriffsrechte anpassen= (ab Version 6.3.2)=== Standardmäßig werden von MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die von den jeweiligen Serverdiensten vorgegebenen Standardzugriffsrechte verwendet, was u.U. zur Folge haben kann, dass nur der Eigentümer der Dateien Vollzugriff (also lesend und schreibend) auf alle Dateien und Verzeichnissehat hat. Mit Hilfe folgender Terminalanweisung kann dieser Wert geändert werden, beispielsweise auf 777 (Vollzugriff für alle): defaults write de.appsolute.mamppro permsString -string "777" Der aktuell verwendete Wert kann mit folgender Terminal-Anweidung kontrolliert werden: defaults read de.appsolute.mamppro permsString Falls diese Option gar nicht gesetzt sein sollte, wird statt dessen eine Fehlermeldung wie diese hier ausgegeben: The domain/default pair of (de.appsolute.mamppro, permsString) does not exist '''Wichtig:''' die Angabe erfolgt in Oktalschreibweise OHNE führende 0, andere Schreibweisen werden ignoriert. Ebenso werden Werte < 600 ignoriert, da diese im vorliegenden Kontext ohnehin keinen Sinn ergeben würden (keine Lese- und/oder Schreibrechte für den Eigentümer). In diesen Fällen wird ein Defaultwert von "755" verwendet. deaktiviert wird diese Option hiermit (wiederum gefolgt von einem Neustart der App): defaults delete de.appsolute.mamppro permsString ==Troubleshooting== ===Crash nach Downgrade=== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgende beiden Dateien zu löschen. Anschließend sollte sich die ältere Version wieder problemlos starten lassen: /Library/LaunchDaemons/de.appsolute.mampprohelper.plist /Library/PrivilegedHelperTools/de.appsolute.mampprohelper ===Freeze (SBOD) beim App-Start=== Ein freeze beim Start von MAMP PRO kann u.U. dadurch verursacht werden, dass die Kommunikation mit dem MAMP PRO Helper Tool nicht mehr funktioniert. In diesem Fall wartet MAMP PRO dann solange auf den Helper bis es zu einem timeout kommt. Der Helper lässt sich mit folgenden Terminal-Anweisungen deinstallieren (MAMP PRO unbedingt vorher beenden!): sudo launchctl unload /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/PrivilegedHelperTools/de.appsolute.mampprohelper Die erste Anweisung beendet den Helper (falls dieser läuft; falls nicht erscheint eine Fehlermeldung), die zweite löscht die Definition für den Helper (also wann und wie der Helper genau vom System gestartet werden soll) und die dritte Anweisung löscht dann letztlich den Helper selber - also dessen Programmcode. Beim nachfolgenden Start von MAMP PRO müsste dieser dann erneut nach einem Benutzer mit Admin-Berechtigung fragen um dieses Helper Too reinstallieren zu können (Gültig ab MAMP PRO Version 6) Falls diese Anweisungen mit Fehlermeldungen quittiert werden (insbes. die erste) ist das ok, das bedeutet lediglich dass der Helper gar nicht läuft bzw. installiert ist. In dem Fall ist der Helper dann aber auch nicht die Ursache für den Hänger... Vorab überprüfen lässt sich die Existens des Helper Tools beispielsweise mit folgenden Anweisungen: sudo launchctl list de.appsolute.mampprohelper sudo ls /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo ls /Library/PrivilegedHelperTools/de.appsolute.mampprohelper == Dies und das== ===MySQL datadir Einschränkung umgehen=== Standardmäßig legt [http://www.mamp.info MAMP PRO] alle MySQL-Datenbanken in einem fest vorgegebenen Verzeichnis ab, dessen Pfad sich dank eines in der Applikation fest eingebauten Pfades leider nicht ändern lässt: /Library/Application Support/appsolute/MAMP PRO/db/mysql bzw. bei älteren Versionen /Library/Application Support/living-e/MAMP PRO/db/mysql Das bedeutet, der {{TT|--datadir}} Parameter zur Angabe eines alternativen Verzeichnisses kann nicht zur Verwendung kommen, da das Aufrufkommando nicht zur Verfügung steht. Allerdings scheint der der verwendete MySQL daemon symlinks zu folgen (Stand: MAMP PRO 2.0). Es genügt als, das o.g. Verzeichnis {{TT|mysql}} an eine beliebige Stelle im Dateisystem zu verschieben und in obigem Verzeichnis einen Symlink (Alias) zu setzen. Dies erfolgt entweder per Finder oder im [[:Category:Terminal|Terminal]]: ln -s /path/to/my/new/mysql /Library/Application\ Support/appsolute/MAMP\ PRO/db/mysql {{Information|Alternativ können auch hardlinks verwendet werden, bei denen sich jedoch prinzipbedingt Ursprung und Ziel auf derselben Partition befinden müssen. Symlinks dagegen erlauben auch Verweise auf ein Zielverzeichnis, das auf einer anderen Partition oder Festplatte liegt.<br /> Sinnigerweise sollte dieses Laufwerk während des Serverstarts verfügbar sein, daher scheiden Netzwerklaufwerke (AFP oder SMB) für den Fall aus, wenn die MAMP-Server bereits beim Booten des Systems gestartet werden.}} 6b61aeccf795f86a0be801e4a20b2d7d689b5f01 Block lists 0 29 52 2023-03-03T13:12:33Z Hagbard 2 Created page with "==apps== === for subscriptions=== Apps for subscribing to block lists in order to block traffic to certain unwanted destinations such as ad servers, trackers, etc.: * macOS: [https://www.obdev.at Little Snitch] [[Image:Little_Snitch_4_logo.png|16px]] === other filtering apps=== * iOS: Lockdown Privacy [https://github.com/confirmedcode/Lockdown-iOS on GitHub] and [https://apps.apple.com/app/lockdown-privacy/id1469783711 on the App Store] (does not support block list su..." wikitext text/x-wiki ==apps== === for subscriptions=== Apps for subscribing to block lists in order to block traffic to certain unwanted destinations such as ad servers, trackers, etc.: * macOS: [https://www.obdev.at Little Snitch] [[Image:Little_Snitch_4_logo.png|16px]] === other filtering apps=== * iOS: Lockdown Privacy [https://github.com/confirmedcode/Lockdown-iOS on GitHub] and [https://apps.apple.com/app/lockdown-privacy/id1469783711 on the App Store] (does not support block list subscriptions as yet) ==lists== ===ad blocking=== * [https://pgl.yoyo.org/adservers/ Peter Lowe's ad sever block lists] ** [[Image:Little_Snitch_4_logo.png|16px]] [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions Little Snitch rule subscriptions] <!-- ** [https://pgl.yoyo.org/adservers/serverlist.php?hostformat=nohtml&showintro=0&mimetype=plaintext plain non-HTML list], suitable for Fritz!Box blacklists] (the leading comment block has to be left out!) ===untested=== other, untested lists: * https://github.com/jakejarvis/ios-trackers * https://github.com/BlackJack8/iOSAdblockList --> ==see also== * [https://support.freedom.to/en/articles/4529699-how-to-block-apps-on-ios How to Block Apps on iOS] 5fc85f581b065e755fdd26d1264e29a21469a91a 53 52 2023-03-03T13:12:40Z Hagbard 2 Protected "[[Block lists]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki ==apps== === for subscriptions=== Apps for subscribing to block lists in order to block traffic to certain unwanted destinations such as ad servers, trackers, etc.: * macOS: [https://www.obdev.at Little Snitch] [[Image:Little_Snitch_4_logo.png|16px]] === other filtering apps=== * iOS: Lockdown Privacy [https://github.com/confirmedcode/Lockdown-iOS on GitHub] and [https://apps.apple.com/app/lockdown-privacy/id1469783711 on the App Store] (does not support block list subscriptions as yet) ==lists== ===ad blocking=== * [https://pgl.yoyo.org/adservers/ Peter Lowe's ad sever block lists] ** [[Image:Little_Snitch_4_logo.png|16px]] [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions Little Snitch rule subscriptions] <!-- ** [https://pgl.yoyo.org/adservers/serverlist.php?hostformat=nohtml&showintro=0&mimetype=plaintext plain non-HTML list], suitable for Fritz!Box blacklists] (the leading comment block has to be left out!) ===untested=== other, untested lists: * https://github.com/jakejarvis/ios-trackers * https://github.com/BlackJack8/iOSAdblockList --> ==see also== * [https://support.freedom.to/en/articles/4529699-how-to-block-apps-on-ios How to Block Apps on iOS] 5fc85f581b065e755fdd26d1264e29a21469a91a 54 53 2023-03-03T13:13:14Z Hagbard 2 wikitext text/x-wiki ==apps== === for subscriptions=== Apps for subscribing to block lists in order to block traffic to certain unwanted destinations such as ad servers, trackers, etc.: * macOS: [https://www.obdev.at Little Snitch] === other filtering apps=== * iOS: Lockdown Privacy [https://github.com/confirmedcode/Lockdown-iOS on GitHub] and [https://apps.apple.com/app/lockdown-privacy/id1469783711 on the App Store] (does not support block list subscriptions as yet) ==lists== ===ad blocking=== * [https://pgl.yoyo.org/adservers/ Peter Lowe's ad sever block lists] ** [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions Little Snitch rule subscriptions] <!-- ** [https://pgl.yoyo.org/adservers/serverlist.php?hostformat=nohtml&showintro=0&mimetype=plaintext plain non-HTML list], suitable for Fritz!Box blacklists] (the leading comment block has to be left out!) ===untested=== other, untested lists: * https://github.com/jakejarvis/ios-trackers * https://github.com/BlackJack8/iOSAdblockList --> ==see also== * [https://support.freedom.to/en/articles/4529699-how-to-block-apps-on-ios How to Block Apps on iOS] 4000d51fcaa4dac7b57fabbd4a52996f925a4d44 Template:Man 10 30 55 2023-03-03T13:14:15Z Hagbard 2 Created page with "<noinclude>Vorlage zur Erzeugung eines Links zum Debian [https://manpages.debian.org/ Manpage-Browser.] ;Verwendungsbeispiel <nowiki>{{Man|vi|vi}}</nowiki> {{Man|vi|vi}} </noinclude><includeonly>{{TerminalIcon}} [https://manpages.debian.org/jump?q={{{1}}} {{{2}}}]</includeonly>" wikitext text/x-wiki <noinclude>Vorlage zur Erzeugung eines Links zum Debian [https://manpages.debian.org/ Manpage-Browser.] ;Verwendungsbeispiel <nowiki>{{Man|vi|vi}}</nowiki> {{Man|vi|vi}} </noinclude><includeonly>{{TerminalIcon}} [https://manpages.debian.org/jump?q={{{1}}} {{{2}}}]</includeonly> 9ac923ad86509ed8f1993310d9adda1f21ce643f Dienstprogramme und ihre Terminal-Äquivalente 0 31 56 2023-03-03T13:15:15Z Hagbard 2 Created page with "[[Category:Terminal]][[Category:OS]]Mac OS X besitzt bekanntermaßen einige - mitunter sehr nützliche - Dienstprogramme mit graphischer Benutzeroberfläche, für viele davon existieren auch entsprechende [[:Category:Terminal|Terminal]]-Äquivalente - was nicht nur für die kommandozeilenorientierten Zeitgenossen unter uns sehr praktisch ist. Sie erlauben es beispielsweise auch, über das Netzwerk (via SSH) einige Aufgaben durchzuführen, ohne direkt am Mac sitzen zu mü..." wikitext text/x-wiki [[Category:Terminal]][[Category:OS]]Mac OS X besitzt bekanntermaßen einige - mitunter sehr nützliche - Dienstprogramme mit graphischer Benutzeroberfläche, für viele davon existieren auch entsprechende [[:Category:Terminal|Terminal]]-Äquivalente - was nicht nur für die kommandozeilenorientierten Zeitgenossen unter uns sehr praktisch ist. Sie erlauben es beispielsweise auch, über das Netzwerk (via SSH) einige Aufgaben durchzuführen, ohne direkt am Mac sitzen zu müssen. ==System-Dienstprogramme== Im Folgenden eine Liste der wichtigsten Dienstprogramme, für die ein direktes Terminal-Äquivalent existiert. Die Spalte "Ort" gibt dabei den Ort des graphischen Werkzeugs an, die Terminal-Kommandos sind - falls kein Artikel zum entsprechenden Hilfsprogramm existiert - mit der jeweiligen manpage verlinkt. {| |--bgcolor=#e2e2e2 ! Dienstprogramm || lokalisierter Name<sup>1)</sup> || Ort<sup>2)</sup> || Terminal-Äquivalent |-- |System Profiler || ||Dienstprogramme || {{Man|system_profiler|system_profiler}} |-- | Disk Utility || Festplatten-Dienstprogramm ||Dienstprogramme || {{Man|diskutil|diskutil}}, {{Man|disktool|disktool}}, {{Man|disklabel|disklabel}}, [[hdiutil]] |-- | DiskImageMounter|| ||CoreServices || [[hdiutil]] |-- | Software-Update ||Software-Aktualisierung ||CoreServices || {{Man|softwareupdate|softwareupdate}} |-- | Installer ||Installationsprogramm ||Dienstprogramme || {{Man|installer|installer}} |-- | Keychain Access ||Schlüsselbund ||Dienstprogramme || {{Man|keytool|keytool}}, [[systemkeychain]] (admin only) |-- | Network Utility ||Netzwerk-Dienstprogramm ||Dienstprogramme || {{Man|ipconfig|ipconfig}}, {{Man|netstat|netstat}}, {{Man|atstatus|atstatus}}, {{Man|atlookup|atlookup}}, {{Man|ping|ping}}, {{Man|host|host}}, {{Man|dig|dig}}, {{Man|traceroute|traceroute}}, {{Man|whois|whois}}, {{Man|finger|finger}}, {{Man|nmap|nmap}} (z.B. via [http://fink.sourceforge.net/ fink]) |-- | NetInfo Manager (bis incl. Mac OS 10.4)|| ||Dienstprogramme || {{Man|niutil|niutil}}, {{Man|nicl|nicl}}, {{Man|nifind|nifind}}, {{Man|nigrep|nigrep}}, {{Man|nidomain|nidomain}}, {{Man|nidump|nidump}}, {{Man|nireport|nireport}}, {{Man|niload|niload}}, {{Man|nibindd|nibindd}} |-- | BOMArchiveHelper || ||CoreServices ||{{Man|zip|zip}}, {{Man|unzip|unzip}}, {{Man|unzipsfx|unzipsfx}}, {{Man|gz|gz}}, {{Man|bz2|bz2}} (und die ganzen bzip2-Tools wie {{Man|bzcat|bzcat}} oder {{Man|bzgrep|bzgrep}}), {{Man|tar|tar}}, {{Man|compress|compress}}, {{Man|uncompress|uncompress}} |-- | Papierkorb (Finder) || ||CoreServices ||{{Man|rm|rm}}, {{Man|srm|srm}} |-- | Activity Monitor ||Aktivitäts-Anzeige ||Dienstprogramme || {{Man|ps|ps}}, {{Man|top|top}}, {{Man|nice|nice}}, {{Man|kill|kill}}, {{Man|killall|killall}} |-- | AppleScript Editor ||AppleScript-Editor ||Dienstprogramme || {{Man|osacompile|osacompile}} {{Man|osadecompile|osadecompile}} {{Man|osalang|osalang}} {{Man|osascript|osascript}} |-- | Grab ||Bildschirmfoto ||Dienstprogramme || [[screencapture]] |-- | Podcast Capture (seit Mac OS 10.5)|| Podcast-Aufzeichnung ||Dienstprogramme || {{Man|podcast|podcast}} |-- | RAID Utility (seit Mac OS 10.5)|| RAID-Dienstprogramm ||Dienstprogramme || {{Man|raidutil|raidutil}} |-- | Expose (bis Mac OS 10.6)|| Exposé ||Dienstprogramme || {{TT|n/a}} |} ==Xcode Utilities== Dienstprogramme aus dem Lieferumfang der Xcode Entwicklungsumgebung. Die Terminal-Programme bilden jedoch nur einzelne Funktionen aus den Dienstprogrammen oder erweitern diese. Sie sind daher keine wirklichen "Äquivalente". {| style="width:100%;" |--bgcolor=#e2e2e2 ! Dienstprogramm || lokalisierter Name<sup>1)</sup> || Ort || Terminal-Äquivalent |-- | Xcode || ||/Developer/Applications ||{{Man|xcode-select|xcode-select}} {{Man|xcodebuild|xcodebuild}} {{Man|xcodeindex|xcodeindex}} |-- | Interface Builder <small>(bis Xcode 3)</small>|| ||/Developer/Applications ||{{Man|ibtool|ibtool}} |-- | Instruments || ||/Developer/Applications ||{{Man|instruments|instruments}} |-- | Property List Editor <small>(bis Xcode 3, für Xcode 4 siehe [[Property_List_Editor_mit_Xcode4_nutzen|hier]])</small> || ||/Developer/Applications/Utilities ||{{Man|plutil|plutil}} |} ==Legende== {| |-- valign="top" |width=40px|<sup>1)</sup>||Im Finder erscheint der lokalisierte Name (also z.B. auf deutsch), im Terminal hingegen werden <u>immer</u> die (englischen) Originalnamen verwendet. |-- valign="top" |width=40px|<sup>2)</sup>||'''Dienstprogramme:''' {{tt|/Applications/Utilities/}} bzw. {{tt|/Programme/Dienstprogramme/}}<br />'''CoreServices:''' {{tt|/System/Library/CoreServices}} |} == Siehe auch== * [http://www.apple.com/macosx/what-is-macosx/apps-and-utilities.html What Is Mac OS X - All Applications and Utilities] (apple.com) d2692153f9a971f24d35c292ef78fabb5f8fe54a MacOS System Requirements 0 2 57 4 2023-03-03T13:40:47Z Hagbard 2 wikitext text/x-wiki [[Category:OS]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS versions on unsupported Macs – A Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Prozessor || 64-Bit intel Prozessor, Apple Silicon (Apple M1 und neueer) |-- | Siehe auch: || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_.2812.0.29|Version 12.0 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.2) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Prozessor || 64-Bit intel Prozessor, Apple A12Z oder neuer |-- | Arbeitsspeicher || mind. 4 GB RAM |-- | Sonstiges || 35.5GB available storage on macOS Sierra or later |-- | Siehe auch: || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_.2811.0.29|Version 11.0 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.1) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Prozessor || 64-Bit intel Prozessor, Apple A12Z oder neuer |-- | Arbeitsspeicher || mind. 4 GB RAM |-- | Sonstiges || 35.5GB available storage on macOS Sierra or later |-- | Siehe auch: || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_.2810.15.29|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Prozessor || 64-Bit Prozessor, 64-Bit EFI |-- | Arbeitsspeicher || mind. 4 GB RAM |-- | Sonstiges || [[#Metal|Metal]]-fähiger Grafikprozessor |-- | Siehe auch: || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_.2810.14.29|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Prozessor || 64-Bit Prozessor, 64-Bit EFI |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Sonstiges || [[#Metal|Metal]]-fähiger Grafikprozessor |-- | Siehe auch: || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Prozessor || 64-Bit Prozessor, 64-Bit EFI |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Sonstiges || mind. 14.3 GB für die Durchführung eines Upgrades |-- | Siehe auch: || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Prozessor || 64-Bit Prozessor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Sonstiges || mind. 8.8 GB freier Festplattenspeicher |-- | Siehe auch: || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Prozessor || 64-Bit Prozessor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Sonstiges || mind. 8.8 GB freier Festplattenspeicher |-- | Siehe auch: || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Prozessor || 64-Bit Prozessor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Sonstiges || mind. 8GB freier Festplattenspeicher |-- | Siehe auch: || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Prozessor || 64-Bit Prozessor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Sonstiges || mind. 8 GB freier Festplattenspeicher |-- | Siehe auch: || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Prozessor || Intel Core 2 Duo, Core i3, Core i5, Core i7 oder Xeon Prozessor |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Sonstiges || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | Siehe auch: || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs mit CoreSolo/CoreDuo-Prozessoren<br />Intel-Macs mit Intel-Grafikchipset GMA 950 oder x3100<br />Intel-Macs mit ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 20. Juli 2011 |-- | Prozessor || Intel Core 2 Duo, Core i3, Core i5, Core i7 oder Xeon Prozessor |-- | Arbeitsspeicher || mind. 2 GB RAM |-- | Siehe auch: || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs mit CoreSolo oder CoreDuo Prozessoren (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 28. August 2009 |-- | Prozessor || Intel Prozessor |-- | Arbeitsspeicher || mind. 1 GB RAM |-- | Siehe auch: || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 26. Oktober 2007 |-- | Prozessor || PowerPC G4 (mind. 867MHz), G5 oder Intel Prozessor |-- | Arbeitsspeicher || mind. 512 MB RAM |-- | Sonstiges || FireWire (integriert) |-- | Siehe auch: || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 29. April 2005 |-- | Prozessor || PowerPC G3, G4 oder G5 Prozessor, ab Version 10.4.4 auch Intel Prozessoren |-- | Arbeitsspeicher || mind. 256 MB RAM |-- | Siehe auch: || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 24. Oktober 2003 |-- | Prozessor || PowerPC G3, G4 oder G5 Prozessor (siehe Supportdokument) |-- | Arbeitsspeicher || mind. 128 MB RAM |-- | Siehe auch: || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 13. August 2002 |-- | Prozessor || PowerPC G3, G4 oder G5 Prozessor (mind. 233 MHz, siehe Supportdokument) |-- | Arbeitsspeicher || mind. 128 MB RAM |-- | Siehe auch: || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 25. September 2001 |-- | Prozessor || PowerPC G3, G4 oder G5 Prozessor (siehe Supportdokument) |-- | Arbeitsspeicher || mind. 128 MB RAM |-- | Siehe auch: || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Veröffentlichungsdatum: || 24. März 2001 |-- | Prozessor || PowerPC G3, G4 oder G5 Prozessor (siehe Supportdokument) |-- | Arbeitsspeicher || mind. 128 MB RAM |-- | Siehe auch: || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) a081cd8f7b21ec169e4eb4dd7eec8bdb2604a179 58 57 2023-03-03T13:47:50Z Hagbard 2 wikitext text/x-wiki [[Category:OS]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS versions on unsupported Macs – A Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_.2812.0.29|Version 12.0 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.2) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Processor || 64-Bit intel processor, Apple A12Z or later |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_.2811.0.29|Version 11.0 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.1) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Processor || 64-Bit intel processor, Apple A12Z oder neuer |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_.2810.15.29|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_.2810.14.29|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 14.3 GB für die Durchführung eines Upgrades |-- | see also || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | see also || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs with CoreSolo/CoreDuo processors<br />Intel-Macs and Intel GPU GMA 950 or x3100<br />Intel-Macs with ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. Juli 2011 |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel Macs with CoreSolo or CoreDuo processors (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 28. August 2009 |-- | Processor || Intel processor |-- | Memory (RAM) || 1 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 26. Oktober 2007 |-- | Processor || PowerPC G4 (867MHz or more), G5 or Intel processor |-- | Memory (RAM) || 512 MB RAM |-- | Other requirements || FireWire (integriert) |-- | see also || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 29. April 2005 |-- | Processor || PowerPC G3, G4 or G5 processor, Intel processors starting with Version 10.4.4 |-- | Memory (RAM) || 256 MB RAM |-- | see also || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2003 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 13. August 2002 |-- | Processor || PowerPC G3, G4 or G5 orocessor (233 MHz or more, see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. März 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) b9303fb3daeb8bb7ee8ba33f9c536e628b1affe2 59 58 2023-03-03T17:59:17Z Hagbard 2 Changed protection settings for "[[MacOS Systemvoraussetzungen]]" ([Move=Allow only administrators] (indefinite)) wikitext text/x-wiki [[Category:OS]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS versions on unsupported Macs – A Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_.2812.0.29|Version 12.0 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.2) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Processor || 64-Bit intel processor, Apple A12Z or later |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_.2811.0.29|Version 11.0 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.1) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Processor || 64-Bit intel processor, Apple A12Z oder neuer |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_.2810.15.29|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_.2810.14.29|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 14.3 GB für die Durchführung eines Upgrades |-- | see also || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | see also || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs with CoreSolo/CoreDuo processors<br />Intel-Macs and Intel GPU GMA 950 or x3100<br />Intel-Macs with ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. Juli 2011 |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel Macs with CoreSolo or CoreDuo processors (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 28. August 2009 |-- | Processor || Intel processor |-- | Memory (RAM) || 1 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 26. Oktober 2007 |-- | Processor || PowerPC G4 (867MHz or more), G5 or Intel processor |-- | Memory (RAM) || 512 MB RAM |-- | Other requirements || FireWire (integriert) |-- | see also || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 29. April 2005 |-- | Processor || PowerPC G3, G4 or G5 processor, Intel processors starting with Version 10.4.4 |-- | Memory (RAM) || 256 MB RAM |-- | see also || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2003 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 13. August 2002 |-- | Processor || PowerPC G3, G4 or G5 orocessor (233 MHz or more, see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. März 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) b9303fb3daeb8bb7ee8ba33f9c536e628b1affe2 60 59 2023-03-03T17:59:40Z Hagbard 2 Changed protection settings for "[[MacOS Systemvoraussetzungen]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki [[Category:OS]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS versions on unsupported Macs – A Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_.2812.0.29|Version 12.0 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.2) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Processor || 64-Bit intel processor, Apple A12Z or later |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_.2811.0.29|Version 11.0 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.1) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Processor || 64-Bit intel processor, Apple A12Z oder neuer |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_.2810.15.29|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_.2810.14.29|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 14.3 GB für die Durchführung eines Upgrades |-- | see also || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | see also || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs with CoreSolo/CoreDuo processors<br />Intel-Macs and Intel GPU GMA 950 or x3100<br />Intel-Macs with ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. Juli 2011 |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel Macs with CoreSolo or CoreDuo processors (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 28. August 2009 |-- | Processor || Intel processor |-- | Memory (RAM) || 1 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 26. Oktober 2007 |-- | Processor || PowerPC G4 (867MHz or more), G5 or Intel processor |-- | Memory (RAM) || 512 MB RAM |-- | Other requirements || FireWire (integriert) |-- | see also || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 29. April 2005 |-- | Processor || PowerPC G3, G4 or G5 processor, Intel processors starting with Version 10.4.4 |-- | Memory (RAM) || 256 MB RAM |-- | see also || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2003 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 13. August 2002 |-- | Processor || PowerPC G3, G4 or G5 orocessor (233 MHz or more, see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. März 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) b9303fb3daeb8bb7ee8ba33f9c536e628b1affe2 Terminal Quickies 0 11 61 23 2023-03-05T12:15:31Z Hagbard 2 /* macOS Systemversion ermitteln */ wikitext text/x-wiki [[Category:Terminal]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <source> mdfind -onlyin <path> 'kMDItemKind == "Alias"' </source> z.B.: <source> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </source> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <source lang=bash> diff -qr ./old/ ./new/ </source> Beispielausgabe: <source lang=bash> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </source> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <source lang=bash>find . -regex '.*.svn' -exec rm -rf "{}" \;</source> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <source lang=bash> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </source> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <source lang=bash> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </source> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <source lang=bash> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </source> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <source lang=bash>srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </source> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <source lang=bash>chflags hidden FILE_OR_DIRECTORY</source> Folgendes Kommando bewirkt genau das Gegenteil: <source lang=bash>chflags nohidden FILE_OR_DIRECTORY</source> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <source lang=bash>ar vx dateiname.deb</source> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <source lang=bash>tar xvfz data.tar.gz</source> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf </path/to/package.pkg> xar -xvf </path/to/package.pkg> -C <destination-folder> pkgutil --expand </path/to/package.pkg> <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume </path/to/volume> for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ==Administration== ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <source> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </source> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <source lang=bash> ps -ef </source> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <source lang="bash">ps -A -j | grep loginwindow</source> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <source lang="bash">sudo kill 123</source> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <source lang="bash">softwareupdate -d -a</source> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <source lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </source> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <source>sudo launchctl list</source> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <source>$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</source> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <source>$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </source> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <source>sudo launchctl unload -w &lt;NAME></source> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <pre>killall NotificationCenter</pre> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write <bundleidentifier> NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <source>killall -KILL SystemUIServer</source> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <pre> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </pre> ===Full keyboard access== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications... defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <pre>sudo scutil --set HostName <hostname></pre> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <source> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </source> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <source> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </source> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <pre> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </pre> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <source> $ csrutil status System Integrity Protection status: enabled. </source> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <source> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </source> z.B.: <source> tccutil reset Accessibility tccutil reset AppleEvents tccutil reset All </source> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <pre>strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</pre> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<pre>/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</pre> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <source lang=bash> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </source> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r <timestamp> z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep <path> z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <source>ls -lO</source> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <source> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </source> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides 14616545088307e7912b2c8b441560860d33ce1d 62 61 2023-03-05T12:17:35Z Hagbard 2 /* =Full keyboard access */ wikitext text/x-wiki [[Category:Terminal]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <source> mdfind -onlyin <path> 'kMDItemKind == "Alias"' </source> z.B.: <source> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </source> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <source lang=bash> diff -qr ./old/ ./new/ </source> Beispielausgabe: <source lang=bash> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </source> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <source lang=bash>find . -regex '.*.svn' -exec rm -rf "{}" \;</source> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <source lang=bash> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </source> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <source lang=bash> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </source> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <source lang=bash> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </source> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <source lang=bash>srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </source> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <source lang=bash>chflags hidden FILE_OR_DIRECTORY</source> Folgendes Kommando bewirkt genau das Gegenteil: <source lang=bash>chflags nohidden FILE_OR_DIRECTORY</source> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <source lang=bash>ar vx dateiname.deb</source> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <source lang=bash>tar xvfz data.tar.gz</source> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf </path/to/package.pkg> xar -xvf </path/to/package.pkg> -C <destination-folder> pkgutil --expand </path/to/package.pkg> <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume </path/to/volume> for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ==Administration== ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <source> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </source> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <source lang=bash> ps -ef </source> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <source lang="bash">ps -A -j | grep loginwindow</source> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <source lang="bash">sudo kill 123</source> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <source lang="bash">softwareupdate -d -a</source> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <source lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </source> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <source>sudo launchctl list</source> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <source>$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</source> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <source>$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </source> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <source>sudo launchctl unload -w &lt;NAME></source> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <pre>killall NotificationCenter</pre> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write <bundleidentifier> NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <source>killall -KILL SystemUIServer</source> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <pre> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </pre> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <pre>sudo scutil --set HostName <hostname></pre> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <source> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </source> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <source> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </source> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <pre> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </pre> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <source> $ csrutil status System Integrity Protection status: enabled. </source> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <source> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </source> z.B.: <source> tccutil reset Accessibility tccutil reset AppleEvents tccutil reset All </source> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <pre>strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</pre> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<pre>/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</pre> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <source lang=bash> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </source> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r <timestamp> z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep <path> z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <source>ls -lO</source> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <source> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </source> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides bff7153b8b486c3f559c37695860e88ba9848934 63 62 2023-03-05T12:19:08Z Hagbard 2 /* Siehe auch */ wikitext text/x-wiki [[Category:Terminal]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <source> mdfind -onlyin <path> 'kMDItemKind == "Alias"' </source> z.B.: <source> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </source> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <source lang=bash> diff -qr ./old/ ./new/ </source> Beispielausgabe: <source lang=bash> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </source> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <source lang=bash>find . -regex '.*.svn' -exec rm -rf "{}" \;</source> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <source lang=bash> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </source> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <source lang=bash> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </source> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <source lang=bash> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </source> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <source lang=bash>srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </source> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <source lang=bash>chflags hidden FILE_OR_DIRECTORY</source> Folgendes Kommando bewirkt genau das Gegenteil: <source lang=bash>chflags nohidden FILE_OR_DIRECTORY</source> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <source lang=bash>ar vx dateiname.deb</source> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <source lang=bash>tar xvfz data.tar.gz</source> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf </path/to/package.pkg> xar -xvf </path/to/package.pkg> -C <destination-folder> pkgutil --expand </path/to/package.pkg> <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume </path/to/volume> for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ==Administration== ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <source> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </source> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <source lang=bash> ps -ef </source> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <source lang="bash">ps -A -j | grep loginwindow</source> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <source lang="bash">sudo kill 123</source> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <source lang="bash">softwareupdate -d -a</source> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <source lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </source> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <source>sudo launchctl list</source> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <source>$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</source> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <source>$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </source> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <source>sudo launchctl unload -w &lt;NAME></source> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <pre>killall NotificationCenter</pre> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write <bundleidentifier> NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <source>killall -KILL SystemUIServer</source> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <pre> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </pre> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <pre>sudo scutil --set HostName <hostname></pre> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <source> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </source> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <source> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </source> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <pre> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </pre> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <source> $ csrutil status System Integrity Protection status: enabled. </source> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <source> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </source> z.B.: <source> tccutil reset Accessibility tccutil reset AppleEvents tccutil reset All </source> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <pre>strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</pre> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<pre>/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</pre> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <source lang=bash> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </source> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r <timestamp> z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep <path> z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <source>ls -lO</source> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <source> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </source> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 8571ebc0248b7910e399ac0be386aa4c8145e70b 98 63 2023-03-06T10:07:39Z Hagbard 2 /* Administration */ wikitext text/x-wiki [[Category:Terminal]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <source> mdfind -onlyin <path> 'kMDItemKind == "Alias"' </source> z.B.: <source> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </source> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <source lang=bash> diff -qr ./old/ ./new/ </source> Beispielausgabe: <source lang=bash> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </source> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <source lang=bash>find . -regex '.*.svn' -exec rm -rf "{}" \;</source> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <source lang=bash> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </source> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <source lang=bash> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </source> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <source lang=bash> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </source> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <source lang=bash>srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </source> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <source lang=bash>chflags hidden FILE_OR_DIRECTORY</source> Folgendes Kommando bewirkt genau das Gegenteil: <source lang=bash>chflags nohidden FILE_OR_DIRECTORY</source> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <source lang=bash>ar vx dateiname.deb</source> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <source lang=bash>tar xvfz data.tar.gz</source> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf </path/to/package.pkg> xar -xvf </path/to/package.pkg> -C <destination-folder> pkgutil --expand </path/to/package.pkg> <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume </path/to/volume> for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ==Administration== ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <source> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </source> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <source lang=bash> ps -ef </source> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <source lang="bash">ps -A -j | grep loginwindow</source> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <source lang="bash">sudo kill 123</source> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <source lang="bash">softwareupdate -d -a</source> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <source lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </source> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <source>sudo launchctl list</source> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <source>$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</source> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <source>$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </source> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <source>sudo launchctl unload -w &lt;NAME></source> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <pre>killall NotificationCenter</pre> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write <bundleidentifier> NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <source>killall -KILL SystemUIServer</source> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <pre> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </pre> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <pre>sudo scutil --set HostName <hostname></pre> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <source> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </source> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <source> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </source> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <pre> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </pre> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <source> $ csrutil status System Integrity Protection status: enabled. </source> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <source> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </source> z.B.: <source> tccutil reset Accessibility tccutil reset AppleEvents tccutil reset All </source> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <pre>strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</pre> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<pre>/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</pre> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <source lang=bash> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </source> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r <timestamp> z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep <path> z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <source>ls -lO</source> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <source> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </source> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 8cf647e24792d9ef6f2ae4c26632e42e431c88ea User:Hagbard 2 32 64 2023-03-05T13:08:14Z Hagbard 2 Created page with "I'm the bureaucrat of [[Main_Page|macwrench]] and still in the process of moving everything here. This will take some time because I'd like to take the opportunity to update articles and remove old and obsolete stuffin the process. For the time being the old Wiki will still be around here: [http://www.macwrench.de macwrench.de], but new edits will go in here." wikitext text/x-wiki I'm the bureaucrat of [[Main_Page|macwrench]] and still in the process of moving everything here. This will take some time because I'd like to take the opportunity to update articles and remove old and obsolete stuffin the process. For the time being the old Wiki will still be around here: [http://www.macwrench.de macwrench.de], but new edits will go in here. 26e8f4d8de2939aa8d3e3e8dbe1dbd52739c9e83 65 64 2023-03-05T13:13:37Z Hagbard 2 wikitext text/x-wiki I'm the bureaucrat of [[Main_Page|macwrench]], a wiki about all things Mac which has been around in one form or another for several decades now. It started out as a website with tips about how to fix broken Apple hardware, which has been pretty much dropped when the hardware became basically unrepairable. So about two years ago it began to morph into a wiki evolving more around software problems and became some sort of database about hidden features and frequently used tricks which could make work with macOS a little more productive and fun. I'm still in the process of moving everything here, which will probably take a bit longer as usual since my spare time is somewhat limited and I'd like to take the opportunity to update articles and remove old and obsolete stuff in the process. For the time being the old wiki will still be around here: [http://www.macwrench.de macwrench.de], but new edits will most likely go in here. 33970f1fbf929111f435bf832fb4391cca0d333a Main Page 0 1 66 47 2023-03-05T13:16:54Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] <div style="position:relative; top:0px; right:0px; float:right;">[[Image:W21-1a.svg|128px|right]]</div> Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. I took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. Have fun! [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) '''Stuff in here:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |} '''Quickies:''' {| |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |} '''Stuff out there:''' {| |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |} '''Apple Services - System Status:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} <!-- '''See also:''' {| |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] |} ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> f00ddcb412f6e2428608513180197db48833b892 71 66 2023-03-05T15:28:53Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. I took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. Have fun! [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) [[Image:W21-1a.svg|128px|right]] '''Stuff in here:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |} '''Quickies:''' {| |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |} '''Stuff out there:''' {| |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |} '''Apple Services - System Status:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} <!-- '''See also:''' {| |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] |} ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> cdc094ee6890d17b10b712761a0bf2f02b674299 82 71 2023-03-05T19:20:54Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. I took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. Have fun! [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) [[Image:W21-1a.svg|128px|right]] '''Stuff in here:''' {| |-- | style="text-align:right; width:80px;" | <span style="font-size:18pt;"></big> || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | <span style="font-size:18pt;"></big> || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |} '''Quickies:''' {| |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right;" | <span style="font-size:18pt;"></big> || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |} '''Stuff out there:''' {| |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |} '''Apple Services - System Status:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right;" | <span style="font-size:18pt;"></big> || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | <span style="font-size:18pt;"></big> || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} <!-- '''See also:''' {| |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] |} ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> 7fb2b2deb41f239fdf0736dd62f94f3e0c4623fb 83 82 2023-03-05T19:24:14Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. I took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. Have fun! [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) [[Image:W21-1a.svg|128px|right]] '''Stuff in here:''' {| |-- | style="text-align:right; width:80px;" | <span style="font-size:18pt;"></span> || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | <span style="font-size:18pt;"></span> || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |} '''Quickies:''' {| |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right;" | <span style="font-size:18pt;"></span> || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |} '''Stuff out there:''' {| |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |} '''Apple Services - System Status:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right;" | <span style="font-size:18pt;"></span> || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | <span style="font-size:18pt;"></span> || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} <!-- '''See also:''' {| |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] |} ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> c0e6748c4b1916e296669c36f758985ef33305cd 84 83 2023-03-05T19:26:15Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. I took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. Have fun! [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) [[Image:W21-1a.svg|128px|right]] '''Stuff in here:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |} '''Quickies:''' {| |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |} '''Stuff out there:''' {| |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |} '''Apple Services - System Status:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} <!-- '''See also:''' {| |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] |} ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> cdc094ee6890d17b10b712761a0bf2f02b674299 85 84 2023-03-06T09:27:40Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. I took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. Have fun! [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) [[Image:W21-1a.svg|128px|right]] '''Stuff in here:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |} '''Quickies:''' {| |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |} '''Stuff out there:''' {| |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |} '''Apple Services - System Status:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} <!-- '''See also:''' {| |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] |} ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> afb2436e02e6441ce1aea811fd573757072dbe2d 86 85 2023-03-06T09:28:02Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. I took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. Have fun! [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) [[Image:W21-1a.svg|128px|right]] '''Stuff in here:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |} '''Quickies:''' {| |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |} '''Stuff out there:''' {| |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |} '''Apple Services - System Status:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} <!-- '''See also:''' {| |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] |} ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> 5de0eb5cb49b305264d46e9d6cb255c64934b7ca File:MacwrenchLogo.png 6 33 67 2023-03-05T13:20:43Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 MediaWiki:Sidebar 8 34 68 2023-03-05T15:24:18Z Hagbard 2 Created page with " * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * Sites ** https://apps.lindenstruth.org|My apps ** https://www.lindenstruth.org|My website ** https://github.com/lindenstruth|My projects at GitHub * SEARCH * TOOLBOX * LANGUAGES" wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * Sites ** https://apps.lindenstruth.org|My apps ** https://www.lindenstruth.org|My website ** https://github.com/lindenstruth|My projects at GitHub * SEARCH * TOOLBOX * LANGUAGES ef5a1c825dfb775a83b0fe8fcde5cb6eb4ae51ea 69 68 2023-03-05T15:26:49Z Hagbard 2 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * Sites ** https://apps.lindenstruth.org|My apps ** https://www.lindenstruth.org|My website ** https://portfolio.pixelfed/lindenstruth|My pixelfed portfolio ** https://github.com/lindenstruth|My projects at GitHub * SEARCH * TOOLBOX * LANGUAGES 0843e592d092810951239bb564ed397fe98d5af9 70 69 2023-03-05T15:27:08Z Hagbard 2 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * Sites ** https://apps.lindenstruth.org|My apps ** https://www.lindenstruth.org|My website ** https://portfolio.pixelfed.social/lindenstruth|My pixelfed portfolio ** https://github.com/lindenstruth|My projects at GitHub * SEARCH * TOOLBOX * LANGUAGES 6c7efee6bfd9293e01140018dc9a2a0bf43e6bff 72 70 2023-03-05T15:30:40Z Hagbard 2 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * Sites ** https://apps.lindenstruth.org|My apps ** https://www.lindenstruth.org|My website ** https://twitter.com/lindenstruth|Follow me on Twitter ** https://portfolio.pixelfed.social/lindenstruth|My pixelfed portfolio ** https://github.com/lindenstruth|My projects at GitHub * SEARCH * TOOLBOX * LANGUAGES b294a0e57b51681434de781d61a8b8491bcf1da7 73 72 2023-03-05T15:30:54Z Hagbard 2 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * Sites ** https://apps.lindenstruth.org|My apps ** https://www.lindenstruth.org|My website ** https://twitter.com/lindenstruthorg|Follow me on Twitter ** https://portfolio.pixelfed.social/lindenstruth|My pixelfed portfolio ** https://github.com/lindenstruth|My projects at GitHub * SEARCH * TOOLBOX * LANGUAGES ee11b2fc501ad07b16397e9e4a9ad3a140a1e23a 74 73 2023-03-05T15:31:14Z Hagbard 2 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * Sites ** https://apps.lindenstruth.org|My apps ** https://www.lindenstruth.org|My website ** https://portfolio.pixelfed.social/lindenstruth|My pixelfed portfolio ** https://github.com/lindenstruth|My projects at GitHub ** https://twitter.com/lindenstruthorg|Follow me on Twitter * SEARCH * TOOLBOX * LANGUAGES 70504459bfda3a7cd6c5f24f22c3600d42e5e0fc 75 74 2023-03-05T15:39:47Z Hagbard 2 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * About me ** https://apps.lindenstruth.org|My apps ** https://www.lindenstruth.org|My website ** https://portfolio.pixelfed.social/lindenstruth|My pixelfed portfolio ** https://github.com/lindenstruth|My projects at GitHub ** https://twitter.com/lindenstruthorg|Follow me on Twitter * SEARCH * TOOLBOX * LANGUAGES 0e7ff03d3b5233e3a9459288de8181f19e21700d 76 75 2023-03-05T15:40:12Z Hagbard 2 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * SEARCH * TOOLBOX * LANGUAGES * About me ** https://apps.lindenstruth.org|My apps ** https://www.lindenstruth.org|My website ** https://portfolio.pixelfed.social/lindenstruth|My pixelfed portfolio ** https://github.com/lindenstruth|My projects at GitHub ** https://twitter.com/lindenstruthorg|Follow me on Twitter 8accb94a81f1042018c5b97ace93101fcfb35ee6 77 76 2023-03-05T15:41:15Z Hagbard 2 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * SEARCH * TOOLBOX * LANGUAGES * About [[User:Hagbard|me]] ** https://apps.lindenstruth.org|My apps ** https://www.lindenstruth.org|My website ** https://portfolio.pixelfed.social/lindenstruth|My pixelfed portfolio ** https://github.com/lindenstruth|My projects at GitHub ** https://twitter.com/lindenstruthorg|Follow me on Twitter bce3d3e125ee1bbaa859e5b786eff09b375d9d54 78 77 2023-03-05T15:41:45Z Hagbard 2 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * SEARCH * TOOLBOX * LANGUAGES * About me ** [[User:Hagbard|me]]@macwrench ** https://apps.lindenstruth.org|My apps ** https://www.lindenstruth.org|My website ** https://portfolio.pixelfed.social/lindenstruth|My pixelfed portfolio ** https://github.com/lindenstruth|My projects at GitHub ** https://twitter.com/lindenstruthorg|Follow me on Twitter f79a3a1a89780282792abe1b6e5f8c13e59170fc 79 78 2023-03-05T15:42:07Z Hagbard 2 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * SEARCH * TOOLBOX * LANGUAGES * About me ** [[User:Hagbard|me@macwrench]] ** https://apps.lindenstruth.org|My apps ** https://www.lindenstruth.org|My website ** https://portfolio.pixelfed.social/lindenstruth|My pixelfed portfolio ** https://github.com/lindenstruth|My projects at GitHub ** https://twitter.com/lindenstruthorg|Follow me on Twitter 36124baa038537d11c79cc8954efc535857e6226 80 79 2023-03-05T15:42:45Z Hagbard 2 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * SEARCH * TOOLBOX * LANGUAGES * About me ** User:Hagbard|me@macwrench ** https://apps.lindenstruth.org|My apps ** https://www.lindenstruth.org|My website ** https://portfolio.pixelfed.social/lindenstruth|My pixelfed portfolio ** https://github.com/lindenstruth|My projects at GitHub ** https://twitter.com/lindenstruthorg|Follow me on Twitter 990d157d9c9638441ae998ac8da3d0eaa74236fe 81 80 2023-03-05T15:43:16Z Hagbard 2 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * SEARCH * TOOLBOX * LANGUAGES * About me ** User:Hagbard|Me @macwrench ** https://apps.lindenstruth.org|My apps ** https://www.lindenstruth.org|My website ** https://portfolio.pixelfed.social/lindenstruth|My pixelfed portfolio ** https://github.com/lindenstruth|My projects at GitHub ** https://twitter.com/lindenstruthorg|Follow me on Twitter a45bd1dae63be0295c8426aca21ebbe87f1b0fd1 Hidden Features 0 35 87 2023-03-06T09:37:33Z Hagbard 2 Created page with "[[Category:OS]]Several features and options are not really being removed in later versions of macOS but just very well hidden. Some of them are available via [[Terminal Quickies|Terminal]] commands, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) during certain actions. ==Hidden options to be revealed by pressing certain keys== ===Finder=== * Enter the user's "Library" folder by pressing {{Key press|alt}} while opening..." wikitext text/x-wiki [[Category:OS]]Several features and options are not really being removed in later versions of macOS but just very well hidden. Some of them are available via [[Terminal Quickies|Terminal]] commands, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) during certain actions. ==Hidden options to be revealed by pressing certain keys== ===Finder=== * Enter the user's "Library" folder by pressing {{Key press|alt}} while opening the Finder menu "Go" (this will reveal the respective entry) * Reveal hidden files and folders in Finder windows or Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}} ===Preview=== * Preview: press {{Key press|alt}} while using the "Format" Pop-Up button to save an image in another format than one the few offered by default, such as ICNS or Photoshop cd0fda078f9c1b283e18a4fcd643478b5b079169 88 87 2023-03-06T09:37:58Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options are not really being removed in later versions of macOS but just very well hidden. Some of them are available via [[Terminal Quickies|Terminal]] commands, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) during certain actions. ==Hidden options to be revealed by pressing certain keys== ===Finder=== * Enter the user's "Library" folder by pressing {{Key press|alt}} while opening the Finder menu "Go" (this will reveal the respective entry) * Reveal hidden files and folders in Finder windows or Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}} ===Preview=== * Preview: press {{Key press|alt}} while using the "Format" Pop-Up button to save an image in another format than one the few offered by default, such as ICNS or Photoshop 6c10408e0ccd0e48fa615ffd1fca703d73bcef70 89 88 2023-03-06T09:39:20Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options are not really being removed in later versions of macOS but just very well hidden. Some of them are available via [[Terminal Quickies|Terminal]] commands, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) during certain actions. ==Hidden options to be revealed by pressing certain keys== ===Finder=== * Enter the user's "Library" folder by pressing {{Key press|alt}} while opening the Finder menu "Go". This will reveal the respective entry, but you can also use the next one for that 👇 * Reveal hidden files and folders in Finder windows or Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}} ===Preview=== * Preview: press {{Key press|alt}} while using the "Format" Pop-Up button to save an image in another format than one the few offered by default, such as ICNS or Photoshop f9cba01f424d7c853757d90c9697ebb9b48c6657 90 89 2023-03-06T09:39:57Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options are not really being removed in later versions of macOS but just very well hidden. Some of them are available via [[Terminal Quickies|Terminal]] commands, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) during certain actions. ==Hidden options to be revealed by pressing certain keys== ===Finder=== * Enter the user's "Library" folder by pressing {{Key press|alt}} while opening the Finder menu "Go". This will reveal the respective entry, but you can also use the next one for that 👇 * Reveal hidden files and folders in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}} ===Preview=== * Preview: press {{Key press|alt}} while using the "Format" Pop-Up button to save an image in another format than one the few offered by default, such as ICNS or Photoshop f4b684c3c721ab76ad73e69799956672d46d99b1 91 90 2023-03-06T09:41:36Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them are available via [[Terminal Quickies|Terminal]] commands, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) during certain actions. ==Hidden options to be revealed by pressing certain keys== ===Finder=== * Enter the user's "Library" folder by pressing {{Key press|alt}} while opening the Finder menu "Go". This will reveal the respective entry, but you can also use the next one for that 👇 * Reveal hidden files and folders in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}} ===Preview=== * Preview: press {{Key press|alt}} while using the "Format" Pop-Up button to save an image in another format than one the few offered by default, such as ICNS or Photoshop c0e5a32461ce17deb12b8444ecfc0cf933a26025 92 91 2023-03-06T09:43:02Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal]] commands instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options to be revealed by pressing certain keys== ===Finder=== * Enter the user's "Library" folder by pressing {{Key press|alt}} while opening the Finder menu "Go". This will reveal the respective entry, but you can also use the next one for that 👇 * Reveal hidden files and folders in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}} ===Preview=== * Preview: press {{Key press|alt}} while using the "Format" popup button to save an image in another format than one the few offered by default, such as ICNS or Photoshop 7e1f6d952b57f96cd68606ef099c6c90078640a9 93 92 2023-03-06T09:44:30Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options to be revealed by pressing certain keys== ===Finder=== * Enter the user's "Library" folder by pressing {{Key press|alt}} while opening the Finder menu "Go". This will reveal the respective entry, but you can also use the next one for that 👇 * Reveal hidden files and folders in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}} ===Preview=== * Preview: press {{Key press|alt}} while using the "Format" popup button to save an image in another format than one the few offered by default, such as ICNS or Photoshop e3cd2d3d1a5f759240f1662507f03292715110cc 94 93 2023-03-06T09:49:33Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options to be revealed by pressing certain keys== ===Finder=== * Enter the user's "Library" folder by pressing the {{Key press|alt}} key while opening the Finder menu "Go". This will reveal the respective entry, but you can also use the next one for that 👇 * Reveal hidden files and folders in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Press again to hide them again. The setting is only temporary in file dialogs and persistent until the next login (or rather until the Finder is being relaunched) in Finder windows. * Relaunch the finder by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ===Preview=== * Preview: press and hold the {{Key press|alt}} key before using the "Format" popup button to save an image in another format than one the few offered by default, such as ICNS or Photoshop e4bddb95cf6c8ec5a53f33e302ee19157ee58486 95 94 2023-03-06T09:55:26Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options to be revealed by pressing certain keys== ===Finder=== * Enter the user's "Library" folder by pressing the {{Key press|alt}} key while opening the Finder menu "Go". This will reveal the respective entry, but you can also use the next one for that 👇 * Reveal hidden files and folders in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Press again to hide them again. The setting is only temporary in file dialogs and persistent until the next login (or rather until the Finder is being relaunched) in Finder windows. * Relaunch the finder by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. * Minimize all windows of a specific app by pressing and holding the {{Key press|alt}} key while minimizing one via the green traffic light button ===Preview=== * Preview: press and hold the {{Key press|alt}} key before using the "Format" popup button to save an image in another format than one the few offered by default, such as ICNS or Photoshop ==Easter Eggs== * Get a full LOTR timeline by entering the Terminal command {{TT|cat /usr/share/calendar/calendar.lotr}} aef38279ec4f97a28a064cd3a5bd0419725a1d6d 96 95 2023-03-06T10:01:10Z Hagbard 2 /* Easter Eggs */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options to be revealed by pressing certain keys== ===Finder=== * Enter the user's "Library" folder by pressing the {{Key press|alt}} key while opening the Finder menu "Go". This will reveal the respective entry, but you can also use the next one for that 👇 * Reveal hidden files and folders in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Press again to hide them again. The setting is only temporary in file dialogs and persistent until the next login (or rather until the Finder is being relaunched) in Finder windows. * Relaunch the finder by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. * Minimize all windows of a specific app by pressing and holding the {{Key press|alt}} key while minimizing one via the green traffic light button ===Preview=== * Preview: press and hold the {{Key press|alt}} key before using the "Format" popup button to save an image in another format than one the few offered by default, such as ICNS or Photoshop ==Easter Eggs== * Get a full LOTR timeline by running the Terminal command {{TT|cat /usr/share/calendar/calendar.lotr}} (tested on macOS Monterey) * Get today's historical events by running the Terminal command {{TT|cat /usr/share/calendar/calendar.history}} (tested on macOS Monterey) * Get a cookie recipe by running this Terminal command on macOS Mojave: {{TT|open /usr/share/emacs/22.1/etc/COOKIES}} (not available in later macOS versions 256fd045b3fe9e0d4f25f0283e634ae8e6544e7f 97 96 2023-03-06T10:05:39Z Hagbard 2 /* Easter Eggs */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options to be revealed by pressing certain keys== ===Finder=== * Enter the user's "Library" folder by pressing the {{Key press|alt}} key while opening the Finder menu "Go". This will reveal the respective entry, but you can also use the next one for that 👇 * Reveal hidden files and folders in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Press again to hide them again. The setting is only temporary in file dialogs and persistent until the next login (or rather until the Finder is being relaunched) in Finder windows. * Relaunch the finder by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. * Minimize all windows of a specific app by pressing and holding the {{Key press|alt}} key while minimizing one via the green traffic light button ===Preview=== * Preview: press and hold the {{Key press|alt}} key before using the "Format" popup button to save an image in another format than one the few offered by default, such as ICNS or Photoshop ==Easter Eggs== * Get a full LOTR timeline by running the Terminal command {{TT|cat /usr/share/calendar/calendar.lotr}} (tested on macOS Monterey) * Get a historical event for each calendar day by running the Terminal command {{TT|cat /usr/share/calendar/calendar.history}} (tested on macOS Monterey). Get the one for today by running the command {{TT|cat /usr/share/calendar/calendar.history | grep 01/01}} * Get a cookie recipe by running this Terminal command on macOS Mojave: {{TT|open /usr/share/emacs/22.1/etc/COOKIES}} (not available in later macOS versions df78ab6b5540fdb30bedbf0fccf43242df7ec75e 99 97 2023-03-06T10:09:45Z Hagbard 2 /* Easter Eggs */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options to be revealed by pressing certain keys== ===Finder=== * Enter the user's "Library" folder by pressing the {{Key press|alt}} key while opening the Finder menu "Go". This will reveal the respective entry, but you can also use the next one for that 👇 * Reveal hidden files and folders in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Press again to hide them again. The setting is only temporary in file dialogs and persistent until the next login (or rather until the Finder is being relaunched) in Finder windows. * Relaunch the finder by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. * Minimize all windows of a specific app by pressing and holding the {{Key press|alt}} key while minimizing one via the green traffic light button ===Preview=== * Preview: press and hold the {{Key press|alt}} key before using the "Format" popup button to save an image in another format than one the few offered by default, such as ICNS or Photoshop ==Easter Eggs== * Get a full LOTR timeline by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) * Get a historical event for each calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get a specific one by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> * Get a cookie recipe by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (not available in later macOS versions 7b41e8cca50e0789b72dc1f1234230088ce90760 100 99 2023-03-06T10:10:05Z Hagbard 2 /* Easter Eggs */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options to be revealed by pressing certain keys== ===Finder=== * Enter the user's "Library" folder by pressing the {{Key press|alt}} key while opening the Finder menu "Go". This will reveal the respective entry, but you can also use the next one for that 👇 * Reveal hidden files and folders in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Press again to hide them again. The setting is only temporary in file dialogs and persistent until the next login (or rather until the Finder is being relaunched) in Finder windows. * Relaunch the finder by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. * Minimize all windows of a specific app by pressing and holding the {{Key press|alt}} key while minimizing one via the green traffic light button ===Preview=== * Preview: press and hold the {{Key press|alt}} key before using the "Format" popup button to save an image in another format than one the few offered by default, such as ICNS or Photoshop ==Easter Eggs== * Get a full LOTR timeline by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) * Get a historical event for each calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> * Get a cookie recipe by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (not available in later macOS versions 1824e00d524046a87f2fd41ddfeffb1419752fb7 Hidden Features 0 35 101 100 2023-03-06T10:10:42Z Hagbard 2 /* Easter Eggs */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options to be revealed by pressing certain keys== ===Finder=== * Enter the user's "Library" folder by pressing the {{Key press|alt}} key while opening the Finder menu "Go". This will reveal the respective entry, but you can also use the next one for that 👇 * Reveal hidden files and folders in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Press again to hide them again. The setting is only temporary in file dialogs and persistent until the next login (or rather until the Finder is being relaunched) in Finder windows. * Relaunch the finder by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. * Minimize all windows of a specific app by pressing and holding the {{Key press|alt}} key while minimizing one via the green traffic light button ===Preview=== * Preview: press and hold the {{Key press|alt}} key before using the "Format" popup button to save an image in another format than one the few offered by default, such as ICNS or Photoshop ==Easter Eggs== * Get a full LOTR timeline by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) * Get a historical event for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> * Get a cookie recipe by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (not available in later macOS versions 0eb7d02fd88ff8e52ccbd06c30f12f0c8eeebf34 102 101 2023-03-06T10:11:01Z Hagbard 2 /* Easter Eggs */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options to be revealed by pressing certain keys== ===Finder=== * Enter the user's "Library" folder by pressing the {{Key press|alt}} key while opening the Finder menu "Go". This will reveal the respective entry, but you can also use the next one for that 👇 * Reveal hidden files and folders in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Press again to hide them again. The setting is only temporary in file dialogs and persistent until the next login (or rather until the Finder is being relaunched) in Finder windows. * Relaunch the finder by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. * Minimize all windows of a specific app by pressing and holding the {{Key press|alt}} key while minimizing one via the green traffic light button ===Preview=== * Preview: press and hold the {{Key press|alt}} key before using the "Format" popup button to save an image in another format than one the few offered by default, such as ICNS or Photoshop ==Easter Eggs== * Get a full LOTR timeline by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) * Get historical events for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> * Get a cookie recipe by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (not available in later macOS versions bbe5041d8655766839b8a9516e599537ca6ea2d0 103 102 2023-03-06T10:11:33Z Hagbard 2 /* Hidden options to be revealed by pressing certain keys */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options to be revealed by pressing certain keys== ===Finder=== * Enter the user's "Library" folder by pressing the {{Key press|alt}} key while opening the Finder menu "Go". This will reveal the respective entry, but you can also use the next one for that 👇 * Reveal hidden files and folders in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Press again to hide them again. The setting is only temporary in file dialogs and persistent until the next login (or rather until the Finder is being relaunched) in Finder windows. * Relaunch the finder by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. * Minimize all windows of a specific app by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== * Preview: press and hold the {{Key press|alt}} key before using the "Format" popup button to save an image in another format than one the few offered by default, such as ICNS or Photoshop ==Easter Eggs== * Get a full LOTR timeline by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) * Get historical events for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> * Get a cookie recipe by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (not available in later macOS versions 5a3229987063d3dafbed110b979ab15a2e84bd92 106 103 2023-03-06T10:38:42Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options to be revealed by pressing certain keys== ===Finder=== * Enter the user's "Library" folder by pressing the {{Key press|alt}} key while opening the Finder menu "Go". This will reveal the respective entry, but you can also use the next one for that 👇 * Reveal hidden files and folders in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Press again to hide them again. The setting is only temporary in file dialogs and persistent until the next login (or rather until the Finder is being relaunched) in Finder windows. * Relaunch the finder by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. * Minimize all windows of a specific app by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== * Preview: press and hold the {{Key press|alt}} key before using the "Format" popup button to save an image in another format than one the few offered by default, such as ICNS or Photoshop ==Easter Eggs== * Get a full LOTR timeline by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) * Get historical events for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> * Get a cookie recipe by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (not available in later macOS versions ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] de39d44fdc7f5e699ba1869050713cfb1c7466b0 107 106 2023-03-06T10:39:09Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options in apps== ... to be revealed by pressing certain keys ===Finder=== * Enter the user's "Library" folder by pressing the {{Key press|alt}} key while opening the Finder menu "Go". This will reveal the respective entry, but you can also use the next one for that 👇 * Reveal hidden files and folders in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Press again to hide them again. The setting is only temporary in file dialogs and persistent until the next login (or rather until the Finder is being relaunched) in Finder windows. * Relaunch the finder by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. * Minimize all windows of a specific app by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== * Preview: press and hold the {{Key press|alt}} key before using the "Format" popup button to save an image in another format than one the few offered by default, such as ICNS or Photoshop ==Easter Eggs== * Get a full LOTR timeline by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) * Get historical events for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> * Get a cookie recipe by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (not available in later macOS versions ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] 3e720d3c289e9af055f2264480f8d5bb148a6dbf 108 107 2023-03-06T10:39:36Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options in apps== ... to be revealed by pressing/holding certain keys or key combinations: ===Finder=== * Enter the user's "Library" folder by pressing the {{Key press|alt}} key while opening the Finder menu "Go". This will reveal the respective entry, but you can also use the next one for that 👇 * Reveal hidden files and folders in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Press again to hide them again. The setting is only temporary in file dialogs and persistent until the next login (or rather until the Finder is being relaunched) in Finder windows. * Relaunch the finder by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. * Minimize all windows of a specific app by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== * Preview: press and hold the {{Key press|alt}} key before using the "Format" popup button to save an image in another format than one the few offered by default, such as ICNS or Photoshop ==Easter Eggs== * Get a full LOTR timeline by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) * Get historical events for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> * Get a cookie recipe by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (not available in later macOS versions ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] a73199e9a89aeb9a55a831f8e416d38be2785b28 125 108 2023-03-06T14:29:39Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options in apps== ... to be revealed by pressing/holding certain keys or key combinations: ===Finder=== ; Enter the user's "Library" folder : ... by pressing the {{Key press|alt}} key while opening the Finder menu "Go" which will reveal the respective entry. You could altenatively follow the next hint for doing pretty much the same thing 👇 ; Reveal hidden files and folders : ... in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Press again to hide them again. The setting is only temporary in file dialogs and persistent until the next login (or rather until the Finder is being relaunched) in Finder windows. ; Relaunch the finder : ... by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : ... by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== ; Export images to other file formats: : ... by ressing and holding the {{Key press|alt}} key before expanding the "Format" popup button. This will reveal additional image formats to save an image in, such as ICNS or Photoshop ==Easter Eggs== ; Get a full LOTR timeline : ... by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : ... for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (not available in later macOS versions ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] 5b2c787e8dc44f25757d1a3e7c30deee94d10732 126 125 2023-03-06T14:31:14Z Hagbard 2 /* Easter Eggs */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options in apps== ... to be revealed by pressing/holding certain keys or key combinations: ===Finder=== ; Enter the user's "Library" folder : ... by pressing the {{Key press|alt}} key while opening the Finder menu "Go" which will reveal the respective entry. You could altenatively follow the next hint for doing pretty much the same thing 👇 ; Reveal hidden files and folders : ... in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Press again to hide them again. The setting is only temporary in file dialogs and persistent until the next login (or rather until the Finder is being relaunched) in Finder windows. ; Relaunch the finder : ... by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : ... by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== ; Export images to other file formats: : ... by ressing and holding the {{Key press|alt}} key before expanding the "Format" popup button. This will reveal additional image formats to save an image in, such as ICNS or Photoshop ==Easter Eggs== ; Get a full LOTR timeline : ... by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : ... for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (not available in later macOS versions such as macOS Monterey or Ventura) ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] 1a3ff56f18ba5a13059d485d21a9bc470fd5f941 127 126 2023-03-06T14:32:25Z Hagbard 2 /* Easter Eggs */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options in apps== ... to be revealed by pressing/holding certain keys or key combinations: ===Finder=== ; Enter the user's "Library" folder : ... by pressing the {{Key press|alt}} key while opening the Finder menu "Go" which will reveal the respective entry. You could altenatively follow the next hint for doing pretty much the same thing 👇 ; Reveal hidden files and folders : ... in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Press again to hide them again. The setting is only temporary in file dialogs and persistent until the next login (or rather until the Finder is being relaunched) in Finder windows. ; Relaunch the finder : ... by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : ... by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== ; Export images to other file formats: : ... by ressing and holding the {{Key press|alt}} key before expanding the "Format" popup button. This will reveal additional image formats to save an image in, such as ICNS or Photoshop ==Easter Eggs== ; Get a full LOTR timeline… : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events… : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe… : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (not available in later macOS versions such as macOS Monterey or Ventura) ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] 419b38e40852ad7f3a09acd96204bbccac482482 128 127 2023-03-06T14:33:00Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options in apps== ... to be revealed by pressing/holding certain keys or key combinations: ===Finder=== ; Enter the user's "Library" folder… : …by pressing the {{Key press|alt}} key while opening the Finder menu "Go" which will reveal the respective entry. You could altenatively follow the next hint for doing pretty much the same thing 👇 ; Reveal hidden files and folders… : …in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Press again to hide them again. The setting is only temporary in file dialogs and persistent until the next login (or rather until the Finder is being relaunched) in Finder windows. ; Relaunch the finder… : …by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app… : …by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== ; Export images to other file formats… : …by ressing and holding the {{Key press|alt}} key before expanding the "Format" popup button. This will reveal additional image formats to save an image in, such as ICNS or Photoshop ==Easter Eggs== ; Get a full LOTR timeline… : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events… : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe… : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (not available in later macOS versions such as macOS Monterey or Ventura) ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] 9eb0b57cb1688c2d86dcfc7dad8dab790ca8de0c 129 128 2023-03-06T14:33:57Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options in apps== ... to be revealed by pressing/holding certain keys or key combinations: ===Finder=== ; Enter the user's "Library" folder : …by pressing the {{Key press|alt}} key while opening the Finder menu "Go" which will reveal the respective entry. You could altenatively follow the next hint for doing pretty much the same thing 👇 ; Reveal hidden files and folders : …in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Press again to hide them again. The setting is only temporary in file dialogs and persistent until the next login (or rather until the Finder is being relaunched) in Finder windows. ; Relaunch the finder : …by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : …by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== ; Export images to other file formats : …by ressing and holding the {{Key press|alt}} key before expanding the "Format" popup button. This will reveal additional image formats to save an image in, such as ICNS or Photoshop ==Easter Eggs== ; Get a full LOTR timeline : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (not available in later macOS versions such as macOS Monterey or Ventura) ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] ff79df27192402a126652ab6a4a5795c94c7c1a0 130 129 2023-03-06T14:35:04Z Hagbard 2 /* Finder */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options in apps== ... to be revealed by pressing/holding certain keys or key combinations: ===Finder=== ; Enter the user's "Library" folder : …by pressing the {{Key press|alt}} key while opening the Finder menu "Go" which will reveal the respective entry. You could altenatively follow the next hint for achieving pretty much the same by making the folder visible 👇 ; Reveal hidden files and folders : …in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Press again to hide them again. The setting is only temporary in file dialogs and persistent until the next login (or rather until the Finder is being relaunched) in Finder windows. ; Relaunch the finder : …by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : …by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== ; Export images to other file formats : …by ressing and holding the {{Key press|alt}} key before expanding the "Format" popup button. This will reveal additional image formats to save an image in, such as ICNS or Photoshop ==Easter Eggs== ; Get a full LOTR timeline : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (not available in later macOS versions such as macOS Monterey or Ventura) ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] a319e68359db62c21f2fb43a7cfb0a3811b02dbe 131 130 2023-03-06T14:35:48Z Hagbard 2 /* Finder */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options in apps== ... to be revealed by pressing/holding certain keys or key combinations: ===Finder=== ; Enter the user's "Library" folder : …by pressing the {{Key press|alt}} key while opening the Finder menu "Go" which will reveal the respective entry. You could altenatively follow the next hint for achieving pretty much the same by making the folder visible 👇 ; Reveal hidden files and folders : …in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Repeat this to hide them again. The setting is only temporary in file dialogs and persistent until the next login (or rather until the Finder is being relaunched) in Finder windows. ; Relaunch the finder : …by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : …by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== ; Export images to other file formats : …by ressing and holding the {{Key press|alt}} key before expanding the "Format" popup button. This will reveal additional image formats to save an image in, such as ICNS or Photoshop ==Easter Eggs== ; Get a full LOTR timeline : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (not available in later macOS versions such as macOS Monterey or Ventura) ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] 0130f5842633b7cae4ca75adb5a28e183cc933c6 132 131 2023-03-06T14:36:58Z Hagbard 2 /* Finder */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options in apps== ... to be revealed by pressing/holding certain keys or key combinations: ===Finder=== ; Enter the user's "Library" folder : …by pressing the {{Key press|alt}} key while opening the Finder menu "Go" which will reveal the respective entry. You could altenatively follow the next hint for achieving pretty much the same by making the folder visible 👇 ; Reveal hidden files and folders : …in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Repeat this to hide them again. The setting is only temporary in file dialogs and persistent until the next login (until the Finder is being relaunched to be precise) in Finder windows (the next hint will tell you how to do that 👇). ; Relaunch the finder : …by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : …by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== ; Export images to other file formats : …by ressing and holding the {{Key press|alt}} key before expanding the "Format" popup button. This will reveal additional image formats to save an image in, such as ICNS or Photoshop ==Easter Eggs== ; Get a full LOTR timeline : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (not available in later macOS versions such as macOS Monterey or Ventura) ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] bcff169ffa8bbc9e8ae2c7eb19a76e50f4d85e2e 133 132 2023-03-06T14:40:07Z Hagbard 2 /* Preview */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options in apps== ... to be revealed by pressing/holding certain keys or key combinations: ===Finder=== ; Enter the user's "Library" folder : …by pressing the {{Key press|alt}} key while opening the Finder menu "Go" which will reveal the respective entry. You could altenatively follow the next hint for achieving pretty much the same by making the folder visible 👇 ; Reveal hidden files and folders : …in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Repeat this to hide them again. The setting is only temporary in file dialogs and persistent until the next login (until the Finder is being relaunched to be precise) in Finder windows (the next hint will tell you how to do that 👇). ; Relaunch the finder : …by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : …by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== ; Export images to other file formats : …by pressing and holding the {{Key press|alt}} key ''before'' expanding the "Format" popup button on the "Save file" dialog. This will reveal additional image formats to save an image in, such as ICNS or Photoshop. ==Easter Eggs== ; Get a full LOTR timeline : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (not available in later macOS versions such as macOS Monterey or Ventura) ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] 739397353985a742a80f37369718a4a577c605e2 134 133 2023-03-06T14:43:01Z Hagbard 2 /* Easter Eggs */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options in apps== ... to be revealed by pressing/holding certain keys or key combinations: ===Finder=== ; Enter the user's "Library" folder : …by pressing the {{Key press|alt}} key while opening the Finder menu "Go" which will reveal the respective entry. You could altenatively follow the next hint for achieving pretty much the same by making the folder visible 👇 ; Reveal hidden files and folders : …in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Repeat this to hide them again. The setting is only temporary in file dialogs and persistent until the next login (until the Finder is being relaunched to be precise) in Finder windows (the next hint will tell you how to do that 👇). ; Relaunch the finder : …by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : …by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== ; Export images to other file formats : …by pressing and holding the {{Key press|alt}} key ''before'' expanding the "Format" popup button on the "Save file" dialog. This will reveal additional image formats to save an image in, such as ICNS or Photoshop. ==Easter Eggs== ; Get a full LOTR timeline : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (seems to be not around any longer on more recent macOS versions such as macOS Monterey or Ventura) ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] 0cef62b4a00c6949d7054f8902aa46a8defd5558 135 134 2023-03-06T14:44:05Z Hagbard 2 /* Hidden options in apps */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden options in apps== ... to be revealed by pressing/holding certain keys or key combinations: ===Finder=== ; Enter the user's "Library" folder : …by pressing the {{Key press|alt}} key while opening the Finder menu "Go" which will reveal the respective entry. You could altenatively follow the next hint for achieving pretty much the same by making the folder visible 👇 ; Reveal hidden files and folders : …in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Repeat this to hide them again. The setting is only temporary in file dialogs and persistent until the next login (until the Finder is being relaunched to be precise) in Finder windows (the next hint will tell you how to do that 👇). ; Relaunch the finder : …without a logout or reboot by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : …by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== ; Export images to other file formats : …by pressing and holding the {{Key press|alt}} key ''before'' expanding the "Format" popup button on the "Save file" dialog. This will reveal additional image formats to save an image in, such as ICNS or Photoshop. ==Easter Eggs== ; Get a full LOTR timeline : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (seems to be not around any longer on more recent macOS versions such as macOS Monterey or Ventura) ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] 941e1da1a7903a8a0c6d37b9f82966b8b6313183 136 135 2023-03-06T14:44:44Z Hagbard 2 /* Hidden options in apps */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden features/options in apps== ... to be revealed by pressing/holding certain keys or key combinations: ===Finder=== ; Enter the user's "Library" folder : …by pressing the {{Key press|alt}} key while opening the Finder menu "Go" which will reveal the respective entry. You could altenatively follow the next hint for achieving pretty much the same by making the folder visible 👇 ; Reveal hidden files and folders : …in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Repeat this to hide them again. The setting is only temporary in file dialogs and persistent until the next login (until the Finder is being relaunched to be precise) in Finder windows (the next hint will tell you how to do that 👇). ; Relaunch the finder : …without a logout or reboot by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : …by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== ; Export images to other file formats : …by pressing and holding the {{Key press|alt}} key ''before'' expanding the "Format" popup button on the "Save file" dialog. This will reveal additional image formats to save an image in, such as ICNS or Photoshop. ==Easter Eggs== ; Get a full LOTR timeline : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (seems to be not around any longer on more recent macOS versions such as macOS Monterey or Ventura) ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] 8bbb944e742275659253c2254dc82be3601a80f2 137 136 2023-03-06T14:44:58Z Hagbard 2 /* Hidden features/options in apps */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden features/options== ... to be revealed by pressing/holding certain keys or key combinations: ===Finder=== ; Enter the user's "Library" folder : …by pressing the {{Key press|alt}} key while opening the Finder menu "Go" which will reveal the respective entry. You could altenatively follow the next hint for achieving pretty much the same by making the folder visible 👇 ; Reveal hidden files and folders : …in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Repeat this to hide them again. The setting is only temporary in file dialogs and persistent until the next login (until the Finder is being relaunched to be precise) in Finder windows (the next hint will tell you how to do that 👇). ; Relaunch the finder : …without a logout or reboot by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : …by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== ; Export images to other file formats : …by pressing and holding the {{Key press|alt}} key ''before'' expanding the "Format" popup button on the "Save file" dialog. This will reveal additional image formats to save an image in, such as ICNS or Photoshop. ==Easter Eggs== ; Get a full LOTR timeline : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (seems to be not around any longer on more recent macOS versions such as macOS Monterey or Ventura) ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] f0be3eb627ecc6c23537fcd261bc71a1ddca81e8 138 137 2023-03-06T14:49:12Z Hagbard 2 added section "All Applications" wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden features/options== ... to be revealed by pressing/holding certain keys or key combinations: ===Finder=== ; Enter the user's "Library" folder : …by pressing the {{Key press|alt}} key while opening the Finder menu "Go" which will reveal the respective entry. You could altenatively follow the next hint for achieving pretty much the same by making the folder visible 👇 ; Reveal hidden files and folders : …in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Repeat this to hide them again. The setting is only temporary in file dialogs and persistent until the next login (until the Finder is being relaunched to be precise) in Finder windows (the next hint will tell you how to do that 👇). ; Relaunch the finder : …without a logout or reboot by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : …by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== ; Export images to other file formats : …by pressing and holding the {{Key press|alt}} key ''before'' expanding the "Format" popup button on the "Save file" dialog. This will reveal additional image formats to save an image in, such as ICNS or Photoshop. ===All Applications=== ; Making screenshots of a window : …by using the known combination {{Key press|Cmd}} {{Key press|Shift}} {{Key press|4}} for grabbing the whole screen, followed by pressing the {{Key press|Space}} bar. The cursor then changes into a camera icon and lets you select a window to be snapped by simply tapping/clicking on it. ==Easter Eggs== ; Get a full LOTR timeline : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (seems to be not around any longer on more recent macOS versions such as macOS Monterey or Ventura) ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] 868a9a4a505704141edc7610a1bd395cfdfb3901 139 138 2023-03-06T14:49:36Z Hagbard 2 /* Hidden features/options */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden features/options== ... to be revealed by pressing/holding certain keys or key combinations: ===All Applications=== ; Making screenshots of a window : …by using the known combination {{Key press|Cmd}} {{Key press|Shift}} {{Key press|4}} for grabbing the whole screen, followed by pressing the {{Key press|Space}} bar. The cursor then changes into a camera icon and lets you select a window to be snapped by simply tapping/clicking on it. ===Finder=== ; Enter the user's "Library" folder : …by pressing the {{Key press|alt}} key while opening the Finder menu "Go" which will reveal the respective entry. You could altenatively follow the next hint for achieving pretty much the same by making the folder visible 👇 ; Reveal hidden files and folders : …in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Repeat this to hide them again. The setting is only temporary in file dialogs and persistent until the next login (until the Finder is being relaunched to be precise) in Finder windows (the next hint will tell you how to do that 👇). ; Relaunch the finder : …without a logout or reboot by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : …by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== ; Export images to other file formats : …by pressing and holding the {{Key press|alt}} key ''before'' expanding the "Format" popup button on the "Save file" dialog. This will reveal additional image formats to save an image in, such as ICNS or Photoshop. ==Easter Eggs== ; Get a full LOTR timeline : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (seems to be not around any longer on more recent macOS versions such as macOS Monterey or Ventura) ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] 5e087c49f2e5584eba0650792219e42755944d35 140 139 2023-03-06T14:50:04Z Hagbard 2 /* All Applications */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden features/options== ... to be revealed by pressing/holding certain keys or key combinations: ===All Applications=== ; Making screenshots of a window : …by using the well-known key combination {{Key press|Cmd}} {{Key press|Shift}} {{Key press|4}} for grabbing the whole screen, followed by pressing the {{Key press|Space}} bar. The cursor then changes into a camera icon and lets you select a window to be snapped by simply tapping/clicking on it. ===Finder=== ; Enter the user's "Library" folder : …by pressing the {{Key press|alt}} key while opening the Finder menu "Go" which will reveal the respective entry. You could altenatively follow the next hint for achieving pretty much the same by making the folder visible 👇 ; Reveal hidden files and folders : …in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Repeat this to hide them again. The setting is only temporary in file dialogs and persistent until the next login (until the Finder is being relaunched to be precise) in Finder windows (the next hint will tell you how to do that 👇). ; Relaunch the finder : …without a logout or reboot by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : …by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== ; Export images to other file formats : …by pressing and holding the {{Key press|alt}} key ''before'' expanding the "Format" popup button on the "Save file" dialog. This will reveal additional image formats to save an image in, such as ICNS or Photoshop. ==Easter Eggs== ; Get a full LOTR timeline : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (seems to be not around any longer on more recent macOS versions such as macOS Monterey or Ventura) ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] 444a14691cd4962379f3ee5b4137e67602875802 141 140 2023-03-06T14:50:51Z Hagbard 2 /* Finder */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden features/options== ... to be revealed by pressing/holding certain keys or key combinations: ===All Applications=== ; Making screenshots of a window : …by using the well-known key combination {{Key press|Cmd}} {{Key press|Shift}} {{Key press|4}} for grabbing the whole screen, followed by pressing the {{Key press|Space}} bar. The cursor then changes into a camera icon and lets you select a window to be snapped by simply tapping/clicking on it. ===Finder=== ; Enter the user's "Library" folder : …by pressing the {{Key press|alt}} key while opening the Finder menu "Go", which will reveal the respective entry. You could altenatively follow the next hint for achieving pretty much the same by making the folder visible 👇 ; Reveal hidden files and folders : …in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Repeat this to hide them again. The setting is only temporary in file dialogs and persistent until the next login (until the Finder is being relaunched to be precise) in Finder windows (the next hint will tell you how to do that 👇). ; Relaunch the finder : …without a logout or reboot by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : …by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== ; Export images to other file formats : …by pressing and holding the {{Key press|alt}} key ''before'' expanding the "Format" popup button on the "Save file" dialog. This will reveal additional image formats to save an image in, such as ICNS or Photoshop. ==Easter Eggs== ; Get a full LOTR timeline : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (seems to be not around any longer on more recent macOS versions such as macOS Monterey or Ventura) ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] f35dd4dd333b7b2123a8fcf556c99eed269e931a 148 141 2023-03-06T19:22:36Z Hagbard 2 /* Hidden features/options */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden features/options== ... to be revealed by pressing/holding certain keys or key combinations: [[File:MacOS logo.svg|64px|right]] ===All Applications=== ; Making screenshots of a window : …by using the well-known key combination {{Key press|Cmd}} {{Key press|Shift}} {{Key press|4}} for grabbing the whole screen, followed by pressing the {{Key press|Space}} bar. The cursor then changes into a camera icon and lets you select a window to be snapped by simply tapping/clicking on it. [[File:Finder Icon macOS Big Sur.png|64px|right]] ===Finder=== ; Enter the user's "Library" folder : …by pressing the {{Key press|alt}} key while opening the Finder menu "Go", which will reveal the respective entry. You could altenatively follow the next hint for achieving pretty much the same by making the folder visible 👇 ; Reveal hidden files and folders : …in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Repeat this to hide them again. The setting is only temporary in file dialogs and persistent until the next login (until the Finder is being relaunched to be precise) in Finder windows (the next hint will tell you how to do that 👇). ; Relaunch the finder : …without a logout or reboot by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : …by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== ; Export images to other file formats : …by pressing and holding the {{Key press|alt}} key ''before'' expanding the "Format" popup button on the "Save file" dialog. This will reveal additional image formats to save an image in, such as ICNS or Photoshop. ==Easter Eggs== ; Get a full LOTR timeline : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (seems to be not around any longer on more recent macOS versions such as macOS Monterey or Ventura) ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] 5567183fffee3734a85be57d97b56db20b949165 149 148 2023-03-06T19:26:41Z Hagbard 2 /* Finder */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden features/options== ... to be revealed by pressing/holding certain keys or key combinations: [[File:MacOS logo.svg|64px|right]] ===All Applications=== ; Making screenshots of a window : …by using the well-known key combination {{Key press|Cmd}} {{Key press|Shift}} {{Key press|4}} for grabbing the whole screen, followed by pressing the {{Key press|Space}} bar. The cursor then changes into a camera icon and lets you select a window to be snapped by simply tapping/clicking on it. [[File:Finder Icon macOS Big Sur.png|64px|right]] ===Finder=== ; Enter the user's "Library" folder : …by pressing the {{Key press|alt}} key while opening the Finder menu "Go", which will reveal the respective entry. You could altenatively follow the next hint for achieving pretty much the same by making the folder visible 👇 ; Reveal hidden files and folders : …in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Repeat this to hide them again. The setting is only temporary in file dialogs (i.e. until the rspective dialog is being closed) and persistent until the next login (until the Finder is being relaunched to be precise) in Finder windows (the next hint will tell you how to do that 👇). ; Relaunch the finder : …without a logout or reboot by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : …by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== ; Export images to other file formats : …by pressing and holding the {{Key press|alt}} key ''before'' expanding the "Format" popup button on the "Save file" dialog. This will reveal additional image formats to save an image in, such as ICNS or Photoshop. ==Easter Eggs== ; Get a full LOTR timeline : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (seems to be not around any longer on more recent macOS versions such as macOS Monterey or Ventura) ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] ffc3107d73a7bb8b4786bdac09b69a7fc33f94b3 150 149 2023-03-06T19:27:21Z Hagbard 2 /* Finder */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden features/options== ... to be revealed by pressing/holding certain keys or key combinations: [[File:MacOS logo.svg|64px|right]] ===All Applications=== ; Making screenshots of a window : …by using the well-known key combination {{Key press|Cmd}} {{Key press|Shift}} {{Key press|4}} for grabbing the whole screen, followed by pressing the {{Key press|Space}} bar. The cursor then changes into a camera icon and lets you select a window to be snapped by simply tapping/clicking on it. [[File:Finder Icon macOS Big Sur.png|64px|right]] ===Finder=== ; Enter the user's "Library" folder : …by pressing the {{Key press|alt}} key while opening the Finder menu "Go", which will reveal the respective entry. You could altenatively follow the next hint for achieving pretty much the same by making the folder visible 👇 ; Reveal hidden files and folders : …in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Repeat this to hide them again. The setting is only temporary in file dialogs (i.e. until the rspective dialog is being closed) and persistent until the next login (until the Finder is being relaunched to be precise) in Finder windows. The next hint will tell you how to do that 👇 (relaunching the Finder). ; Relaunch the finder : …without a logout or reboot by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : …by pressing and holding the {{Key press|alt}} key while minimizing one of them ===Preview=== ; Export images to other file formats : …by pressing and holding the {{Key press|alt}} key ''before'' expanding the "Format" popup button on the "Save file" dialog. This will reveal additional image formats to save an image in, such as ICNS or Photoshop. ==Easter Eggs== ; Get a full LOTR timeline : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (seems to be not around any longer on more recent macOS versions such as macOS Monterey or Ventura) ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] 38ed7d2e65a1f7377e52bc681ac6c0b25d2b49ae Template:Key press/core 10 4 104 8 2023-03-06T10:12:27Z Hagbard 2 wikitext text/x-wiki <kbd class="keyboard-key nowrap" style="white-space: nowrap; border: 1px solid #aaa; {{border-radius|0.2em}} {{box-shadow|0.1em|0.2em|0.2em|#ddd}} background-color: #f9f9f9; {{linear-gradient|top|#eee, #f9f9f9, #eee}} padding: 0.1em 0.3em; font-family: inherit; font-size: 0.85em;">{{#switch:{{lc:{{{1}}}}} | apple = [[Image:Apple logo black.svg|12px]] Apple | appleicon = [[Image:Apple logo black.svg|12px]] | power = [[Image:IEC5009_Standby_Symbol.svg|10px]] Power <!-- {{Unicode|&#x23FB;}} --> | caps lock = {{Unicode|⇪}} Caps Lock | [[caps lock]] = {{Unicode|⇪}} [[Caps Lock]] | shift = {{Unicode|⇧}} Shift | [[shift key|shift]] = {{Unicode|⇧}} [[Shift key|Shift]] | enter = {{Unicode|↵}} Enter | [[enter key|enter]] = {{Unicode|↵}} [[Enter key|Enter]] | cmd = {{Unicode|⌘}} Cmd | [[cmd key|cmd]] | [[command key|cmd]] = {{Unicode|⌘}} [[Command key|Cmd]] | command = {{Unicode|⌘}} Command | [[cmd key|command]] | [[command key|command]] = {{Unicode|⌘}} [[Command key|Command]] | esc = {{Unicode|⎋}} Esc | opt = {{Unicode|⌥}} Opt | alt = {{Unicode|⌥}} Alt | [[opt key|opt]] | [[option key|opt]] = {{Unicode|⌥}} [[Option key|Opt]] | option = {{Unicode|⌥}} Option | [[option key]] | [[opt key|option]] | [[option key|option]] = {{Unicode|⌥}} [[Option key|Option]] | tab = Tab {{Unicode|↹}} | [[tab key|tab]] = [[Tab key|Tab]] {{Unicode|↹}} | backspace = ← Backspace | [[backspace]] = ← [[Backspace]] | win = {{Unicode|⊞}} Win | [[win key|win]] | [[windows key|win]] = {{Unicode|⊞}} [[Windows key|Win]] | menu = {{Unicode|≣}} Menu | [[menu key|menu]] = {{Unicode|≣}} [[Menu key|Menu]] | up = ↑ | [[arrow keys|up]] = [[Arrow keys|↑]] | down = ↓ | [[arrow keys|down]] = [[Arrow keys|↓]] | left = ← | [[arrow keys|left]] = [[Arrow keys|←]] | right = → | [[arrow keys|right]] = [[Arrow keys|→]] | * | asterisk = <nowiki>*</nowiki> | # | hash = <nowiki>#</nowiki> | [[#]] = [[Number sign|#]] | : | colon = <nowiki>:</nowiki> | [[:]] = [[Colon (punctuation)|:]] | pipe = <nowiki>|</nowiki> | [[|]] = [[Pipe symbol|<nowiki>|</nowiki>]] | ; | semicolon = <nowiki>;</nowiki> | [[;]] = [[Semi-colon|<nowiki>;</nowiki>]] | equals = <nowiki>=</nowiki> <!-- Left & right analog sticks --> | l-up | l up = L↑ | l-down | l down = L↓ | l-left | l left = L← | l-right | l right = L→ | l-ne | l ne = L↗ | l-se | l se = L↘ | l-nw | l nw = L↖ | l-sw | l sw = L↙ | r-up | r up = R↑ | r-down | r down = R↓ | r-left | r left = R← | r-right | r right = R→ | r-ne | r ne = R↗ | r-se | r se = R↘ | r-nw | r nw = R↖ | r-sw | r sw = R↙ <!-- PlayStation --> | ps x | ex = {{unicode|×}} | ps c | circle = {{unicode|○}} | ps s | square = {{unicode|□}} | ps t | triangle = {{unicode|△}} <!-- Nintendo 64 & GameCube --> | c-up | c up = C↑ | c-down | c down = C↓ | c-left | c left = C← | c-right | c right = C→ | c-ne | c ne = C↗ | c-se | c se = C↘ | c-nw | c nw = C↖ | c-sw | c sw = C↙ <!-- default --> | #default = {{{1}}} }}</kbd><noinclude> <!-- Add categories and interwikis links to the /doc subpage, not here! --> </noinclude> 1299583ceff4cb3f76e4b7cb6a1cdfa7d8ebbd74 Mac Keyboard Shortcuts 0 8 105 17 2023-03-06T10:37:49Z Hagbard 2 /* Siehe auch */ wikitext text/x-wiki [[Category:OS]]In diesem Artikel ist eine (mittlerweile nicht mehr ganz so kleine) Liste recht praktischer Tastaturkürzel zu finden. Für alle, die eine solche Liste gern auch ohne Internetzugang abrufbar hätten, gibt es [https://www.macupdate.com/app/mac/25152/xcuts mit xcuts] selbiges als [[Dashboard|Dashboard-Widget]]. Eine Übersicht der Boot-Tastenkombinationen (die sog. "Boot Key Combos") ist im Artikel "[[Startup Key Combinations]]" zu finden. ==macOS Allgemein== Global gültige Tastaturkommandos für das MacOS. Tastenkombinationen für den Start des Mac (Boot Key Combos) sind im Artikel "[[Startup Key Combinations]]" zu finden. {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|>}} {{key press|CMD|<}} || zwischen mehreren offenen Fenstern einer Anwendung wechseln |---- bgcolor="#FFFFFF" | {{key press|Ctrl|F2}} || Ins Hauptmenü springen (Startpunkt: Apfel-Menü) |---- bgcolor="#FFFFFF" | {{key press|Ctrl|F4}} || Dock anzeigen und auswählen (für eine Bedienung mit der Tastatur). Anzeigen eines Menüs mit den Pfeiltasten {{Key press|up}} und {{Key press|down}} |---- bgcolor="#FFFFFF" | {{key press|Ctrl|F4}} || Durch alle offenen Fenster (aller Anwendungen switchen) |---- bgcolor="#FFFFFF" | {{key press|Ctrl|F7}} || Tastatursteuerung umschalten: "Nur Textfelder und Listen" oder "alle Steuerungselemente" |---- bgcolor="#FFFFFF" | {{key press|Ctrl|F8}} || Zu dem Menüsymbolen springen (Uhr, Batterieanzeige, Benutzer, ...) |---- bgcolor="#FFFFFF" | {{key press|Shift|Alt}} || Zusätzlich zu den Lautstärketasten: Lautstärke-Feineinstellung in Viertelschritten (ab Mac OS X 10.5) |---- bgcolor="#FFFFFF" | {{key press|cmd|t}} || Schriftarten-Auswahldialog |---- bgcolor="#FFFFFF" | {{key press|cmd|Alt|t}} || Zeichenpalette anzeigen (Auswahldialog für Sonderzeichen) |---- bgcolor="#FFFFFF" | {{key press|cmd|Shift|c}} || Farbauswahl |---- bgcolor="#FFFFFF" | {{key press|Ctrl|shift|⏏}} || Bildschirm in den Ruhezustand versetzen (ab Mac OS X 10.5) |---- bgcolor="#FFFFFF" | {{key press|cmd|Alt|⏏}} (2 Sek.)|| Mac in den Ruhezustand versetzen (2 Sekunden lang gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|cmd|Ctrl|⏏}} || Alle Anwendungen schließen und anschließend Neustart durchführen |---- bgcolor="#FFFFFF" | {{key press|Cmd|Ctrl|Power}} || sofortigen Neustart erzwingen |---- bgcolor="#FFFFFF" | {{key press|Ctrl|CMD|Q}} || Zum Lock/Login Screen wechseln |---- bgcolor="#FFFFFF" | {{key press|Ctrl|Shift|Power}} || Display ausschalten |---- bgcolor="#FFFFFF" | {{key press|Ctrl|Opt|Power}} || Sleep mode |} ===Rechtschreibkorrektur / Eingabehilfen=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|;}} || Rechtschreibkorrektur: nächstes unkorrektes Wort finden |---- bgcolor="#FFFFFF" | {{key press|CMD|:}} || Rechtschreibkorrektur: Dialogfenster zum Lernen / Ersetzen |---- bgcolor="#FFFFFF" | {{key press|Alt|Esc}} {{key press|F5}} || Auto-Vervollständigung (Drop-Down Liste mit Vorschlägen) |} ===Screeenshots=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|shift|3}} || ganzer Bildschirm |---- bgcolor="#FFFFFF" | {{key press|CMD|SHIFT|4}} || Markierter Bereich (ein Auswahlkreuz erscheint). Drückt man danach {{key press|Space}}, kann ein einzelnes Fenster ausgewählt werden |---- bgcolor="#FFFFFF" | +{{key press|Ctrl}} || Durch zusätzliches Drücken der {{key press|Ctrl}} Taste wandert der Screenshot in die Zwischenablage und nicht in eine Datei auf dem Desktop |} ===Bedienungshilfen=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|Cmd|Opt|8}} || Bildschirmzoom ein-/ausschalten |---- bgcolor="#FFFFFF" | {{key press|Cmd|Opt|equals}} || Bildschirmzoom - vergrößern |---- bgcolor="#FFFFFF" | {{key press|Cmd|Opt|-}} || Bildschirmzoom - verkleinern |---- bgcolor="#FFFFFF" | {{key press|Ctrl|Scroll}} || Bildschirmzoom - verkleinern/vergrößern |---- bgcolor="#FFFFFF" | {{key press|Cmd|Ctrl|Opt|8}} || Bildschirmdarstellung invertieren |---- bgcolor="#FFFFFF" | {{key press|Cmd|Ctrl|Opt|,}} || Kontrast verringern |---- bgcolor="#FFFFFF" | {{key press|Cmd|Ctrl|Opt|.}} || Kontrast erhöhen |} ==macOS Tools== ===Finder=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|CMD|F}} || '''bis Mac OS 10.3.9:'''<br />herkömmliche Dateisuche mit verschiedenen Optionen<br />'''ab Mac OS 10.4:'''<br />Spotlight-Suche in einem normalen Finder-Fenster mit weiteren Suchoptionen und der Möglichkeit, die Suche als sog. "intelligenten Ordner" zu speichern. |---- bgcolor="#FFFFFF" | {{Key press|CMD|Shift|Backspace}} || Papierkorb entleeren |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|Shift|Backspace}} || Papierkorb ohne Warnung / Bestätigung entleeren |---- bgcolor="#FFFFFF" | {{Key press|CMD|Shift|.}} || Versteckte Dateien anzeigen bzw. verbergen (in jedem Finder-Fenster und Öffnen-/Speichern Dialog) |---- bgcolor="#FFFFFF" | {{Key press|Opt|Secondary Click}} auf dem Dock-Icon, dabei {{Key press|Opt}} '''vorher''' drücken und gedrückt halten!|| Menü mit Eintrag "Neu starten" |---- bgcolor="#FFFFFF" | {{Key press|Ctrl|F2}} || Menüleiste anzeigen und für Tastatursteuerung aktivieren |---- bgcolor="#FFFFFF" | {{Key press|Opt|Shift|Volume}} || Feineinstellung der Lautstärke in 64 statt 16 Stufen |} ===Dock=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|D}} || Dock anzeigen bzw. verbergen |---- bgcolor="#FFFFFF" | {{Key press|CMD|Mouse}} || Den Ort des Dock-Elements im Finder zeigen |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|Mouse}} || Alle anderen Anwendungen verbergen außer derjenigen, die man anklickt. Funktionsweise analog zu <KB>apfel + alt + h</KB> |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|Mouse Drag}} || Zwingt eine Anwendung dazu, eine auf ihr Symbol im Dock gezogene Datei zu öffnen (normalerweise ist bei nicht für eine Anwendung registrierten Typen diese Funktion gesperrt) |---- bgcolor="#FFFFFF" | {{Key press|Opt}}+Dock resize || Es werden nur fest vorgegebene Größen verwendet und keine interpolierten Zwischengrößen (kann die Systemperformance verbessern) |---- bgcolor="#FFFFFF" | {{Key press|Shift}}+Dock resize || Verschieben des Docks an eine andere Stelle des Desktops (links, rechts oder unten) |---- bgcolor="#FFFFFF" | {{Key press|Ctrl|F3}} || Dock anzeigen und für Tastatursteuerung aktivieren |} ===Spotlight=== Tastaturkürzel für Spotlight sind [[Spotlight#Tastaturshortcuts|im entsprechenden Artikel]] zu finden. ===Dashboard=== Tastaturkürzel für Spotlight sind [[Dashboard#Tastaturshortcuts|im entsprechenden Artikel]] zu finden. ===Systemeinstellungen=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|Opt|Volume}} || PrefPane "Ton" öffnen |---- bgcolor="#FFFFFF" | {{Key press|Opt|Brightness}} || PrefPane "Monitore" öffnen |} ===iTunes=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|CMD|Shift}} || iTunes im gesicherten Modusstarten (während des Starts gedrückt halten) |} ==Anwendungen== ===Vorschau=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|CMD|Shift|F}} || Diashow starten<ref name="Mehrfachhauswahl">Mehrfachauswahl im Finder mit <KB>shift</KB> oder <KB>apfel</KB>, anschließend mit der entsprechenden Anwendung öffnen</ref> |---- bgcolor="#FFFFFF" | {{Key press|CMD|Alt|C}} || Bildkorrekturen (Belichtung, Gamma, Kontrast etc.) |} ===Notizzettel (Stickies)=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|CMD|>}}<br />{{Key press|CMD|<}} || zwischen mehreren Notizzetteln wechseln |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|F}} || ausgewählten Notizzettel immer im Vordergrund halten |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|T}} || Transparenz des ausgewählten Notizzettels ein-/ausschalten |} ===Adressbuch=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|Opt}} || Bei ausgewähltem Kontakt: Hervorheben der Gruppen, denen der ausgewählte Kontakt zugewiesen ist |---- bgcolor="#FFFFFF" | {{Key press|Opt|L}} || ausgewählten Kontakt bearbeiten bzw. dessen Bearbeitung beenden |} ==Weitere Tipps== ===Sondertasten umbelegen=== Die 4 Sondertasten :{{key press|caps lock}} (Feststelltaste) :{{key press|Ctrl}} (Steuerung) :{{key press|Opt}} (Wahltaste) :{{key press|Cmd}} (Befehlstaste) lassen sich in den Systemeinstellungen im PrefPane "Tastatur & Maus" über den Button "Sondertasten" anders belegen oder auch deaktivieren. Dabei stehen jedoch nur die 4 obigen Funktionen zur Verfügung, d.h. die Tasten lassen sich also nur austauschen oder deaktivieren. ===Steuerung über die Tastatur=== Seit Mac OS X Tiger (10.4) lassen sich alle Elemente der graphischen Benutzeroberfläche per Tastatur ansteuern. Dieses Verhalten kann auf 2 verschiedenen Wegen umgeschaltet werden, und zwar # in der Systemsteuerung, PrefPane "Tastatur & Maus", Tab "Tastatur-Kurzbefehle" ganz unten # über die Tastenkombination <KB>ctrl + F7</KB> Dabei wird umgeschalten zwischen # Tastatursteuerung von Textfeldern und Listen # Tastatursteuerung aller Steuerungselemente (also z.B. auch Knöpfe/Buttons) ===Tastenkombinationen von Anwendungen ändern=== [[Image:Systemeinstellungen_KeyboardShortcut_erstellen.png|thumb|Eigene Tastaturkürzel erstellen]] In den Systemeinstellungen (PrefPane "Tastatur und Maus") lassen sich sehr einfach auch eigene Kürzel für die verschiedenen Funktionen einer Anwendung erzeugen. Dabei ist jedoch immer zu beachten, dass diese sich nicht mit anderen, durch Mac OS X oder die jeweilige Applikation belegten Kürzeln überschneiden. Im Zweifelsfall funktionert das Kürzel einfach nicht. Dazu ist im Tab "Tastatur-Kurzbefehle" auf das kleine "+" Symbol rechts unterhalb der Übersicht zu klicken, woraufhin das rechts im Bild dargestellte Fenster erscheint. Anschließend kann im DropDown Feld "Programm" eine Anwendung ausgewählt werden - entweder direkt über die Liste oder über den Eintrag "Andere..." ganz am Ende der Liste (ganz herunterscrollen) mit Hilfe eines Dateiauswahl-Dialoges. Nach der Auswahl des Programms kann nun der Menü-Eintrag für die aufzurufende Funktion (genauer Wortlaut aus dem Menü der Anwendung, z.B. "Widerrufen" oder "Datei öffnen") sowie das damit zu verknüpfende Tastaturkürzel durch Drücken der gewünschten Tastenkombination im Feld "Tastatur-Kurzbefehl" angegeben werden. Durch einen Klick auf "Hinzufügen" wird das Kürzel gespeichert und steht nach dem nächsten Start der Anwendung zur Verfügung. ==Siehe auch== * [[Startup Key Combinations]] * [[Hidden Features]] * Apple Support: ** [http://support.apple.com/kb/HT1533 Startup key combinations for Intel-based Macs] ** [http://support.apple.com/kb/ht1343 Mac OS X keyboard shortcuts] ** [https://support.apple.com/en-ae/HT201236 Mac keyboard shortcuts] * Sonstige: ** Usingmac.com: [http://usingmac.com/2007/11/21/mac-os-x-leopard-200-productivity-booster-hotkeys Liste mit über 200 Tastaturkürzeln] ** mozilla.org: [http://www.mozilla.org/support/firefox/keyboard Mozilla Firefox Tastaturkürzel] und [http://www.mozilla.org/support/firefox/mouse Mauskürzel] ** mozilla.org: [http://www.mozilla.org/support/thunderbird/keyboard Mozilla Thunderbird Tastaturkürzel] und [http://www.mozilla.org/support/thunderbird/mouse Mauskürzel] ** Leslie Franke: [http://lesliefranke.com/files/reference/thunderbirdcheatsheet.html Mozilla Thunderbird Tastaturkürzel] ([http://lesliefranke.com/files/reference/thunderbirdcheatsheet.pdf PDF]) ** [https://www.macupdate.com/app/mac/25152/xcuts xCuts] - [[Dashboard|Dashboard Widget]] zum Nachschlagen von Mac OS X Tastaturkürzeln ** [https://pqrs.org/osx/karabiner/ Karabiner] zum Umbelegen von Tasten ==Fußnoten== <references /> b77f6b237dca416327fdfe6700b78a631d7bd98b Main Page 0 1 109 86 2023-03-06T10:41:26Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. I took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. Have fun! [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) [[Image:W21-1a.svg|128px|right]] '''Stuff in here:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |} '''Quickies:''' {| |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |} '''Stuff out there:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |} '''Apple Services - System Status:''' {| |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} <!-- '''See also:''' {| |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] |} ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> b274605cabc2563e7fc1fcd63d6ce4a77761841c 110 109 2023-03-06T10:44:23Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. I took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. Have fun! [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) [[Image:W21-1a.svg|128px|right]] {| |-- | colspan="2" | '''Stuff in here:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" style="padding-top:10px;" | '''Quickies:''' |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="2" style="padding-top:10px;" | '''Stuff out there:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="2" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} <!-- '''See also:''' {| |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] |} ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> d83ac6b2e2744f2093415ac766122d1c366b5df8 111 110 2023-03-06T10:45:46Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. I took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. Have fun! [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) [[Image:W21-1a.svg|128px|right]] {| |-- | colspan="3" | '''Stuff in here:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="3" style="padding-top:10px;" | '''Quickies:''' |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''Stuff out there:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] <!-- |-- | colspan="3" style="padding-top:10px;" | '''See also:''' |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] --> |} <!-- ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> 75a36c19154b5a58e742d47d6c571bf582e9b197 112 111 2023-03-06T10:46:07Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. I took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. Have fun! [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) [[Image:W21-1a.svg|128px|right]] {| |-- | colspan="3" | '''Stuff in here:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="3" style="padding-top:10px;" | '''Quickies:''' |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''Stuff out there:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] <!-- |-- | colspan="3" style="padding-top:10px;" | '''See also:''' |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] --> |} <!-- ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> faa15e4226b200ef95efa06dfeb2efd5757cea03 114 112 2023-03-06T10:51:44Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. I took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. Have fun! [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) [[Image:W21-1a.svg|128px|right]] {| |-- | colspan="3" | '''Stuff in here:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''Stuff out there:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] <!-- |-- | colspan="3" style="padding-top:10px;" | '''See also:''' |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] --> |} <!-- ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> 278eccfa043b252ed511ffe12ccc445cb248bce5 124 114 2023-03-06T12:05:04Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. Have fun! [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) [[Image:W21-1a.svg|128px|right]] {| |-- | colspan="3" | '''Stuff in here:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''Stuff out there:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] <!-- |-- | colspan="3" style="padding-top:10px;" | '''See also:''' |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] --> |} <!-- ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> 3b840116935fbbb3a41286544deaabd32caa134f 142 124 2023-03-06T14:57:02Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. Have fun! [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) [[Image:W21-1a.svg|128px|right]] {| |-- | colspan="3" | '''Stuff in here:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''Stuff out there:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Ampel liegend.svg|32px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Ampel liegend.svg|32px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] <!-- |-- | colspan="3" style="padding-top:10px;" | '''See also:''' |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] --> |} <!-- ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> 86ba1c9d994156b20a56a06a9caf4a8e286777f0 143 142 2023-03-06T14:58:19Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. Have fun! [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) [[Image:W21-1a.svg|128px|right]] {| |-- | colspan="3" | '''Stuff in here:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|16px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''Stuff out there:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|16px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|16px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|32px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|32px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] <!-- |-- | colspan="3" style="padding-top:10px;" | '''See also:''' |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] --> |} <!-- ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> 6c0b5de9f8d0ed844f11542b4d3465916d8eae3d 144 143 2023-03-06T15:02:54Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. Have fun! [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) [[Image:W21-1a.svg|128px|right]] {| |-- | colspan="3" | '''Stuff in here:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|24px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''Stuff out there:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|18px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|18px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] <!-- |-- | colspan="3" style="padding-top:10px;" | '''See also:''' |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] --> |} <!-- ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> d3fea0d8434a04c78ed1d91b68b0c6fe25343ddf 145 144 2023-03-06T15:04:31Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) [[Image:W21-1a.svg|128px|right]] {| |-- | colspan="3" | '''Stuff in here:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|24px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''Stuff out there:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|18px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|18px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] <!-- |-- | colspan="3" style="padding-top:10px;" | '''See also:''' |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] --> |} <!-- ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> 458b3f22852c2040df55a070ba6f3e9ff53f5e2d 146 145 2023-03-06T15:06:02Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) <hr style="margin:20px 0px; /> [[Image:W21-1a.svg|128px|right]] {| |-- | colspan="3" | '''Stuff in here:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|24px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''Stuff out there:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|18px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|18px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] <!-- |-- | colspan="3" style="padding-top:10px;" | '''See also:''' |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] --> |} <!-- ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> b68ae26d8175fe6f33ac9ba6b97eae95a7a55a0c 147 146 2023-03-06T15:06:46Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) <hr style="margin:20px 0px; /> [[Image:W21-1a.svg|128px|right]] {| |-- | colspan="3" | '''Important articles:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|24px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''External resources:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|18px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|18px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] <!-- |-- | colspan="3" style="padding-top:10px;" | '''See also:''' |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] --> |} <!-- ---- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> 14f3b35d97c552089bfeccdcaff09fc39f09df18 Open Source Anwendungen 0 36 113 2023-03-06T10:46:34Z Hagbard 2 Created page with "'''coming soon'''" wikitext text/x-wiki '''coming soon''' 052a486052778b90ac2ba6f19d8e3dd3144769ec macwrench:General disclaimer 4 37 115 2023-03-06T11:36:18Z Hagbard 2 Created page with "[[Main_Page|macwrench]] ist eine freie Sammlung von Informationen, Hilfestellungen und Artikeln rund um die Mac-Plattform, deren Inhalte unter einer [http://creativecommons.org/licenses/by-nc-sa/2.5/deed.de Creative Commons License] im Internet unter der Adresse [https://macwrench.miraheze.org/ macwrench.miraheze.org] erreichbar sind. ==Verantwortlichkeit== Die als ''Administrator'', ''Bürokrat'' oder ''Sysop'' bezeichneten Benutzer von [[Main_Page|macwrench]] sind kei..." wikitext text/x-wiki [[Main_Page|macwrench]] ist eine freie Sammlung von Informationen, Hilfestellungen und Artikeln rund um die Mac-Plattform, deren Inhalte unter einer [http://creativecommons.org/licenses/by-nc-sa/2.5/deed.de Creative Commons License] im Internet unter der Adresse [https://macwrench.miraheze.org/ macwrench.miraheze.org] erreichbar sind. ==Verantwortlichkeit== Die als ''Administrator'', ''Bürokrat'' oder ''Sysop'' bezeichneten Benutzer von [[Main_Page|macwrench]] sind keine offiziellen Vertreter des Website-Anbieters, sondern lediglich Benutzer, denen weitergehende technische Möglichkeiten eingeräumt wurden. Diese Personen helfen in der Regel gern und schnell bei eventuellen Fragen oder Beanstandungen, sind jedoch nicht für diese Website verantwortlich. Im Rahmen der [[Macwrench:Copyrights|Lizenzbestimmungen]] finden für die Gewährleistung und Haftung die Ziffern 5 und 6 der zugrundeliegenden [http://creativecommons.org/licenses/by-nc-sa/2.5/legalcode Creative Commons License] Anwendung: '''5. Gewährleistung.''' Sofern dies von den Vertragsparteien nicht anderweitig schriftlich vereinbart, bietet der Lizenzgeber keine Gewährleistung für die erteilten Rechte, außer für den Fall, dass Mängel arglistig verschwiegen wurden. Für Mängel anderer Art, insbesondere bei der mangelhaften Lieferung von Verkörperungen des Schutzgegenstandes, richtet sich die Gewährleistung nach der Regelung, die die Person, die Ihnen den Schutzgegenstand zur Verfügung stellt, mit Ihnen außerhalb dieser Lizenz vereinbart, oder - wenn eine solche Regelung nicht getroffen wurde - nach den gesetzlichen Vorschriften. '''6. Haftung.''' Über die in Ziffer 5 genannte Gewährleistung hinaus haftet Ihnen der Lizenzgeber nur für Vorsatz und grobe Fahrlässigkeit. Jeder Benutzer ist für die von ihm erstellten Beiträge selbst in vollem Umfang inhaltlich verantwortlich. Praktisch jeder Inhalt kann durch jedermann verändert werden, eine Übersicht aller an einem Artikel beteiligter Benutzer ist über den Link "Versionen/Autoren" (in der Kopfzeile oberhalb des Artikels) erreichbar. Insbesondere können Werke, die unter dem Verdacht stehen, Urheberrechte oder Verwertungsrechte zu verletzen, unmittelbar ohne Rücksprache jederzeit korrigiert bzw. gelöscht werden. Einen Ausschluss einzelner Benutzer behält sich der Anbieter vor. Die Benutzer sind aufgerufen, alle Inhalte, die sie zu dieser Website beisteuern, nach bestem Wissen zu erstellen. Weder der Anbieter noch die einzelnen Benutzer erheben aber Anspruch auf Vollständigkeit, Aktualität, Qualität und Richtigkeit. Es kann deshalb keine Verantwortung für Schäden übernommen werden, die durch das Vertrauen auf die Inhalte dieser Website oder deren Gebrauch entstehen. ==Nutzungsbedingungen== Der Anbieter gestattet die Verwendung und Weitergabe der in [[Main_Page|macwrench]] enthaltenen Daten unter den Bedingungen einer [http://creativecommons.org/licenses/by-nc-sa/2.5/deed.de Creative Commons License], weitere Informationen dazu sind dem Artikel [[Macwrench:Copyrights|Lizenzbestimmungen]] zu entnehmen. ==Haftungsausschluss== Obwohl bei der Zusammenstellung der auf dieser Webseite enthaltenen Informationen und Programme größte Sorgfalt angewandt wurde, können wir nicht für deren Korrektheit garantieren. Die enthaltenen Angaben können ohne vorherige Ankündigung geändert werden. Wir gehen damit keinerlei Verpflichtungen ein. In keinem Fall können wir für etwaige Schäden irgendwelcher Art verantwortlich gemacht werden, die durch die Benutzung oder im Zusammenhang mit der Benutzung der hier bereitgestellten Informationen entstehen, seien es direkte oder indirekte Schäden, Folgeschäden oder Sonderschäden einschließlich entgangenen Gewinns, oder Schäden, die aus dem Verlust von Daten entstehen. Wir behalten uns Änderungen der Informationen auf diesem Server, die wir unverbindlich zur Verfügung stellen, ohne vorherige Ankündigung vor. ==Hinweis an Rechteinhaber== Der Website-Anbieter weist auf allen Eingabeseiten darauf hin, kein Material zu verwenden, das Urheberrechten Dritter unterliegt. Bei der sehr großen Zahl der in deutscher Sprache vorliegenden elektronischen und vor allem schriftlichen Publikationen kann er aber nicht ausschließen, dass von Benutzern dennoch Material eingebracht wird, das bestehende Schutzrechte verletzt, und das nicht sofort als solches erkannt wird. Wenn dem Anbieter eine entsprechende Urheberrechtsverletzung angezeigt wird, wird das betreffende Material umgehend vom Server genommen. Offizielle Ansprechpartner für solche Fälle sind die macwrench-[[Special:Listusers/sysop|Administratoren]]. Die Benachrichtigung sollte den betroffenen Inhalt in [[Main_Page|macwrench]] genau bezeichnen (bitte URL angeben) und auch Ihre Publikation oder Website nennen, aus der das Material unberechtigt übernommen wurde. ===Geschützte Markenzeichen=== Apple, das Apple Logo, Mac, Mac OS, Macintosh, iTunes und iPod sind eingetragene Warenzeichen oder Warenzeichen von [http://www.apple.com Apple, Inc.] und werden unter "fair use" Richtlinien verwendet. Eine vollständige Liste der von Apple geschützten Markennamen ist [http://www.apple.com/legal/trademark/appletmlist.html hier zu finden] (www.apple.com). Die auf diesen Seiten sowie in den zur Verfügung gestellten Dokumenten auftretenden Produkt- und Firmennamen dienen ausschließlich Identifikationszwecken und sind Eigentum ihrer jeweiligen Besitzer und Markeninhaber. ==Daten von externen Quellen== Auf einigen Seiten von [[Main_Page|macwrench]] existieren Informationen, die über von Dritten zu diesem Zweck bereitgestellte Feeds eingebunden werden - beispielsweise die aktuellsten Apple Updates auf der [[Main_Page|Hauptseite]]. Diese Informationen sind mit einer Quellenangabe versehen. Für diese Inhalte gelten die folgenden Haftungshinweise: * Der Anbieter - also [[Main_Page|macwrench]] - macht sich diese Inhalte nicht zu eigen * Die Daten unterliegen der entsprechenden Lizenz sowie den Urheberrechten derjenigen, die diese Daten zur Verfügung stellen * Der Anbieter kann nicht für deren Korrektheit und Vollständigkeit garantieren, obgleich die Quellen sorgfältig anhand ihrer Glaubwürdigkeit ausgewählt wurden * Infolgedessen kann der Anbieter auch nicht für eventuelle daraus resultierende Schäden haften, die durch die Benutzung oder im Zusammenhang mit der Benutzung dieser Informationen entstehen, seien es direkte oder indirekte Schäden, Folgeschäden oder Sonderschäden einschließlich entgangenen Gewinns, oder Schäden, die aus dem Verlust von Daten entstehen. Bei Fragen und Beanstandungen zu sowie Problemen mit diesen Informationen ist gegebenenfalls einer der [[Special:Listusers/sysop|Administratoren]] zu informieren. ===Aktualität=== Die genannten Informationen werden üblicherweise im Abstand von 4 Stunden fortlaufend aktualisiert. Dies erfolgt ausschließlich aus Gründen der Geschwindigkeit für die Darstellung auf der Seite und ist nicht auf irgendeine Art von Bewertung der Quellen oder auf eine gezielte Auswahl der Informationen zurückzuführen. Aus technischen und optischen Gründen kann es dabei durchaus sein, dass nicht alle Einträge eines eingebundenen Nachrichten-Tickers präsentiert werden - dies ist - abhängig vom Umfang der Quellen - alleine durch die Menge vorhandener Informationen nicht immer realisierbar. Aus diesem Grund wird die Anzahl der Einträge auf einen festen Betrag eingeschränkt, derzeit auf 10. Dabei werden also immer die 10 neuesten Einträge einer so eingebundenen Nachrichtenquelle dargestellt. Wir behalten uns die Variation dieses Wertes jederzeit und ohne Ankündigung vor.<br />Im Rahmen dessen werden aber in keinster Form wissentlich Änderungen an den Nutzdaten vorgenommen.<br />Es kann jedoch durchaus vorkommen, dass die Informationen aus technischen Gründen nicht aktualisiert oder nicht korrekt dargestellt werden - beispielsweise durch Softwarefehlfunktionen, Umstellungen in Zeichensätzen oder syntaktischen Fehlern im Quellmaterial begründet. In solchen Fällen sind die Fehlfunktionen einem der [[Special:Listusers/sysop|Administratoren]] mitzuteilen, damit der Fehler entsprechend behoben werden kann. b779b0bffc0c9796d6989498c3d63eff1d621675 116 115 2023-03-06T11:47:22Z Hagbard 2 wikitext text/x-wiki [[Main_Page|macwrench]] ist eine freie Sammlung von Informationen, Hilfestellungen und Artikeln rund um die Mac-Plattform, deren Inhalte unter einer [http://creativecommons.org/licenses/by-sa/4.0/deed.de Creative Commons License] im Internet unter der Adresse [https://macwrench.miraheze.org/ macwrench.miraheze.org] erreichbar sind. ==Verantwortlichkeit== Die als ''Administrator'', ''Bürokrat'' oder ''Sysop'' bezeichneten Benutzer von [[Main_Page|macwrench]] sind keine offiziellen Vertreter des Website-Anbieters, sondern lediglich Benutzer, denen weitergehende technische Möglichkeiten eingeräumt wurden. Diese Personen helfen in der Regel gern und schnell bei eventuellen Fragen oder Beanstandungen, sind jedoch nicht für diese Website verantwortlich. Im Rahmen der [[Macwrench:Copyrights|Lizenzbestimmungen]] finden für die Gewährleistung und Haftung die Ziffern 5 und 6 der zugrundeliegenden [http://creativecommons.org/licenses/by-sa/4.0/legalcode Creative Commons License] Anwendung: '''5. Gewährleistung.''' Sofern dies von den Vertragsparteien nicht anderweitig schriftlich vereinbart, bietet der Lizenzgeber keine Gewährleistung für die erteilten Rechte, außer für den Fall, dass Mängel arglistig verschwiegen wurden. Für Mängel anderer Art, insbesondere bei der mangelhaften Lieferung von Verkörperungen des Schutzgegenstandes, richtet sich die Gewährleistung nach der Regelung, die die Person, die Ihnen den Schutzgegenstand zur Verfügung stellt, mit Ihnen außerhalb dieser Lizenz vereinbart, oder - wenn eine solche Regelung nicht getroffen wurde - nach den gesetzlichen Vorschriften. '''6. Haftung.''' Über die in Ziffer 5 genannte Gewährleistung hinaus haftet Ihnen der Lizenzgeber nur für Vorsatz und grobe Fahrlässigkeit. Jeder Benutzer ist für die von ihm erstellten Beiträge selbst in vollem Umfang inhaltlich verantwortlich. Praktisch jeder Inhalt kann durch jedermann verändert werden, eine Übersicht aller an einem Artikel beteiligter Benutzer ist über den Link "Versionen/Autoren" (in der Kopfzeile oberhalb des Artikels) erreichbar. Insbesondere können Werke, die unter dem Verdacht stehen, Urheberrechte oder Verwertungsrechte zu verletzen, unmittelbar ohne Rücksprache jederzeit korrigiert bzw. gelöscht werden. Einen Ausschluss einzelner Benutzer behält sich der Anbieter vor. Die Benutzer sind aufgerufen, alle Inhalte, die sie zu dieser Website beisteuern, nach bestem Wissen zu erstellen. Weder der Anbieter noch die einzelnen Benutzer erheben aber Anspruch auf Vollständigkeit, Aktualität, Qualität und Richtigkeit. Es kann deshalb keine Verantwortung für Schäden übernommen werden, die durch das Vertrauen auf die Inhalte dieser Website oder deren Gebrauch entstehen. ==Nutzungsbedingungen== Der Anbieter gestattet die Verwendung und Weitergabe der in [[Main_Page|macwrench]] enthaltenen Daten unter den Bedingungen einer [http://creativecommons.org/licenses/by-sa/4.0/deed.de Creative Commons License], weitere Informationen dazu sind dem Artikel [[Macwrench:Copyrights|Lizenzbestimmungen]] zu entnehmen. ==Haftungsausschluss== Obwohl bei der Zusammenstellung der auf dieser Webseite enthaltenen Informationen und Programme größte Sorgfalt angewandt wurde, können wir nicht für deren Korrektheit garantieren. Die enthaltenen Angaben können ohne vorherige Ankündigung geändert werden. Wir gehen damit keinerlei Verpflichtungen ein. In keinem Fall können wir für etwaige Schäden irgendwelcher Art verantwortlich gemacht werden, die durch die Benutzung oder im Zusammenhang mit der Benutzung der hier bereitgestellten Informationen entstehen, seien es direkte oder indirekte Schäden, Folgeschäden oder Sonderschäden einschließlich entgangenen Gewinns, oder Schäden, die aus dem Verlust von Daten entstehen. Wir behalten uns Änderungen der Informationen auf diesem Server, die wir unverbindlich zur Verfügung stellen, ohne vorherige Ankündigung vor. ==Hinweis an Rechteinhaber== Der Website-Anbieter weist auf allen Eingabeseiten darauf hin, kein Material zu verwenden, das Urheberrechten Dritter unterliegt. Bei der sehr großen Zahl der in deutscher Sprache vorliegenden elektronischen und vor allem schriftlichen Publikationen kann er aber nicht ausschließen, dass von Benutzern dennoch Material eingebracht wird, das bestehende Schutzrechte verletzt, und das nicht sofort als solches erkannt wird. Wenn dem Anbieter eine entsprechende Urheberrechtsverletzung angezeigt wird, wird das betreffende Material umgehend vom Server genommen. Offizielle Ansprechpartner für solche Fälle sind die macwrench-[[Special:Listusers/sysop|Administratoren]]. Die Benachrichtigung sollte den betroffenen Inhalt in [[Main_Page|macwrench]] genau bezeichnen (bitte URL angeben) und auch Ihre Publikation oder Website nennen, aus der das Material unberechtigt übernommen wurde. ===Geschützte Markenzeichen=== Apple, das Apple Logo, Mac, Mac OS, Macintosh, iTunes und iPod sind eingetragene Warenzeichen oder Warenzeichen von [http://www.apple.com Apple, Inc.] und werden unter "fair use" Richtlinien verwendet. Eine vollständige Liste der von Apple geschützten Markennamen ist [http://www.apple.com/legal/trademark/appletmlist.html hier zu finden] (www.apple.com). Die auf diesen Seiten sowie in den zur Verfügung gestellten Dokumenten auftretenden Produkt- und Firmennamen dienen ausschließlich Identifikationszwecken und sind Eigentum ihrer jeweiligen Besitzer und Markeninhaber. ==Daten von externen Quellen== Auf einigen Seiten von [[Main_Page|macwrench]] existieren Informationen, die über von Dritten zu diesem Zweck bereitgestellte Feeds eingebunden werden - beispielsweise die aktuellsten Apple Updates auf der [[Main_Page|Hauptseite]]. Diese Informationen sind mit einer Quellenangabe versehen. Für diese Inhalte gelten die folgenden Haftungshinweise: * Der Anbieter - also [[Main_Page|macwrench]] - macht sich diese Inhalte nicht zu eigen * Die Daten unterliegen der entsprechenden Lizenz sowie den Urheberrechten derjenigen, die diese Daten zur Verfügung stellen * Der Anbieter kann nicht für deren Korrektheit und Vollständigkeit garantieren, obgleich die Quellen sorgfältig anhand ihrer Glaubwürdigkeit ausgewählt wurden * Infolgedessen kann der Anbieter auch nicht für eventuelle daraus resultierende Schäden haften, die durch die Benutzung oder im Zusammenhang mit der Benutzung dieser Informationen entstehen, seien es direkte oder indirekte Schäden, Folgeschäden oder Sonderschäden einschließlich entgangenen Gewinns, oder Schäden, die aus dem Verlust von Daten entstehen. Bei Fragen und Beanstandungen zu sowie Problemen mit diesen Informationen ist gegebenenfalls einer der [[Special:Listusers/sysop|Administratoren]] zu informieren. ===Aktualität=== Die genannten Informationen werden üblicherweise im Abstand von 4 Stunden fortlaufend aktualisiert. Dies erfolgt ausschließlich aus Gründen der Geschwindigkeit für die Darstellung auf der Seite und ist nicht auf irgendeine Art von Bewertung der Quellen oder auf eine gezielte Auswahl der Informationen zurückzuführen. Aus technischen und optischen Gründen kann es dabei durchaus sein, dass nicht alle Einträge eines eingebundenen Nachrichten-Tickers präsentiert werden - dies ist - abhängig vom Umfang der Quellen - alleine durch die Menge vorhandener Informationen nicht immer realisierbar. Aus diesem Grund wird die Anzahl der Einträge auf einen festen Betrag eingeschränkt, derzeit auf 10. Dabei werden also immer die 10 neuesten Einträge einer so eingebundenen Nachrichtenquelle dargestellt. Wir behalten uns die Variation dieses Wertes jederzeit und ohne Ankündigung vor.<br />Im Rahmen dessen werden aber in keinster Form wissentlich Änderungen an den Nutzdaten vorgenommen.<br />Es kann jedoch durchaus vorkommen, dass die Informationen aus technischen Gründen nicht aktualisiert oder nicht korrekt dargestellt werden - beispielsweise durch Softwarefehlfunktionen, Umstellungen in Zeichensätzen oder syntaktischen Fehlern im Quellmaterial begründet. In solchen Fällen sind die Fehlfunktionen einem der [[Special:Listusers/sysop|Administratoren]] mitzuteilen, damit der Fehler entsprechend behoben werden kann. 3e31477027e2f37e077072e2ecd34b86795496b5 119 116 2023-03-06T11:59:31Z Hagbard 2 wikitext text/x-wiki [[Main_Page|macwrench]] ist eine freie Sammlung von Informationen, Hilfestellungen und Artikeln rund um die Mac-Plattform, deren Inhalte unter einer [http://creativecommons.org/licenses/by-sa/4.0/deed.de Creative Commons License] im Internet unter der Adresse [https://macwrench.miraheze.org/ macwrench.miraheze.org] erreichbar sind. [[Main_Page|macwrench]] is a free collection of information, help and articles related to the Mac platform, the content of which is available under a [http://creativecommons.org/licenses/by-sa/4.0/deed.de Creative Commons License] on the Internet at [https://macwrench.miraheze.org/ macwrench.miraheze.org]. ==Responsibility== The macwrench users referred to as '''administrators''', '''bureaucrats''', or '''sysops''' are not official representatives of the website provider, but are merely users who have been granted more advanced technical capabilities. These individuals are usually happy to help quickly with any questions or complaints, but are not responsible for this website. Within the scope of the [[Macwrench:Copyrights|license terms]], sections 5 and 6 of the underlying Creative Commons License apply to warranty and liability: '''Section 5 – Disclaimer of Warranties and Limitation of Liability.''' a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. Virtually any content can be changed by anyone; an overview of all users involved in an article can be accessed via the "Versions/Authors" link (in the header above the article). In particular, works that are suspected of violating copyrights or exploitation rights can be corrected or deleted immediately without consultation at any time. The provider reserves the right to exclude individual users. Users are called upon to create all content they contribute to this website to the best of their knowledge. However, neither the provider nor the individual users claim completeness, timeliness, quality and accuracy. Therefore, no responsibility can be accepted for any damage resulting from reliance on or use of the content of this website. ==Terms of use== The provider allows the use and distribution of the data contained in macwrench under the terms of a Creative Commons License, for more information see the article [[Macwrench:Copyrights|License Terms]]. ==Disclaimer== Although the greatest care has been taken in compiling the information and programs contained on this website, we cannot guarantee their accuracy. The information contained may be changed without prior notice. We do not enter into any obligations with it. In no event shall we be liable for any damages of any kind arising out of or in connection with the use of the information provided herein, whether direct, indirect, consequential, or special damages, including lost profits, or damages resulting from lost data. We reserve the right to make changes to the information on this server, which we provide without obligation, without prior notice. ==Notice to rights holders== The website provider points out on all input pages not to use any material that is subject to copyrights of third parties. However, given the very large number of electronic and, above all, written publications available in German, it cannot rule out the possibility that users may nevertheless submit material that infringes existing intellectual property rights and that is not immediately recognized as such. If the provider is notified of a corresponding copyright infringement, the material in question will be removed from the server immediately. The official contact persons for such cases are the macwrench [[Special:Listusers/sysop|administrators]]. The notification should accurately identify the affected content in |macwrench (please include URL) and also name your publication or website from which the material was unauthorizedly taken. ===Protected trademarks=== Apple, the Apple logo, Mac, Mac OS, Macintosh, iTunes and iPod are registered trademarks or trademarks of [http://www.apple.com Apple, Inc.] and are used under "fair use" guidelines. A complete list of Apple's trademarked brand names [http://www.apple.com/legal/trademark/appletmlist.html can be found here] (www.apple.com). The product and company names appearing on these pages and in the documents provided are for identification purposes only and are the property of their respective owners and trademark holders. ==Data from external sources== Auf einigen Seiten von [[Main_Page|macwrench]] existieren Informationen, die über von Dritten zu diesem Zweck bereitgestellte Feeds eingebunden werden - beispielsweise die aktuellsten Apple Updates auf der [[Main_Page|Hauptseite]]. Diese Informationen sind mit einer Quellenangabe versehen. Für diese Inhalte gelten die folgenden Haftungshinweise: * Der Anbieter - also [[Main_Page|macwrench]] - macht sich diese Inhalte nicht zu eigen * Die Daten unterliegen der entsprechenden Lizenz sowie den Urheberrechten derjenigen, die diese Daten zur Verfügung stellen * Der Anbieter kann nicht für deren Korrektheit und Vollständigkeit garantieren, obgleich die Quellen sorgfältig anhand ihrer Glaubwürdigkeit ausgewählt wurden * Infolgedessen kann der Anbieter auch nicht für eventuelle daraus resultierende Schäden haften, die durch die Benutzung oder im Zusammenhang mit der Benutzung dieser Informationen entstehen, seien es direkte oder indirekte Schäden, Folgeschäden oder Sonderschäden einschließlich entgangenen Gewinns, oder Schäden, die aus dem Verlust von Daten entstehen. Bei Fragen und Beanstandungen zu sowie Problemen mit diesen Informationen ist gegebenenfalls einer der [[Special:Listusers/sysop|Administratoren]] zu informieren. ===Aktualität=== Die genannten Informationen werden üblicherweise im Abstand von 4 Stunden fortlaufend aktualisiert. Dies erfolgt ausschließlich aus Gründen der Geschwindigkeit für die Darstellung auf der Seite und ist nicht auf irgendeine Art von Bewertung der Quellen oder auf eine gezielte Auswahl der Informationen zurückzuführen. Aus technischen und optischen Gründen kann es dabei durchaus sein, dass nicht alle Einträge eines eingebundenen Nachrichten-Tickers präsentiert werden - dies ist - abhängig vom Umfang der Quellen - alleine durch die Menge vorhandener Informationen nicht immer realisierbar. Aus diesem Grund wird die Anzahl der Einträge auf einen festen Betrag eingeschränkt, derzeit auf 10. Dabei werden also immer die 10 neuesten Einträge einer so eingebundenen Nachrichtenquelle dargestellt. Wir behalten uns die Variation dieses Wertes jederzeit und ohne Ankündigung vor.<br />Im Rahmen dessen werden aber in keinster Form wissentlich Änderungen an den Nutzdaten vorgenommen.<br />Es kann jedoch durchaus vorkommen, dass die Informationen aus technischen Gründen nicht aktualisiert oder nicht korrekt dargestellt werden - beispielsweise durch Softwarefehlfunktionen, Umstellungen in Zeichensätzen oder syntaktischen Fehlern im Quellmaterial begründet. In solchen Fällen sind die Fehlfunktionen einem der [[Special:Listusers/sysop|Administratoren]] mitzuteilen, damit der Fehler entsprechend behoben werden kann. fdc11259d9b16e692313d078ea18073723ea0656 120 119 2023-03-06T11:59:48Z Hagbard 2 /* Notice to rights holders */ wikitext text/x-wiki [[Main_Page|macwrench]] ist eine freie Sammlung von Informationen, Hilfestellungen und Artikeln rund um die Mac-Plattform, deren Inhalte unter einer [http://creativecommons.org/licenses/by-sa/4.0/deed.de Creative Commons License] im Internet unter der Adresse [https://macwrench.miraheze.org/ macwrench.miraheze.org] erreichbar sind. [[Main_Page|macwrench]] is a free collection of information, help and articles related to the Mac platform, the content of which is available under a [http://creativecommons.org/licenses/by-sa/4.0/deed.de Creative Commons License] on the Internet at [https://macwrench.miraheze.org/ macwrench.miraheze.org]. ==Responsibility== The macwrench users referred to as '''administrators''', '''bureaucrats''', or '''sysops''' are not official representatives of the website provider, but are merely users who have been granted more advanced technical capabilities. These individuals are usually happy to help quickly with any questions or complaints, but are not responsible for this website. Within the scope of the [[Macwrench:Copyrights|license terms]], sections 5 and 6 of the underlying Creative Commons License apply to warranty and liability: '''Section 5 – Disclaimer of Warranties and Limitation of Liability.''' a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. Virtually any content can be changed by anyone; an overview of all users involved in an article can be accessed via the "Versions/Authors" link (in the header above the article). In particular, works that are suspected of violating copyrights or exploitation rights can be corrected or deleted immediately without consultation at any time. The provider reserves the right to exclude individual users. Users are called upon to create all content they contribute to this website to the best of their knowledge. However, neither the provider nor the individual users claim completeness, timeliness, quality and accuracy. Therefore, no responsibility can be accepted for any damage resulting from reliance on or use of the content of this website. ==Terms of use== The provider allows the use and distribution of the data contained in macwrench under the terms of a Creative Commons License, for more information see the article [[Macwrench:Copyrights|License Terms]]. ==Disclaimer== Although the greatest care has been taken in compiling the information and programs contained on this website, we cannot guarantee their accuracy. The information contained may be changed without prior notice. We do not enter into any obligations with it. In no event shall we be liable for any damages of any kind arising out of or in connection with the use of the information provided herein, whether direct, indirect, consequential, or special damages, including lost profits, or damages resulting from lost data. We reserve the right to make changes to the information on this server, which we provide without obligation, without prior notice. ==Notice to rights holders== The website provider points out on all input pages not to use any material that is subject to copyrights of third parties. However, given the very large number of electronic and, above all, written publications available in German, it cannot rule out the possibility that users may nevertheless submit material that infringes existing intellectual property rights and that is not immediately recognized as such. If the provider is notified of a corresponding copyright infringement, the material in question will be removed from the server immediately. The official contact persons for such cases are the macwrench [[Special:Listusers/sysop|administrators]]. The notification should accurately identify the affected content in |macwrench (please include URL) and also name your publication or website from which the material was unauthorizedly taken. ===Protected trademarks=== Apple, the Apple logo, Mac, Mac OS, Macintosh, iTunes and iPod are registered trademarks or trademarks of [http://www.apple.com Apple, Inc.] and are used under "fair use" guidelines. A complete list of Apple's trademarked brand names [http://www.apple.com/legal/trademark/appletmlist.html can be found here] (www.apple.com). The product and company names appearing on these pages and in the documents provided are for identification purposes only and are the property of their respective owners and trademark holders. ==Data from external sources== Auf einigen Seiten von [[Main_Page|macwrench]] existieren Informationen, die über von Dritten zu diesem Zweck bereitgestellte Feeds eingebunden werden - beispielsweise die aktuellsten Apple Updates auf der [[Main_Page|Hauptseite]]. Diese Informationen sind mit einer Quellenangabe versehen. Für diese Inhalte gelten die folgenden Haftungshinweise: * Der Anbieter - also [[Main_Page|macwrench]] - macht sich diese Inhalte nicht zu eigen * Die Daten unterliegen der entsprechenden Lizenz sowie den Urheberrechten derjenigen, die diese Daten zur Verfügung stellen * Der Anbieter kann nicht für deren Korrektheit und Vollständigkeit garantieren, obgleich die Quellen sorgfältig anhand ihrer Glaubwürdigkeit ausgewählt wurden * Infolgedessen kann der Anbieter auch nicht für eventuelle daraus resultierende Schäden haften, die durch die Benutzung oder im Zusammenhang mit der Benutzung dieser Informationen entstehen, seien es direkte oder indirekte Schäden, Folgeschäden oder Sonderschäden einschließlich entgangenen Gewinns, oder Schäden, die aus dem Verlust von Daten entstehen. Bei Fragen und Beanstandungen zu sowie Problemen mit diesen Informationen ist gegebenenfalls einer der [[Special:Listusers/sysop|Administratoren]] zu informieren. ===Aktualität=== Die genannten Informationen werden üblicherweise im Abstand von 4 Stunden fortlaufend aktualisiert. Dies erfolgt ausschließlich aus Gründen der Geschwindigkeit für die Darstellung auf der Seite und ist nicht auf irgendeine Art von Bewertung der Quellen oder auf eine gezielte Auswahl der Informationen zurückzuführen. Aus technischen und optischen Gründen kann es dabei durchaus sein, dass nicht alle Einträge eines eingebundenen Nachrichten-Tickers präsentiert werden - dies ist - abhängig vom Umfang der Quellen - alleine durch die Menge vorhandener Informationen nicht immer realisierbar. Aus diesem Grund wird die Anzahl der Einträge auf einen festen Betrag eingeschränkt, derzeit auf 10. Dabei werden also immer die 10 neuesten Einträge einer so eingebundenen Nachrichtenquelle dargestellt. Wir behalten uns die Variation dieses Wertes jederzeit und ohne Ankündigung vor.<br />Im Rahmen dessen werden aber in keinster Form wissentlich Änderungen an den Nutzdaten vorgenommen.<br />Es kann jedoch durchaus vorkommen, dass die Informationen aus technischen Gründen nicht aktualisiert oder nicht korrekt dargestellt werden - beispielsweise durch Softwarefehlfunktionen, Umstellungen in Zeichensätzen oder syntaktischen Fehlern im Quellmaterial begründet. In solchen Fällen sind die Fehlfunktionen einem der [[Special:Listusers/sysop|Administratoren]] mitzuteilen, damit der Fehler entsprechend behoben werden kann. ceea54bdefa885d19dd271d2436cbe7b4684cc3a 121 120 2023-03-06T12:01:52Z Hagbard 2 /* Data from external sources */ wikitext text/x-wiki [[Main_Page|macwrench]] ist eine freie Sammlung von Informationen, Hilfestellungen und Artikeln rund um die Mac-Plattform, deren Inhalte unter einer [http://creativecommons.org/licenses/by-sa/4.0/deed.de Creative Commons License] im Internet unter der Adresse [https://macwrench.miraheze.org/ macwrench.miraheze.org] erreichbar sind. [[Main_Page|macwrench]] is a free collection of information, help and articles related to the Mac platform, the content of which is available under a [http://creativecommons.org/licenses/by-sa/4.0/deed.de Creative Commons License] on the Internet at [https://macwrench.miraheze.org/ macwrench.miraheze.org]. ==Responsibility== The macwrench users referred to as '''administrators''', '''bureaucrats''', or '''sysops''' are not official representatives of the website provider, but are merely users who have been granted more advanced technical capabilities. These individuals are usually happy to help quickly with any questions or complaints, but are not responsible for this website. Within the scope of the [[Macwrench:Copyrights|license terms]], sections 5 and 6 of the underlying Creative Commons License apply to warranty and liability: '''Section 5 – Disclaimer of Warranties and Limitation of Liability.''' a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. Virtually any content can be changed by anyone; an overview of all users involved in an article can be accessed via the "Versions/Authors" link (in the header above the article). In particular, works that are suspected of violating copyrights or exploitation rights can be corrected or deleted immediately without consultation at any time. The provider reserves the right to exclude individual users. Users are called upon to create all content they contribute to this website to the best of their knowledge. However, neither the provider nor the individual users claim completeness, timeliness, quality and accuracy. Therefore, no responsibility can be accepted for any damage resulting from reliance on or use of the content of this website. ==Terms of use== The provider allows the use and distribution of the data contained in macwrench under the terms of a Creative Commons License, for more information see the article [[Macwrench:Copyrights|License Terms]]. ==Disclaimer== Although the greatest care has been taken in compiling the information and programs contained on this website, we cannot guarantee their accuracy. The information contained may be changed without prior notice. We do not enter into any obligations with it. In no event shall we be liable for any damages of any kind arising out of or in connection with the use of the information provided herein, whether direct, indirect, consequential, or special damages, including lost profits, or damages resulting from lost data. We reserve the right to make changes to the information on this server, which we provide without obligation, without prior notice. ==Notice to rights holders== The website provider points out on all input pages not to use any material that is subject to copyrights of third parties. However, given the very large number of electronic and, above all, written publications available in German, it cannot rule out the possibility that users may nevertheless submit material that infringes existing intellectual property rights and that is not immediately recognized as such. If the provider is notified of a corresponding copyright infringement, the material in question will be removed from the server immediately. The official contact persons for such cases are the macwrench [[Special:Listusers/sysop|administrators]]. The notification should accurately identify the affected content in |macwrench (please include URL) and also name your publication or website from which the material was unauthorizedly taken. ===Protected trademarks=== Apple, the Apple logo, Mac, Mac OS, Macintosh, iTunes and iPod are registered trademarks or trademarks of [http://www.apple.com Apple, Inc.] and are used under "fair use" guidelines. A complete list of Apple's trademarked brand names [http://www.apple.com/legal/trademark/appletmlist.html can be found here] (www.apple.com). The product and company names appearing on these pages and in the documents provided are for identification purposes only and are the property of their respective owners and trademark holders. ==Data from external sources== On some macwrench pages, information exists that is incorporated via feeds provided by third parties for this purpose - for example, the latest Apple updates on the [[Main_Page|main page]]. This information is provided with an acknowledgement of the source. The following disclaimer applies to this content: * Der Anbieter - also [[Main_Page|macwrench]] - macht sich diese Inhalte nicht zu eigen * Die Daten unterliegen der entsprechenden Lizenz sowie den Urheberrechten derjenigen, die diese Daten zur Verfügung stellen * Der Anbieter kann nicht für deren Korrektheit und Vollständigkeit garantieren, obgleich die Quellen sorgfältig anhand ihrer Glaubwürdigkeit ausgewählt wurden * Infolgedessen kann der Anbieter auch nicht für eventuelle daraus resultierende Schäden haften, die durch die Benutzung oder im Zusammenhang mit der Benutzung dieser Informationen entstehen, seien es direkte oder indirekte Schäden, Folgeschäden oder Sonderschäden einschließlich entgangenen Gewinns, oder Schäden, die aus dem Verlust von Daten entstehen. Bei Fragen und Beanstandungen zu sowie Problemen mit diesen Informationen ist gegebenenfalls einer der [[Special:Listusers/sysop|Administratoren]] zu informieren. ===Up-to-dateness=== The above information is usually updated continuously at intervals of 4 hours. This is done exclusively for reasons of speed for the presentation on the page and is not due to any kind of evaluation of the sources or a targeted selection of the information. For technical and optical reasons, it is possible that not all entries of an integrated news ticker are presented - this is - depending on the scope of the sources - not always feasible due to the amount of available information alone. For this reason, the number of entries is limited to a fixed amount, currently to 10. Thus, always the 10 most recent entries of such an included news source are presented. We reserve the right to vary this value at any time and without notice. Within the scope of this, however, we do not knowingly make any changes to the user data. However, it is possible that the information is not updated or not displayed correctly for technical reasons - for example, due to software malfunctions, conversions in character sets or syntactical errors in the source material. In such cases, the malfunctions must be reported to one of the [[Special:Listusers/sysop|Administrators]] so that the error can be corrected accordingly. bd91ba1ccc0b25965e2159a08a6fdeaa448ba035 122 121 2023-03-06T12:02:53Z Hagbard 2 /* Data from external sources */ wikitext text/x-wiki [[Main_Page|macwrench]] ist eine freie Sammlung von Informationen, Hilfestellungen und Artikeln rund um die Mac-Plattform, deren Inhalte unter einer [http://creativecommons.org/licenses/by-sa/4.0/deed.de Creative Commons License] im Internet unter der Adresse [https://macwrench.miraheze.org/ macwrench.miraheze.org] erreichbar sind. [[Main_Page|macwrench]] is a free collection of information, help and articles related to the Mac platform, the content of which is available under a [http://creativecommons.org/licenses/by-sa/4.0/deed.de Creative Commons License] on the Internet at [https://macwrench.miraheze.org/ macwrench.miraheze.org]. ==Responsibility== The macwrench users referred to as '''administrators''', '''bureaucrats''', or '''sysops''' are not official representatives of the website provider, but are merely users who have been granted more advanced technical capabilities. These individuals are usually happy to help quickly with any questions or complaints, but are not responsible for this website. Within the scope of the [[Macwrench:Copyrights|license terms]], sections 5 and 6 of the underlying Creative Commons License apply to warranty and liability: '''Section 5 – Disclaimer of Warranties and Limitation of Liability.''' a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. Virtually any content can be changed by anyone; an overview of all users involved in an article can be accessed via the "Versions/Authors" link (in the header above the article). In particular, works that are suspected of violating copyrights or exploitation rights can be corrected or deleted immediately without consultation at any time. The provider reserves the right to exclude individual users. Users are called upon to create all content they contribute to this website to the best of their knowledge. However, neither the provider nor the individual users claim completeness, timeliness, quality and accuracy. Therefore, no responsibility can be accepted for any damage resulting from reliance on or use of the content of this website. ==Terms of use== The provider allows the use and distribution of the data contained in macwrench under the terms of a Creative Commons License, for more information see the article [[Macwrench:Copyrights|License Terms]]. ==Disclaimer== Although the greatest care has been taken in compiling the information and programs contained on this website, we cannot guarantee their accuracy. The information contained may be changed without prior notice. We do not enter into any obligations with it. In no event shall we be liable for any damages of any kind arising out of or in connection with the use of the information provided herein, whether direct, indirect, consequential, or special damages, including lost profits, or damages resulting from lost data. We reserve the right to make changes to the information on this server, which we provide without obligation, without prior notice. ==Notice to rights holders== The website provider points out on all input pages not to use any material that is subject to copyrights of third parties. However, given the very large number of electronic and, above all, written publications available in German, it cannot rule out the possibility that users may nevertheless submit material that infringes existing intellectual property rights and that is not immediately recognized as such. If the provider is notified of a corresponding copyright infringement, the material in question will be removed from the server immediately. The official contact persons for such cases are the macwrench [[Special:Listusers/sysop|administrators]]. The notification should accurately identify the affected content in |macwrench (please include URL) and also name your publication or website from which the material was unauthorizedly taken. ===Protected trademarks=== Apple, the Apple logo, Mac, Mac OS, Macintosh, iTunes and iPod are registered trademarks or trademarks of [http://www.apple.com Apple, Inc.] and are used under "fair use" guidelines. A complete list of Apple's trademarked brand names [http://www.apple.com/legal/trademark/appletmlist.html can be found here] (www.apple.com). The product and company names appearing on these pages and in the documents provided are for identification purposes only and are the property of their respective owners and trademark holders. ==Data from external sources== On some macwrench pages, information exists that is incorporated via feeds provided by third parties for this purpose - for example, the latest Apple updates on the [[Main_Page|main page]]. This information is provided with an acknowledgement of the source. The following disclaimer applies to this content: * The provider - i.e. macwrench - does not adopt these contents as its own * The data are subject to the appropriate license as well as the copyrights of those who provide these data * The provider cannot guarantee their correctness and completeness, although the sources have been carefully selected based on their credibility * As a result, the provider cannot be held liable for any damages resulting from the use of or in connection with the use of this information, whether direct or indirect damages, consequential damages or special damages, including lost profits, or damages resulting from the loss of data. In case of questions and complaints about as well as problems with this information, one of the [[Special:Listusers/sysop|administrators]] should be informed, if necessary. ===Up-to-dateness=== The above information is usually updated continuously at intervals of 4 hours. This is done exclusively for reasons of speed for the presentation on the page and is not due to any kind of evaluation of the sources or a targeted selection of the information. For technical and optical reasons, it is possible that not all entries of an integrated news ticker are presented - this is - depending on the scope of the sources - not always feasible due to the amount of available information alone. For this reason, the number of entries is limited to a fixed amount, currently to 10. Thus, always the 10 most recent entries of such an included news source are presented. We reserve the right to vary this value at any time and without notice. Within the scope of this, however, we do not knowingly make any changes to the user data. However, it is possible that the information is not updated or not displayed correctly for technical reasons - for example, due to software malfunctions, conversions in character sets or syntactical errors in the source material. In such cases, the malfunctions must be reported to one of the [[Special:Listusers/sysop|Administrators]] so that the error can be corrected accordingly. 37bc24d04a2fdd6a041e4651413f5580bdc1d356 macwrench:Copyrights 4 17 117 31 2023-03-06T11:48:03Z Hagbard 2 wikitext text/x-wiki == You are free to: == '''Share''' — copy and redistribute the material in any medium or format '''Adapt''' — remix, transform, and build upon the material The licensor cannot revoke these freedoms as long as you follow the license terms. == Under the following terms: == '''Attribution''' — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. <!--'''NonCommercial''' — You may not use the material for commercial purposes.--> '''ShareAlike''' — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. '''No additional restrictions''' — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. == Notices: == You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation. No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material. 665db221ca32235a3bbd937948bf9de34f19fad1 118 117 2023-03-06T11:48:17Z Hagbard 2 wikitext text/x-wiki == You are free to: == '''Share''' — copy and redistribute the material in any medium or format '''Adapt''' — remix, transform, and build upon the material The licensor cannot revoke these freedoms as long as you follow the license terms. == Under the following terms: == '''Attribution''' — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. <!-- '''NonCommercial''' — You may not use the material for commercial purposes.--> '''ShareAlike''' — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. '''No additional restrictions''' — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. == Notices: == You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation. No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material. a1b0ba11d8cd2cc6307478e5d894310eb50fd4be macwrench:About 4 38 123 2023-03-06T12:04:55Z Hagbard 2 Created page with "Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most..." wikitext text/x-wiki Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. cf4211c847e79070ebf9c047d90b7999d5005cf0 Hidden Features 0 35 151 150 2023-03-06T19:29:07Z Hagbard 2 /* Finder */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden features/options== ... to be revealed by pressing/holding certain keys or key combinations: [[File:MacOS logo.svg|64px|right]] ===All Applications=== ; Making screenshots of a window : …by using the well-known key combination {{Key press|Cmd}} {{Key press|Shift}} {{Key press|4}} for grabbing the whole screen, followed by pressing the {{Key press|Space}} bar. The cursor then changes into a camera icon and lets you select a window to be snapped by simply tapping/clicking on it. [[File:Finder Icon macOS Big Sur.png|64px|right]] ===Finder=== ; Enter the user's "Library" folder : …by pressing the {{Key press|alt}} key while opening the Finder menu "Go", which will reveal the respective entry. You could altenatively follow the next hint for achieving pretty much the same by making the folder visible 👇 ; Reveal hidden files and folders : …in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Repeat this to hide them again. The setting is only temporary in file dialogs (i.e. until the rspective dialog is being closed) and persistent until the next login (until the Finder is being relaunched to be precise) in Finder windows. The next hint will tell you how to do that 👇 (relaunching the Finder). ; Relaunch the finder : …without a logout or reboot by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : …by pressing and holding the {{Key press|alt}} key while minimizing one of them using its green traffic light button in the top left corner. ===Preview=== ; Export images to other file formats : …by pressing and holding the {{Key press|alt}} key ''before'' expanding the "Format" popup button on the "Save file" dialog. This will reveal additional image formats to save an image in, such as ICNS or Photoshop. ==Easter Eggs== ; Get a full LOTR timeline : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (seems to be not around any longer on more recent macOS versions such as macOS Monterey or Ventura) ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] 6ba15164f7c79d15ead927f8d0316cb94bd4b58d 152 151 2023-03-06T21:25:37Z Hagbard 2 /* Finder */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden features/options== ... to be revealed by pressing/holding certain keys or key combinations: [[File:MacOS logo.svg|64px|right]] ===All Applications=== ; Making screenshots of a window : …by using the well-known key combination {{Key press|Cmd}} {{Key press|Shift}} {{Key press|4}} for grabbing the whole screen, followed by pressing the {{Key press|Space}} bar. The cursor then changes into a camera icon and lets you select a window to be snapped by simply tapping/clicking on it. [[File:Finder Icon macOS Big Sur.png|64px|right]] ===Finder=== ; Enter the user's "Library" folder : …by pressing the {{Key press|alt}} key while opening the Finder menu "Go", which will reveal the respective entry. You can altenatively follow the next hint for achieving pretty much the same thing by making the folder visible 👇 ; Reveal hidden files and folders : …in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Repeat this to hide them again. The setting is only temporary in file dialogs (i.e. until the rspective dialog is being closed) and persistent until the next login (until the Finder is being relaunched to be precise) in Finder windows. The next hint will tell you how to do that 👇 (relaunching the Finder). ; Relaunch the finder : …without a logout or reboot by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : …by pressing and holding the {{Key press|alt}} key while minimizing one of them using its green traffic light button in the top left corner. ===Preview=== ; Export images to other file formats : …by pressing and holding the {{Key press|alt}} key ''before'' expanding the "Format" popup button on the "Save file" dialog. This will reveal additional image formats to save an image in, such as ICNS or Photoshop. ==Easter Eggs== ; Get a full LOTR timeline : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (seems to be not around any longer on more recent macOS versions such as macOS Monterey or Ventura) ==See also== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] b90f43e539308083c6f120b7f6ca7d38f70a2c56 Category:OS 14 39 153 2023-03-07T14:15:19Z Hagbard 2 Created page with "This category includes articles and information, tips and tutorials related to macOS and is divided into several subcategories. General tips for working with the Mac OS are directly included in this category (see below), more specific hints in the respective sections like [[:Category:Terminal]]." wikitext text/x-wiki This category includes articles and information, tips and tutorials related to macOS and is divided into several subcategories. General tips for working with the Mac OS are directly included in this category (see below), more specific hints in the respective sections like [[:Category:Terminal]]. 9c19eacfbe0a03c96d3031b325a16f5fa9793827 154 153 2023-03-07T14:15:33Z Hagbard 2 wikitext text/x-wiki This category includes articles and information, tips and tutorials related to macOS and is divided into several subcategories. General tips for working with the macOS are directly included in this category (see below), more specific hints in the respective sections like [[:Category:Terminal]]. 6763f3d476d63b49afa31e1d0b90f9a3fd7a5f4d Category:Terminal 14 40 155 2023-03-07T14:16:00Z Hagbard 2 Created page with "[[Category:OS]]Tips and tricks around the terminal. Here you can find for example descriptions, tips and application examples of command line tools. The corresponding manpages for the respective commands can be found here" wikitext text/x-wiki [[Category:OS]]Tips and tricks around the terminal. Here you can find for example descriptions, tips and application examples of command line tools. The corresponding manpages for the respective commands can be found here 9df790ca4ca9537cb7938028c4934fdc9904689a Main Page 0 1 156 147 2023-03-07T14:21:08Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) <hr style="margin:20px 0px; /> [[Image:W21-1a.svg|128px|right]] {| |-- | colspan="3" | '''Important articles:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|24px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''External resources:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|18px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|18px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] <!-- |-- | colspan="3" style="padding-top:10px;" | '''See also:''' |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] --> |} ---- {| |- ! style="text-align:left;" | All things macOS: |-- | <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> |} ---- {| |- ! style="text-align:left;" | Development-related Articles: |-- | <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> |} ---- {| |- ! style="text-align:left;" | Articles in the Category "Hint": |-- | <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> |} <!-- {{CollapsibleContentboxWithTitle|title=Operating System|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> }} {{CollapsibleContentboxWithTitle|title=Development|content= <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> }} {{CollapsibleContentboxWithTitle|title=Hints|content= <categorytree mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> }} --> 755aac308f9ddebcf2527626a656a9977e829dbd 160 156 2023-03-07T14:25:50Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) <hr style="margin:20px 0px; /> [[Image:W21-1a.svg|128px|right]] {| |-- | colspan="3" | '''Important articles:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|24px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''External resources:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|18px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|18px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] <!-- |-- | colspan="3" style="padding-top:10px;" | '''See also:''' |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] --> |} ---- {| |- ! style="text-align:left;" | All things macOS: |-- | <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> |} ---- {| |- ! style="text-align:left;" | Development-related Articles: |-- | <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> |} ---- {| |- ! style="text-align:left;" | Articles in the "Museum" covering old and obsolete features and technologies: |-- | <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Museum</categorytree> |} <!-- ---- {| |- ! style="text-align:left;" | Articles in the Category "Hint": |-- | <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> |} --> 1dfea500b6884098ab8255c620ebbd88185bd9ea 162 160 2023-03-07T14:29:13Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. For the time being the old wiki will still be around here: [http://www.macwrench.de macwrench.de], but new edits will most likely go in here. [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) <hr style="margin:20px 0px; /> [[Image:W21-1a.svg|128px|right]] {| |-- | colspan="3" | '''Important articles:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|24px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''External resources:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|18px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|18px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] <!-- |-- | colspan="3" style="padding-top:10px;" | '''See also:''' |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] --> |} ---- {| |- ! style="text-align:left;" | All things macOS: |-- | <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> |} ---- {| |- ! style="text-align:left;" | Development-related Articles: |-- | <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> |} ---- {| |- ! style="text-align:left;" | Articles in the "Museum" covering old and obsolete features and technologies: |-- | <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Museum</categorytree> |} <!-- ---- {| |- ! style="text-align:left;" | Articles in the Category "Hint": |-- | <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> |} --> 8b47819f0936e702ce95311714d63a9298dc1564 MacOS System Requirements 0 2 157 60 2023-03-07T14:21:42Z Hagbard 2 Hagbard moved page [[MacOS Systemvoraussetzungen]] to [[MacOS System Requirements]]: Translated article name wikitext text/x-wiki [[Category:OS]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS versions on unsupported Macs – A Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_.2812.0.29|Version 12.0 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.2) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Processor || 64-Bit intel processor, Apple A12Z or later |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_.2811.0.29|Version 11.0 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.1) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Processor || 64-Bit intel processor, Apple A12Z oder neuer |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_.2810.15.29|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_.2810.14.29|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 14.3 GB für die Durchführung eines Upgrades |-- | see also || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | see also || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs with CoreSolo/CoreDuo processors<br />Intel-Macs and Intel GPU GMA 950 or x3100<br />Intel-Macs with ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. Juli 2011 |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel Macs with CoreSolo or CoreDuo processors (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 28. August 2009 |-- | Processor || Intel processor |-- | Memory (RAM) || 1 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 26. Oktober 2007 |-- | Processor || PowerPC G4 (867MHz or more), G5 or Intel processor |-- | Memory (RAM) || 512 MB RAM |-- | Other requirements || FireWire (integriert) |-- | see also || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 29. April 2005 |-- | Processor || PowerPC G3, G4 or G5 processor, Intel processors starting with Version 10.4.4 |-- | Memory (RAM) || 256 MB RAM |-- | see also || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2003 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 13. August 2002 |-- | Processor || PowerPC G3, G4 or G5 orocessor (233 MHz or more, see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. März 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) b9303fb3daeb8bb7ee8ba33f9c536e628b1affe2 MacOS Systemvoraussetzungen 0 41 158 2023-03-07T14:21:42Z Hagbard 2 Hagbard moved page [[MacOS Systemvoraussetzungen]] to [[MacOS System Requirements]]: Translated article name wikitext text/x-wiki #REDIRECT [[MacOS System Requirements]] 154ce9b77de864011a2d7ba0729ea1ba27aef6a2 Category:Museum 14 42 159 2023-03-07T14:24:37Z Hagbard 2 Created page with "This category will be the final resting place for articles covering old and obsolte technologies which have been abandoned by Apple, such as the HFS file system or the macOS Dashboard." wikitext text/x-wiki This category will be the final resting place for articles covering old and obsolte technologies which have been abandoned by Apple, such as the HFS file system or the macOS Dashboard. 8062dd1caf08876b90d8e7dfb93a771a097b118c Journaling von HFS-Volumes deaktivieren 0 43 161 2023-03-07T14:27:35Z Hagbard 2 Created page with "[[Category:Museum]][[Category:Translate]] [[Category:OS]][[Category:Hint]][[Category:Terminal]]{{Information|HFS+ Journaled ist im Mac OS X Server seit Version 10.2.2 (Jaguar) verfügbar, die Client-Version von Mac OS X unterstützt dies seit Version 10.3 (Panther).}} == im Festplatten-Dienstprogramm == [[Image:DiskUtility_-_Journaling_deaktivieren.png|thumb|right|Journaling von HFS-Volumes deaktivieren]]Um das Journaling von HFS-Volumes zu deaktivieren (z.B. um unter a..." wikitext text/x-wiki [[Category:Museum]][[Category:Translate]] [[Category:OS]][[Category:Hint]][[Category:Terminal]]{{Information|HFS+ Journaled ist im Mac OS X Server seit Version 10.2.2 (Jaguar) verfügbar, die Client-Version von Mac OS X unterstützt dies seit Version 10.3 (Panther).}} == im Festplatten-Dienstprogramm == [[Image:DiskUtility_-_Journaling_deaktivieren.png|thumb|right|Journaling von HFS-Volumes deaktivieren]]Um das Journaling von HFS-Volumes zu deaktivieren (z.B. um unter aktuellen Ubuntu-Linux Installationen auf diese Laufwerke schreiben zu können), genügen folgende Schritte: * Festplatte anschließen (falls extern) * Festplatten-Dienstprogramm starten * mit gedrückter Alt-Taste das Menü "Ablage" öffnen (wichtig: Alt vorher drücken und gedrückt halten!) Dann sollte sich der (bei Volumes mit aktiviertem Journaling deaktivierte) Menüeintrag "Journaling aktivieren" in "Journaling deaktivieren" umwandeln und ermöglicht folgerichtig das was er verspricht (siehe Screenshot rechts) == im Terminal == Alternativ kann das natürlich auch mit dem {{Man|diskutil|diskutil}} im Terminal durchgeführt werden: <source lang="bash"> sudo diskutil disableJournal /Volumes/VOLUMENAME </source> bzw. zum Aktivieren <source lang="bash"> sudo diskutil enableJournal /Volumes/VOLUMENAME </source> Hin und wieder scheint das jedoch nicht zu funktionieren und diskutil gibt eine Fehlermeldung wie die folgende aus: An error occurred journaling the filesystem: The underlying task reported failure on exit (-9972) Dann kann man versuchen, das (ausgehängte) Volume mit folgendem Kommando zu bearbeiten: sudo diskutil disableJournal force /dev/disk1s10 {{TT|disk1s10}} ist dabei durch den jeweils korrekten Partitions-Identifikator zu ersetzen, der sich über folgendes Kommando ermitteln lässt: diskutil list [[User:Hagbard|Ich]] hatte jedoch auch einmal den Fall, dass sich das Journaling danach erst wieder im Diskutil wie oben beschrieben deaktivieren ließ, da das obige Kommando denselben Fehler zurückgab. ==Siehe auch== * [http://docs.info.apple.com/article.html?artnum=107249 Mac OS X: About file system journaling] (apple.com) [[http://www.apple.com/server/pdfs/L24481A_Journaling_TB.pdf PDF]] * [http://www.info.apple.com/kbnum/n107248 How To Journal a Volume or Repair a Journaled Volume] (apple.com) * [http://support.apple.com/kb/TS2028?viewlocale=en_US fsck reports benign errors when journaling is turned on] (apple.com) a80ff0e3e535efdfc871796ccde0db11c3425a34 Category:Development 14 44 163 2023-03-07T14:30:53Z Hagbard 2 Created page with "Here everything revolves around software development and programming in the form of code examples, scripts as well as know-how around programming (not necessarily only on and for the Mac) and more extensive example listings to other articles. Besides programming examples and scripts, basic articles about programming and programming languages, programming concepts, software development or software engineering are also right here." wikitext text/x-wiki Here everything revolves around software development and programming in the form of code examples, scripts as well as know-how around programming (not necessarily only on and for the Mac) and more extensive example listings to other articles. Besides programming examples and scripts, basic articles about programming and programming languages, programming concepts, software development or software engineering are also right here. ee63d372930ff00a7efd39428348e0b0b4b1a283 164 163 2023-03-07T14:34:05Z Hagbard 2 wikitext text/x-wiki This category is primarily about software development and programming in the form of code examples and scripts as well as know-how around programming languages and paradigms - not necessarily limited to macOS and iOS - and links to external resources. Topics covered by these articles are for example: - programming examples and scripts - programming basics - programming languages and concepts - software development and software engineering - development tools, such as Xcode or other IDEs and code editors 94f7cdc4361c31a36a3939706017e1e48dc8dd47 165 164 2023-03-07T14:35:28Z Hagbard 2 wikitext text/x-wiki This category is primarily about software development and programming in the form of code examples and scripts as well as know-how around programming languages and paradigms - not necessarily limited to macOS and iOS - and links to external resources. Topics covered by these articles are for example: * programming examples and scripts * programming basics * programming languages and concepts * software development and software engineering * development tools, such as Xcode or other IDEs and code editors f99013c74d57626e23f231dcc319cc9c6d55f4a1 User:Hagbard 2 32 166 65 2023-03-07T14:53:49Z Hagbard 2 wikitext text/x-wiki I'm the bureaucrat of [[Main_Page|macwrench]], a wiki about all things Mac which has been around in one form or another for several decades now. It started out as a website with tips about how to fix broken Apple hardware, which has been pretty much dropped when the hardware became basically unrepairable. So about two years ago it began to morph into a wiki evolving more around software problems and became some sort of database about hidden features and frequently used tricks which could make work with macOS a little more productive and fun. I'm still in the process of moving everything here, which will probably take a bit longer as usual since my spare time is somewhat limited and I'd like to take the opportunity to update articles and remove old and obsolete stuff in the process. For the time being the old wiki will still be around here: [http://www.macwrench.de macwrench.de], but new edits will most likely go in here. Here's me on [https://meta.miraheze.org/User:Hagbard meta.miraheze.org] d0956ec29e59628331d41020413b48f4648d47b0 167 166 2023-03-07T14:54:07Z Hagbard 2 wikitext text/x-wiki I'm the bureaucrat of [[Main_Page|macwrench]], a wiki about all things Mac which has been around in one form or another for several decades now. It started out as a website with tips about how to fix broken Apple hardware, which has been pretty much dropped when the hardware became basically unrepairable. So about two years ago it began to morph into a wiki evolving more around software problems and became some sort of database about hidden features and frequently used tricks which could make work with macOS a little more productive and fun. I'm still in the process of moving everything here, which will probably take a bit longer as usual since my spare time is somewhat limited and I'd like to take the opportunity to update articles and remove old and obsolete stuff in the process. For the time being the old wiki will still be around here: [http://www.macwrench.de macwrench.de], but new edits will most likely go in here. Here's me on [https://meta.miraheze.org/wiki/User:Hagbard meta.miraheze.org] 739ff57ddd1576679ec08a5ad48c0e82272ddf63 168 167 2023-03-07T14:54:50Z Hagbard 2 wikitext text/x-wiki I'm the bureaucrat of [[Main_Page|macwrench]], a wiki about all things Mac which has been around in one form or another for several decades now. It started out as a website with tips about how to fix broken Apple hardware, which has been pretty much dropped when the hardware became basically unrepairable. So about two years ago it began to morph into a wiki evolving more around software problems and became some sort of database about hidden features and frequently used tricks which could make work with macOS a little more productive and fun. I'm still in the process of moving everything here, which will probably take a bit longer as usual since my spare time is somewhat limited and I'd like to take the opportunity to update articles and remove old and obsolete stuff in the process. For the time being the old wiki will still be around here: [http://www.macwrench.de macwrench.de], but new edits will most likely go in here. Here's me on [[meta:User:Hagbard|meta.miraheze.org]] fab4533ef8f9bd653b1cd90b8cdbe857662cad29 169 168 2023-03-07T14:55:23Z Hagbard 2 wikitext text/x-wiki I'm the bureaucrat of [[Main_Page|macwrench]], a wiki about all things Mac which has been around in one form or another for several decades now. It started out as a website with tips about how to fix broken Apple hardware, which has been pretty much dropped when the hardware became basically unrepairable. So about two years ago it began to morph into a wiki evolving more around software problems and became some sort of database about hidden features and frequently used tricks which could make work with macOS a little more productive and fun. I'm still in the process of moving everything here, which will probably take a bit longer as usual since my spare time is somewhat limited and I'd like to take the opportunity to update articles and remove old and obsolete stuff in the process. For the time being the old wiki will still be around here: [http://www.macwrench.de macwrench.de], but new edits will most likely go in here. And here's my home on [[meta:User:Hagbard|meta.miraheze.org]] f89a63a844b387ca581387534c922cca1cf3f520 Auto-Rechtschreibkorrektur deaktivieren 0 45 171 170 2023-03-08T08:32:02Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Hint]][[Category:OS]] Mitunter sehr lästig kann die Tatsache sein, das OS X mittlerweile automatisch bereits während der Eingabe vermeintliche Rechtschreibfehler korrigiert, solange das jeweilige Programm dies nicht für alle entsprechenden Eingabefelder deaktiviert. Um diese Funktion nicht für jedes Programm einzeln (via Menü "Bearbeiten" > "Rechtschreibung und Grammatik") sondern global abzustellen, ist folgende Eingabe im {{Terminal}} erforderlich: defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false Anschließend ist eine erneute Anmeldung notwendig. Um diese Funktion wieder zu aktivieren, ist folgende Terminal-Anweisung zu verwenden: defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool true 30c3ddef8346ae38cf946286bf2930e5b72633c2 Automatisches Einhängen von Volumes deaktivieren 0 46 173 172 2023-03-08T08:32:02Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]]Standardmäßig werden alle internen Volumes vom System nach der Anmeldung automatisch eingehängt, so dass sie (bei entsprechender Finderkonfiguration) in der Seitenleiste und/oder auf dem Desktop angezeigt werden. Um nun einige der internen Volumes nicht automatisch einzuhängen, ist via {{Terminal}} die Datei {{TT|fstab}} wie folgt zu editieren. Dabei ist zu beachten, dass seit OS X Leopard (Version 10.5) diese Bearbeitung immer via {{Man|vifs|vifs}} erfolgen sollte, damit Änderungen auch ordnungsgemäß wirksam werden. Für einen solchen Eintrag wird die UUID des entsprechenden Volume benötigt, die sich über folgende Terminal-Anweisung anhand des Pfades ermitteln lässt: diskutil info /Volumes/MyInternalVolume | grep UUID Volume UUID: 12345678-1ABC-2DEF-3EDC-123456789012 Anschließend ist mit folgender Anweisung die Datei {{TT|fstab}} zu editieren: sudo vifs Hierbei wird der Editor {{Man|vi|vi}} benutzt. Dort ist für jedes Volume ein solcher Eintrag zu erstellen, wobei natürlich die UUID ersetzt und das Dateisystem (hier: hfs) ggf. angepasst werden muss: UUID=12345678-1ABC-2DEF-3EDC-123456789012 none hfs rw,noauto {{Important vi-directives}} Alternativ ist dies auch mit dem (kostenpflichtigen) Programm "[http://www.bresink.com/products.html Tinker Tool System]" möglich. Für den bequemen Zugriff auf verfügbare aber nicht eingehängte Volumes eignet sich das kostenlose Hilfsprogramm "[https://github.com/kainjow/Semulov Semulov]". b5b6b208f844e043f1ec6adc404bc349b1508bf0 Automator 0 47 175 174 2023-03-08T08:32:03Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:OS]] ==Automator== === Automator Finder plug-in deinstallieren === Die Plug-ins werden in ~/Library/Workflows/Applications/Finder installiert. Dort einfach rauslöschen mit: rm -R ~/Library/Workflows/Applications/Finder/name.workflow ==Beispiele== <div class="contentboxRight_relative"><div> <big>&nbsp;Automator Actions on apple.com<br />&nbsp;</big> <rssHeadlinesSmall>apple_automator.rss</rssHeadlinesSmall> ''Quelle: [http://www.apple.com/rss apple.com/rss]'' </div></div> ===Workflow mit iCal planen=== Dieser Tip basiert auf einem Tip, der vor kurzem auf macosxhints.com aufgetaucht ist: Um einen Workflow zu einem bestimmten Zeitpunkt zu starten geht man folgendermaßen vor: * Den fertigen Automator Workflow als Plug-In speichern * Plug-in für "iCal Erinnerung" auswählen und Namen vergeben. * iCal startet daraufhin und kreiert einen neuen Eintrag. * Diesen Eintrag nun nach belieben ändern. * Der Workflow wird zum angegebenen Termin ausgeführt. ===Archive-and-Mail=== Es gibt zwei Möglichkeiten, dieses Beispiel zu realisieren, zum einen über eine Art DropBox, also einen Ordner indem alle neuen Objekte gepackt und versendet werden, oder als Finder- Plug-In. Der Unterschied ist lediglich in der Installation: # falls man eine Art DropBox will vorher den Ordner schonmal anlegen # Automator öffnen;-) # aus den Finder Optionen "Archive erstellen" auswählen, die Optionen sind deaktiviert # aus den Mail Optionen "Neue eMail" auswählen und an das "Archiv erstellen" anhängen. # Dann wählt man <KB>alt + apfel + s</KB> oder im Menu als "Plug-in sichern" ## Als Ordneraktion + Namen vergeben und den oben gewählten Namen angeben. ## oder als Ziel Finder, dann kann mit rechtsklick auf das Objekt der Name des Automator Workflows gewählt werden. Noch offen ist leider, dass das Archiv in diesem Beispiel auf dem Schreibtisch liegen bleibt, wie dieses am Ende der Aktion gelöscht werden kann ist noch offen. Bei der DropBox verbleiben die Objekte/Dateien dann im Ordner evtl. muss hier beim reindroppen schon <KB>opt</KB> gedrückt werden um ein verschieben zu verhindern. ===Dateien umbennen=== Dieses Beispiel soll verdeutlichen, wie schnell man mit Automator mal was zusammenklicken kann. Zum testen immer mal vorher ein Backup der Dateien machen, aber das schlägt Automator auch vor. # Automator öffnen;-) # Alle Dateien, die umbenannt werden sollen markieren und in das Workflow Fenster ziehen. # Finder Aktion "Objekt umbenennen" unten anhängen # Aufklappen und "Text ersetzen" wählen # Suchen String und Ersetzen durch String angeben # Ausführen klicken <KB>apfel + r</KB> ==Weiterführende Informationen== ===Fertige Automator Aktionen=== '''Portale:''' * [http://automatorworld.com/ Automator World] * [http://automator.us automator.us] * [http://www.apple.com/downloads/macosx/automator/ Automator Actions bei apple.com] '''[http://www.automatedworkflows.com/automator/ultimate.html Ultimate Productivity Automator Action Packs]''' * Adobe InDesign Action Pack * Adobe Photoshop Action Pack * Automator Action Pack * FileMaker Pro Action Pack * Finder Action Pack * iPhoto Action Pack * Preview (Vorschau) Action Pack * QuarkXPress Action Pack * System Action Pack * Text Edit Action Pack '''[http://www.apple.com/downloads/macosx/automator/bluetoothobjectpush.html OBEX Push Automator Aktion]''' :Automatior Action für [[wikipedia:de:OBEX|OBEX]] Object-Push über Bluetooth (Geräte müssen das OBEX-Profil unterstützen) '''[http://www.completedigitalphotography.com/index.php?p=339 Photoshop Automator Actions]''' : Eine Sammlung aus über 70 Photoshop-Aktionen wie beispielsweise die Auflösung oder den Farbmodus ändern, Bilder zuschneiden, Filter anwenden uvm (Donationware) ===Entwicklung von Automator Aktionen=== * O'Reilly [http://www.macdevcenter.com MacDevCenter]: [http://www.macdevcenter.com/pub/a/mac/2005/05/03/automator.html Write Your Own Automator Actions] (Matt Neuburg) * [http://www.heise.de/ct c't] Artikel ''Fließbandarbeit: Aktionen für den Automator von Mac OS X 10.4 selbst gemacht'' (Ausgabe 06/2006, S. 250), gibts leider nur in Hardware oder ab August 2006 auf der Jahrgangs-CD/DVD. 9c553a499bebf456223e6efcf44f2e54dfe43a97 Betriebssystemversion prüfen 0 48 177 176 2023-03-08T08:32:06Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Development]][[Category:Hint]] ==OS X Laufzeitumgebung== <source lang=objc> #import <CoreServices/CoreServices.h> ... SInt32 major, minor, bugfix; Gestalt(gestaltSystemVersionMajor, &major); Gestalt(gestaltSystemVersionMinor, &minor); Gestalt(gestaltSystemVersionBugFix, &bugfix); //NSString *versionString = [NSString stringWithFormat:@"%d.%d.%d", major, minor, bugfix]; NSString *versionString = [NSString stringWithFormat:@"%d.%d", major, minor]; float version = [versionString floatValue]; if(version < 10.8) { ... } </source> ==OS X Build-Umgebung== <source lang=objc> #ifndef MAC_OS_X_VERSION_10_7 // only executed when building on 10.6.x or older #endif #ifdef MAC_OS_X_VERSION_10_6 // only executed when building on 10.6.x or newer #endif </source> ==iOS Laufzeitumgebung== Um für Codeweichen zur Laufzeit die aktuelle Systemversion abzugfragen, existieren verschiedene Möglichkeiten: ==={{TT|UIDevice}}=== <source lang=objc> NSLog(@"current system version: %@",[[UIDevice currentDevice] systemVersion]); if ([[[UIDevice currentDevice] systemVersion] compare:@"3.2" options:NSNumericSearch] != NSOrderedAscending) { // iOS 3.2 ooder neuer } if ([[[UIDevice currentDevice] systemVersion] compare:@"4.0" options:NSNumericSearch] != NSOrderedDescending) { // iOS 4.3 ooder älter } // alternativ, evtl. etwas übersichtlicher: float version = [[[UIDevice currentDevice] systemVersion] floatValue]; if (version >= 3.2) { // iOS 3.2 oder neuer } </source> ===System-Makros=== Zum Versionsvergleich sind auch auch einige Makros verfügbar: <source lang=objc> if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"4.0") { // iOS 4.0 ooder älter } </source> verfügbare Makros: <source lang=objc> SYSTEM_VERSION_EQUAL_TO() SYSTEM_VERSION_GREATER_THAN() SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO() SYSTEM_VERSION_LESS_THAN() SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO() </source> ===Anhand bekannter Klassen=== Um bestimmte iOS-Features zu nutzen, die erst ab (oder in) einer best. Version zur Verfügung stehen, bietet sich auch die direkte Nutzung dieser Klassen zur Versionsüberprüfung an: <source lang=objc> Class playerClass = NSClassFromString(@"MPMoviePlayerViewController"); if(playerClass) { // iOS 3.2 oder neuer } else { // älter als iOS 3.2 } Class notificationClass = NSClassFromString(@"UILocalNotification"); if(notificationClass) { // iOS 4.0 oder neuer } else { // älter als iOS 4.0 } </source> ==Projektumgebung== Für Abfragen zum Zeitpunkt des Übersetzens (in Xcode) existieren folgende Möglichkeiten: ===Base SDK=== In den verschiedenen iOS Versionen sind auch unterschiedliche Konstanten definiert, die dazu verwendet werden können (was allerdings weniger flexibel ist): <source lang=objc> #ifdef __IPHONE_3_2 // iOS 3.2 oder neuer #endif </source> {{Important|1=Diese Abfragen beziehen sich auf das aktuelle '''Base-SDK''' des Xcode Projektes und NICHT auf die tatsächlich zur Laufzeit verwendeten Betriebssystemversion! Wenn man also den Code mit Base SDK Version 5.0 übersetzt, werden immer alle Konstanten bis incl. {{TT|_IPHONE_5_0}} definiert sein - unabhängig davon, unter welcher SDK-Version die App anschließend läuft.}} ===Deployment Target (Systemvoraussetzung)=== Mit folgendem Code kann überprüft werden, welche die minimale, vom Xcode-Projekt unterstützte iOS Version ist (Deployment Target, wichtig v.a. für Bibliotheken und Frameworks): <source lang=objc> #if __IPHONE_OS_VERSION_MIN_REQUIRED < 30200 // älter als iOS 3.2 #else // iOS 3.2 oder neuer #endif </source> ==Siehe auch== * Cocoa Dev Central: [http://cocoadevcentral.com/articles/000067.php Checking the User's Mac OS X Version] 74b937ab69e38c4f4c911241e605a682719618d9 BootKeyCombos 0 49 179 178 2023-03-08T08:32:06Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[Startup Key Combinations]] 8556dbf8b3735ccb2e0ba902caf8a6340d9df96b Boot Key Combos 0 50 181 180 2023-03-08T08:32:06Z Hagbard 2 1 revision imported wikitext text/x-wiki #redirect[[Startup Key Combinations]] d3275beacc9d8bbed4b382babda7ea395f3435a0 Color-Picker App selber erstellen 0 51 183 182 2023-03-08T08:32:07Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Hint]]Den von OS X in diversen Programmen bereitgestellten Farbwahl-Dialog (Color-Picker) kann man recht einfach als unsbhängiges Programm nutzen. Dazu Ist es lediglich notwendig, ... * den Skript-Editor zu starten (ein neues Skript sollte automatisch erstellt werden) * die folgenden zwei Worte einzufügen: {{TT|choose color}} * das ganze als "Programm" an eine beliebige Stelle zu speichern Anschließend kann dem so erstellte Programm über den Info-Dialog (Rechtsklick auf das Symbol im Finder) auch ncoh ein hübscheres Symbol zugewiesen werden. Beim Start dieses Programms erscheint dann das rechts abgebildete Fenster. 69ec5c4a92418ee3175e22439aa269659a7c34fb Using crond on macOS 0 52 185 184 2023-03-08T08:32:07Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:OS]][[Category:Linux]][[wikipedia:Cron|Cron]] ist der aus dem Unix-Umfeld allseits bekannte Mechanismus zum automatischen Ausführen von Skripten, Programmen etc. Unter Mac OS X wird {{TT|cron}} via [[wikipedia:de:launchd|launchd]] gestartet, die entsprechende Konfiguration hierzu ist dort zu finden: /System/Library/LaunchDaemons/com.vix.cron.plist ==crond Statusmails deaktivieren== Um die bei der Ausführung von [[Wikipedia:de:cron|cronjobs]] durch {{Man|cron|cron}} automatisch erzeugten Hinweismails an die lokale root-Mailbox zu unterbinden, ist entweder die Umgebungsvariable {{TT|MAILTO}} ganz am Anfang der {{TT|crontab}} entsprechend zu setzen: MAILTO="" oder in den einzelnen Einträgen der {{Man|crontab|crontab}} die Ausgabe von {{TT|STDOUT}} und {{TT|STDERR}} auf {{TT|/dev/null}} umzuleiten, etwa so: */5 * * * * /path/to/script.sh >/dev/null 2>&1 oder so: */5 * * * * /path/to/script.sh &> /dev/null Anschließend ist cron (als root / superuser) neu zu starten: sudo /etc/init.d/crond restart ==Siehe auch== * Manpages: {{Man|cron|cron}}, {{Man|crontab|crontab}} * [[wikipedia:de:Cron|Cron]] in der Wikipedia 101ec3451793e8798f7606cc3bc91d56376e1cf7 DMG Images konvertieren 0 53 187 186 2023-03-08T08:32:07Z Hagbard 2 1 revision imported wikitext text/x-wiki #redirect[[Dmg_Images_konvertieren]] 64264ca7e2e1c0e48dbbe5482183bee2a18ace3f Dmg Images konvertieren 0 54 189 188 2023-03-08T08:32:08Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Terminal]]Wenn man auf einem Mac erzeugte Disk-Images auf einer PC-Dose weiterverwenden will steht man vor dem Problem, dass .dmg Images nicht benutzbar sind. Deshalb müssen sie vorher konvertiert werden, um sie auf der Dose weiterverwenden oder brennen zu können. ==Toast Images== ... lassen sich ja recht einfach durch Umbenennen z.B. mit [http://www.nero.com/deu/ Nero] brennen: image.toast > image.nrg wobei zum Brennen in obigem Programm bei der Imageauswahl als Dateisystem das entsprechend verwendete auszuwählen ist (im Regelfall wird das bei einer Mac-CD HFS sein). ==.dmg Images== DMG Images (wie sie z.B. mit dem Festplatten-Dienstprogramm erzeugt werden) müssen umgewandelt werden, das passiert mit dem Kommandozeilen-Tool [[hdiutil]] duch Eingabe von [[hdiutil]] <aktion> <optionen> ===Konvertierung=== Die Umwandlung von .dmg in .iso Images erfolgt durch Eingabe von hdiutil convert <quellimage.dmg> -format UDTO -o <zielimage.iso> Das Ergebnis ist dann ein ISO-File namens zielimage.iso.cdr Für eine weitere Verwendung auf PC-Dosen muss diese Datei ggf. noch um ihre Endung ''.cdr'' erleichtert werden werden zielimage.iso.cdr > zielimage.iso ===Zielformate=== Mögliche Formate für das Zielimage sind: * '''UDRW''' UDIF read/write image * '''UDRO''' UDIF read-only image * '''UDCO''' UDIF ADC-compressed image * '''UDZO''' UDIF zlib-compressed image * '''UFBI''' UDIF entire image with MD5 checksum * '''UDRo''' UDIF read-only (obsolete format) * '''UDCo''' UDIF compressed (obsolete format) * '''UDTO''' DVD/CD-R master for export * '''UDxx''' UDIF stub image * '''UDSP''' SPARSE (growable with content) * '''RdWr''' NDIF read/write image (deprecated) * '''Rdxx''' NDIF read-only image (Disk Copy 6.3.3 format) * '''ROCo''' NDIF compressed image (deprecated) * '''Rken''' NDIF compressed (obsolete format) * '''DC42''' Disk Copy 4.2 image ===Optionen für das erzeugte Image=== '''-readonly''' das Zielimage ist schreibgeschützt '''-readwrite''' auf das Image kann geschrieben werden '''-notremovable''' nur der Superuser root kann das gemountete Image unmounten ===Weitere Informationen=== Mit hdituil lassen sich Images auch erzeugen, überprüfen und Mounten, weitere Informationen dazu und mögliche Optionen für die Benutzung sind in der {{Man|hdiutil|manpage von hdiutil}} nachzulesen: man hdiutil oder hdiutil help sowie im entsprechenden [[Hdiutil|Artikel über hdiutil]]. d93ee0a0ec387ce9ea84125a69b3aef14e46245c DVD-Freigabe auf jedem beliebigen Mac nutzen 0 55 191 190 2023-03-08T08:32:08Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Hint]][[Category:OS]]Um die eigentlich für das laufwerkslose MacBook Air gedachte CD-/DVD-Freigabe auch auf allen anderen Gerätetypen nutzen zu können, ist nach der Aktivierung der Freigabe auf dem Mac mit dem freizugebenden Laufwerk (Systemeinstellungen > Sharing > DVD- oder CD-Sharing) folgendes im Terminal auf dem Client-Rechner einzugeben: defaults write com.apple.NetworkBrowser EnableODiskBrowsing -bool true defaults write com.apple.NetworkBrowser ODSSupported -bool true Anschließend den Mac neu starten und das freigegebene Laufwerk erscheint im Finder-Fenster links unter "Geräte". Dazu muss natürlich in den Finder-Einstellungen die Anzeige von CDs, DVDs und iPods aktiviert sein. {{Information|1='''Hinweis:''' Die Freigabe von Audio-CDs und Video-DVDs wird nicht unterstützt, einige kopiergeschützte Spielemedien können ebenfalls nicht genutzt werden. Für mehr Informationen dazu siehe [http://support.apple.com/kb/TS2057?viewlocale=de_DE Fehler mit "DVD oder CD-Sharing" beheben] in der Apple Knowledge-Base}} == Siehe auch == * [http://support.apple.com/kb/TS2057?viewlocale=de_DE Fehler mit "DVD oder CD-Sharing" beheben] in der Apple Knowledge-Base * [http://www.apple.com/downloads/macosx/apple/application_updates/dvdorcdsharingsetupupdateformac.html DVD or CD Sharing Setup Update for Mac] (Download) 37d505f0e537d218470daa2417b7d9d99c4159f0 Dashboard 0 56 193 192 2023-03-08T08:32:09Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:OS]] ==Allgemeine Tipps== ===Tastaturshortcuts=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" |-- bgcolor="#ffffff" | width="100px" | Dashboard öffnen || je nach Konfiguration, Default: {{Key press|F12}}. Bei Gedrückthalten verschwindet das Dashboard beim Loslassen wieder. |-- bgcolor="#ffffff" | Widgets Verwalten: || {{Key press|CMD|'}} (accent aigu, links neben backspace) |-- bgcolor="#ffffff" | Durch die Liste scrollen || {{Key press|CMD|left}} bzw. {{Key press|CMD|right}} |-- bgcolor="#ffffff" | Aktives Widget neu laden || {{Key press|CMD|r}} (Sichtbar an dem Warp-Effekt) |-- bgcolor="#ffffff" | Einzelne Widgets direkt schließen || {{Key press|Opt}} (gedrückt halten und mit dem Cursor über das Widget fahren, dann erscheint das Schließen-Symbol) |-- bgcolor="#ffffff" | Screenshots erstellen (Auswahlbereich) || {{Key press|CMD|Shift|4}} dann Auswahl markieren |-- bgcolor="#ffffff" | Screenshots erstellen (Widget) || {{Key press|CMD|Shift|4}} danach {{Key press|Space}} und gewünschtes WIdget anklicken |} === Dashboard deaktivieren === Um Dashboard zu deaktivieren auf der shell: defaults write com.apple.dashboard mcx-disabled -boolean YES Um Dashboard zu aktivieren auf der shell: defaults write com.apple.dashboard mcx-disabled -boolean NO Danch mit killall Dock das Dock neustarten. Wer das öfters machen will, kann sich auch mit dem [http://www.macosxhints.com/dlfiles/dash_toggle_scpt.txt Skript] helfen. Alternativ bietet auch Onyx diese Funktionalität oder das [http://www.natal.be/index.php/?p=8 Disable-Dashboard-Widget] Eine sehr praktische Möglichkeit, Dashboard (z.B. aus Speicherplatzgründen bei seltener Nutzung) regelmäßig zu beenden, bietet das "[http://www.macupdate.com/info.php/id/19834 StopDashboard Widget]". Dabei wird Dashboard nicht dauerhaft deaktiviert sondern wird automatisch bei der nächsten Nutzung wieder gestartet; was dann natürlich etwas länger dauert ... ===Dashboard neu starten=== Falls man beim Herumprobieren einmal das Dashboard abschießen sollte, muss dass Dock im Package /System/Library/CoreServices/Dock.app neu gestartet werden, da Dashboard ein Unterprozess vom Dock ist und somit nicht selber neu gestartet werden kann. Das geschieht beispielsweise mit Hilfe des Dashboard Widgets "[http://www.natal.be/2005/10/stopdashboard-widget/ StopDashboard]", im Terminal mit killall Dock oder alternativ unter Angabe der Prozessnummer (PID): kill -1 PID wobei die PID (Prozess-ID) des Docks im Terminal mittels ps -ax | grep Dock ermittelt werden kann. Für jedes gestartete Widget existiert hier ein Subprozess mit einer eigenen PID, für das Beenden des Docks ist die erste zu benutzen, bei deren Eintrag in etwa so etwas stehen sollte: /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock -psn_0_1234567 Alternativ dazu geht das auch in der Aktivitäts-Anzeige (Activity Monitor) im Menü "Darstellung": Dock in der Liste auswählen > Menü "Darstellung" > Eintrag "Signal an Prozess Senden" > "Auflegen (SIGHUP)" auswählen Falls das Dashboard auch darauf nicht mehr reagiert, muss man es mit einem "SIGKILL" abwürgen. Dazu ist beim kill-Befehl oben statt einer "1" eine "9" zu benutzen (oder in der Aktivitäts-Anzeige der entsprechende Eintrag auszuwählen). Eventuell ist anschließend das Dock mit dem folgenden Kommando (oder einem Doppelklick auf Dock.app) neu zu starten (obwohl es eigentlich automatisch wieder starten sollte, hatte ich den Fall schonmal): [[open]] /System/Library/CoreServices/Dock.app ===Netzwerkkommunikation von {{TT|dashboardadvisoryd}} unterbinden=== Von Zeit zu Zeit und bei bestehender Internetverbindung wird vom Dashboard zusätzlich zur Widget-Updateprüfung eine Nutzungsstatistik an Apple verschickt, das ohne zusätzliche Tools wie [http://www.obdev.at/products/littlesnitch/ LittleSnitch] gar nicht vom Nutzer zu Bemerken wäre. Dabei versucht der Hintergrunddienst {{TT|dashboardadvisoryd}} in regelmäßigen Abständen (um genau zu sein, alle 28800 Sekunden = 8 Stunden), eine Verbindung zu {{TT|www.apple.com}} (TCP Port 80) aufzubauen, um (angeblich vollkommen anonymisierte und unverfängliche) Daten zu versenden (auch [http://www.spiegel.de/netzwelt/tech/0,1518,425236,00.html der Spiegel] hat sich bereits diesem Thema gewidmet). Um Mac OS X dieses Verhalten abzugewöhnen, genügt es, den Dienst einfach mit folgendem Kommando im [[:Category:Terminal|Terminal]] zu beenden: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dashboard.advisory.fetch.plist Dabei wird folgender Eintrag in die Konfigurationsdateien {{TT|/System/Library/LaunchDaemons/com.apple.dashboard.advisory.fetch.plist}} und {{TT|/etc/mach_init.d/dashboardadvisoryd.plist}} geschrieben: <key>Disabled</key> <true/> Diese Einstellung sollte anschließend auch nochmls kontrolliert und ggf. von Hand mit Hilfe des Property List Editors (Bestandteil von Xcode) oder anderen Tools wie beispielweise dem [http://www.nightproductions.net/prefsetter.html Pref Setter] (Donationware) eingetragen werden, da dies scheinbar nicht immer erfolgt (beispielsweise hier unter Snow Leopard). Diese Vorgehensweise macht allerdings einen Neustart notwendig. Reaktivieren lässt sich der Dienst dann mit folgendem Kommando: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.dashboard.advisory.fetch.plist Eine genauere Beschreibung, wie man Mac OS X dieses Verhalten abgewöhnen kann, findet sich auf [http://pp.hillrippers.ch/blog/2006/07/04/Disable+the+dashboardadvisory-daemon/ pp.hillrippers.ch], die manuelle Methode (z.B. bei Updates von Version 10.3 auf Tiger oder neuer notwendig) ist auch auf [http://hints.macworld.com/article.php?story=20060705012530786 macworld.com] genauer beschrieben. ==Dashboard Widgets== === Mitgelieferte Widgets=== Hier eine Übersicht der mitgelieferten Widgets, Bewertungen sind herzlich willkommen ... *Adressbuch *Flugrouten (Flight Tracker) *Gelbe Seiten (Phonebook) :liefert leider nur Daten aus den USA, für europäische Nutzer also nur medium sinnvoll *iTunes Steuerung *Kalender *Notizzettel (Stickies): :hat allerdings nicht den selben Datenbestand wie die '''normale''' Stickies.app Notizzettel-Applikation *Puzzle *Taschenrechner *Übersetzung *Währungen Umrechnen *Weltuhr *Wetter-Widget *Widget Manager (seit MacOS 10.4.2) :Verwaltung, Installation, Aktivierung und Deaktivierung von Dashboard Widgets *Wörterbuch (Dictionary) ===Empfehlungen der Redaktion=== Verschiedene, empfehlenswerte Widgets, die den Alltag erleichtern: '''Netzwerk und System:''' * [http://www.apple.com/downloads/dashboard/reference/xcuts.html xcuts] - eine Liste aller MacOS [[MacOS_Keyboard_Shortcuts|Keyboard Shortcuts]] * [http://www.dashboardwidgets.com/showcase/details.php?wid=1510 AppUpdate] sucht nach Updates installierter Software * Kleine Widgets zur Überwachung von Uptime, RAM-, CPU-, ... Auslastung etc. ([http://www.shockwidgets.com/ shockwidgets.com]) * Airport Radar, Übersicht verfügbarer WLANs ([http://www.macwireless.com/html/support/airport_radar/index.php macwireless.com]) '''Alltag:''' * [http://www.apple.com/downloads/dashboard/email_messaging/noteit.html NoteIt] ist ein mehr als würdiger Ersatz für das Stickies-Widget, es beherrscht auch die Übertragung der Notizen auf iPod und Mobiltelefon * [http://widgetschmie.de/cgi-bin/index.pl?lang=de&sub=widgets/Fernsehen Fernsehen] - das aktuelle Fernsehprogramm via TV-Today * [http://www.dastelefonbuch-marketing.de/services/ Telefonbuch] (sagt ja eigentlich schon alles) * [http://caseapps.com/reminder.html Reminder Widget] - ein einfacher, kleiner Wecker (sehr praktisch) * [http://www.2strong.de/ Staumelder Widget] - Übersicht aktueller Staumeldungen und Blitzersichtungen aus dem Raum [[wikipedia:de:Frankfurt_am_Main|FFM]] (Helfer werden gesucht!) * [http://inkspotting.com/wikity/ WikityWidget] - ein kleines Wiki im Dashboard (speichert die Daten in einer [http://www.sqlite.org/ SQLite] Datenbank), eignet sich hervorragend für umfangreichere Notizen. Durch die Möglichkeit von Links deutlich komfortabler und flexibler als die Mac OS Stickies ... * [http://palple.spymac.com/widgets/currencyconverter/index.html Currency Converter] (unterstützt neben einer Mehrfachkonvertierung auch mehr Währungen als das mitgelieferte Apple-Widget) * [http://www.dashboardwidgets.com/showcase/details.php?wid=520 dict.leo.org Widget] für de/en und de/fr '''Nützliche Werkzeuge:''' * [http://www.natal.be/2005/10/stopdashboard-widget/ StopDashboard] zum Beenden und Neustarten des Dashboard (bzw. des Dock) * Das [http://www.natal.be/index.php/?p=8 DisableDashboard Widget] zum Deaktivieren von Dashboard, z.B. um Arbeitsspeicher für andere speicherhungrige Anwendungen freizugeben. * [http://www.aranaio.com/osx.php Hier] gibt es Cheatsheet-Widgets für die Syntax der [[:Category:Terminal|Terminal-Kommandos]] {{Man|vi|vi}}, {{Man|sed|sed}}, {{Man|awk|awk}}, {{Man|diff|diff}} und {{Man|grep|grep}} '''Funstuff:''' * Für die tägliche Ration Bluescreen gibts [http://www.dashboardwidgets.com/showcase/details.php?wid=1035 dieses Widget hier] ===Widget Archive=== * Apple [http://www.apple.com/de/downloads/dashboard/ Dashboard Widgets] * [http://www.dashboardwidgets.com DashboardWidgets.com] * [http://www.tiger-widgets.de/ tiger-widgets.de] ==Widgets selber erstellen== ... kommt noch ... ===Widgets lokalisieren=== Eine sehr einfache Möglichkeit, sich einmal die Funktionsweise von Dashboard Wdgets und deren Bestandteile näher kennenzulernen, ist das Herumspielen an fertigen Widgets. Weitere Informationen dazu gibt es im Artikel "[[Widgets lokalisieren]]". ==Weitere Informationen== ===Macwrench=== * [[Screenshots von Dashboard-Widgets erstellen]] * <del>Yahoo Widgets (früher: Konfabulator)</del> wurde eingestellt * [https://dev.opera.com/tags/widgets/ Opera Widgets] (kleine Widgets für den Webbrowser [http://www.opera.com Opera] ===Weblinks=== * Apple Developer Connection: [http://developer.apple.com/documentation/AppleApplications/Reference/Dashboard_Ref/DashboardPlist/DashboardPlist.html Dashboard Info.plist Keys] * Wikipedia-Artikel zu [[wikipedia:de:Widget_(Desktop)|Widgets]] * [http://www.islayer.com/blog/?p=88 Tipps und Tricks] rund um das Dashboard auf iSlayer.com (engl.) ===Literatur zu Dashboard Widgets=== Im [http://www.heise.de heise-Verlag] sind zum Thema mittlerweile ein paar recht interessante Artikel erschienen: * [http://www.heise.de/ix/ iX] Ausgabe 7/2005 - auch [http://www.heise.de/ix/artikel/2005/07/140/ online nachzulesen] * [http://www.heise.de/ct c't] Artikel ''Mac OS X: Eigene Widgets für das Dashboard erstellen'' (Ausgabe 18/2005, S. 178), gibts leider nur in Hardware oder ab Januar 2006 auf der Jahrgangs-CD/DVD. Weitere Informationen: * Apple: [[ADC:macosx/dashboard.html|Developing Dashboard Widgets]]<br />''"This article shows you how Dashboard Widgets work, and provides an introduction to how to develop and deliver modular functionality in bite-sized pieces."'' * Apple: [[ADC:documentation/AppleApplications/Conceptual/Dashboard_Tutorial/index.html|Dashboard Programming Guide]] ([[ADC:documentation/AppleApplications/Conceptual/Dashboard_Tutorial/Dashboard_Tutorial.pdf|PDF]]) - Introduction to Dashboard Tutorial<br />''"This document provides an overview of Dashboard and the widgets that exist in it. It introduces you to the Dashboard environment and walks you through the the creation of a sample widget."'' * Apple: [[ADC:documentation/AppleApplications/Reference/Dashboard_Ref/index.html|Dashboard Reference]] ([[ADC:documentation/AppleApplications/Reference/Dashboard_Ref/Dashboard_Ref.pdf|PDF]])<br />''"This document contains reference material for creating Dashboard widgets. It documents the JavaScript objects available to widgets and the interfaces used to configure and extend the behavior of a widget."'' * Apple: [[ADC:documentation/AppleApplications/Conceptual/Dashboard_ProgTopics/index.html|Introduction to Dashboard Programming Topics]] ([[ADC:documentation/AppleApplications/Conceptual/Dashboard_ProgTopics/Dashboard_ProgTopics.pdf|PDF]])<br />''"This document provides an overview of Dashboard and the widgets that exist in it. It discusses optional features that may be implemented in a widget, various Web kit technologies you may find useful, and touches on native code integration through a widget plug-in."'' * O'Reilly Blog: [http://www.oreillynet.com/mac/blog/2006/07/the_widget_makers_prime_direct.html The Widget Maker's Prime Directive] - über ressourcenfressende Widgets Es gibt auch Tools für die Erstellung und Veränderung von Widgets: * [https://www.macupdate.com/app/mac/17783/dashboard-widget-xcode-template Dashboard Widget Xcode Template] - freie Vorlage für die Erstellung eigener Widgets * [http://www.widgetmakerx.com/ Widget Maker X]: kostenpflichtiges Tool für das Erstellen und Editieren von Widgets incl. "Creation-Wizard", eine kleine Übersicht der Funktinen gibts bei [http://macnews.de/news/71209 macnews.de] * [https://www.macupdate.com/app/mac/18521/widgetarium Widgetarium] - ebenfalls kostenpflichtig * [http://www.usweho.com/ Widget Creator] - freies Tool zur Erstellung einfacher Widgets b54ec62adf8c9105c11d9dc9759aa3502b903c52 Dashboard Widgets 0 57 195 194 2023-03-08T08:32:09Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[Dashboard]] 1c70e88a98ae8373877293aaf05b77d237403a27 Dateien und Ordner verstecken und schützen 0 58 197 196 2023-03-08T08:32:10Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]] Um Dateien im Finder zu verstecken, gibt es prinzipiell zwei Möglichkeiten: ==Dateien und Ordner verstecken== ===Dateiname mit Punkt=== Da Mac OS X ein Unix-System ist, folgt es auch der Konvention, Datei- und Verzeichnisnamen, die mit einem Punkt beginnen, standardmäßig zu "verstecken". Diese Umbenennung ist jedoch im Finder nicht möglich (er verhindert dies bewusst), das Umbenennen muss also im [[:Category:Terminal|Terminal]] erfolgen: mv <dateiname> .<dateiname> Einge Dateien unter Mac OS X sind auf diese Weite "geschützt", beispielsweise die [[wikipedia:en:.DS_Store|{{TT|.DS_Store}}]]-Dateien (dienen der Speicherung von Ordnerspezifischen Einstellungen, z.B. Spaltenansicht). Sie lassen sich mit Werkzeugen wie beispielsweise dem [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool] auch im Finder sichtbar machen. Hierfür existiert auch ein Hilfsprogramm mit graphischer Oberfläche namens [http://www.altomac.com/hide_folders/index.php Hide Folders], mit dessen Hilfe auch auf diese Weise versteckte Dateien/Verzeichnisse gefunden werden können. ===Verstecken mit {{Man|chflags|chflags}}=== Ein Umbenennen der Dateien ist jedoch nicht immer möglich und wünschenswert, alternativ lässt sich dasselbe Ergebnis (allerdings nur auf HFS+ Volumes) mit dem Kommandozeilentool {{Man|chflags|chflags}} erreichen: chflags hidden <datei oder verzeichnis> Mit folgendem Kommando erreicht man das Gegenteil: chflags nohidden <datei oder verzeichnis> Mac OS X enthält eine ganze Menge solcher Dateien und Verzeichnisse (meist wichtige Systemdateien, die so vor unbeabsichtigten Modifikationen durch den Benutzer geschützt werden sollen). So lässt sich beispielsweise der Ordner {{TT|~/Library/}} unter Mac OS X 10.7 (Lion) dementsprechend im Finder wieder sichtbar machen. {{Important|'''Hinweis:''' Um Dateien und Verzeichnisse innerhalb der Graphische Oberfläche noch etwas vollständiger zu verbergen, sollten diese auch zusätzlich aus dem Spotlight-Index entfernt werden (Systemeinstellungen > Spotlight > Privatsphäre)}} ===Verstecken mit {{Man|SetFile|SetFile}}=== Alternativ kann auch das Kommandozeilenprogramm {{TT|SetFile}} verwendet werden, dass ein Bestandteil der Xcode-Kommandozeilen-Hilfsprogramme ist. Dieses Paket ist seit Xcode 4.4 ein eigenständiges Installationspaket und muss nachträglich installiert werden. Um beispielsweise ein Laufwerk auf dem Desktop zu verstecken, ist folgende Eingabe notwendig: SetFile -a V “/Volumes/VOLUMENAME″ anschließend ist mit folgendem Befehl der Finder neu zu starten (alternativ: Rechtsklick auf das Finder-Dockicon bei gedrückter alt-Taste): killall "Finder" Um das Verzeichnis wieder anzuzeigen, genügt folgende Anweisung im Terminal: SetFile -a v /Volumes/Untitled wiederum gefolgt von einem Finder-Neustart ==Desktop-Inhalte verstecken== Um den Inhalt des Desktops komplett auszublenden - also einen leeren Desktop zu bekommen, ohne die entsprechenden Dateien und Verzeichnisse verschieben zu müssen, kann folgende versteckte Finder-Einstellung verwendet werden: defaults write com.apple.finder CreateDesktop -bool false Anschließend muss der Finder neu gestartet werden, entweder mit folgender Terminal-Anweisung oder via Finder-Dockicon-Kontextmenü (bei gedrückter alt-Taste): killall "Finder" Diese Änderung lässst sich mit folgender Anweisung wieder rückgängig machen: defaults write com.apple.finder CreateDesktop -bool true ==Versteckte Dateien und Ordner anzeigen== ===in Dateidialogen=== {{Information|Diese Einstellung ist nur temporär wirksam und muss ggf. wiederholt werden. Für eine dauerhafte Aktivierung sind die im folgenden Abschnitt zum Finder beschriebenen Anweisungen auszuführen.}} In den Auswahldialogen zum Öffnen oder Speichern von Dateien können versteckte Dateien und Verzeichnisse sichtbar gemacht werden, indem folgende Tastenkombination gedrückt wird: {{Key press|CMD|Shift|.}} Anschließend muss u.U. noch einmal der angezeigte Ordner gewechselt werden, um diese Einstellung wirksam werden zu lassen. Um versteckte Dateien wieder zu verbergen, ist einfach dasselbe noch einmal durchzuführen. ===im Finder=== Um solche versteckten Dateien und Verzeichnisse im Finder dauerhaft sichtbar zu machen, kann man entweder Tools wie das bereits erwähnte [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool] verwenden, oder man bemüht wiederum das [[:Category:Terminal|Terminal]]. Die Aktivierung erfolgt über das erste Kommando, mit dem zweiten wird der Finder neu gestartet: defaults write com.apple.finder AppleShowAllFiles YES killall Finder Um diese Änderung wieder rückgängig zu machen, sind folgende Kommandos auszuführen: defaults write com.apple.finder AppleShowAllFiles NO killall Finder Der Finder kann alternativ auch über das folgende Tastaturkürzel neu gestartet werden:<KB>apfel+alt+esc</KB> ===im Terminal=== Im [[:Category:Terminal|Terminal]] werden solche Dateien und Verzeichnisse mit Hilfe des folgenden Kommandos sichtbar (großes O, kleines L): ls -laO <Verzeichnis> ===Sonderfall {{TT|~/Library/}} seit OS X Lion=== Seit OS X 10.7 (Lion) wird der Library-Ordner innerhalb des Benutzerverzeichnisses nicht mehr im Finder angezeigt. Allerdings ist es für die gelegentliche Verwendung nicht zwingend erforderlich, diesen mit obigen Terminal-Kommandos wieder sichtbar zu machen – zumal die Änderung mittels {{TT|chflags}} ohnehin nicht dauerhaft ist und beim nächsten Systemupdate vom System wieder rückgängig gemacht wird. Wenn man das Finder-Menü "Gehe zu" mit gedrückter <KB>alt</KB>-Taste öffnet, wird zusätzlich ein Eintrag "Library" angezeigt, über den der Benutzer-Library-Ordner direkt geöffnet werden kann. Ein dauerhaftes Einblenden dieses Ordners ist nur über ein zusätzliches AppleScript-Skript möglich, das anschließend als Anmeldeobjekt (Systemeinstellungen -> Benutzer & Gruppen -> Anmeldeobjekte) bei jeder Anmeldung des jeweiligen Benutzers ausgeführt wird: <source lang="AppleScript"> do shell script "/usr/bin/chflags nohidden ~/Library" </source> ==Dateien und Ordner schützen== Im Finder-Info-Dialog von Dateien und Verzeichnissen lassen sich selbige bekanntermaßen gegen versehentliches Bearbeiten oder Löschen schützen, indem die Option "Geschützt" aktiviert wird. Denselben Effekt kann man mit Hilfe von {{TT|{{man|chflags|chflags}}}} im Terminal erreichen: chflags uchg lockedFile.txt Der entsprechende {{TT|SetFile}} Aufruf (ein Bestandteil von Xcode) sieht so aus: SetFile -a L gesperrteDatei.txt ===Geschützte Dateien und Verzeichnisse ermitteln=== Im Terminal kann das entsprechende Attribut für geschützte Objekte mittels folgender Anweisung angezeigt werden (großes O, kleines L): ls -laO lockedFile.txt Dadurch wird zusätzlich das Attribut "uchg" ausgegeben: -rw-r--r-- 1 user group uchg 0 1 Jan 12:00 lockedFile.txt -rw-r--r-- 1 user group - 0 1 Jan 12:00 unlockedFile.txt ===Freigeben geschützter Objekte=== Den Vorgang rückgängig machen kann man mit folgender Terminal-Anweisung: chflags nouchg lockedFile.txt bzw. SetFile -a L lockedFile.txt ==Siehe auch== * [http://www.westwind.com/reference/OS-X/invisibles.html Mac OS Hidden Files & Directories] (westwind.com) c1a3d9593763a0fcef54ef35300df4c350c077a2 Deaktivieren ungenutzter Hintergrunddienste 0 59 199 198 2023-03-08T08:32:11Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Hint]][[Category:OS]][[Category:Terminal]]Unter OS X sind mittlerweile einige Hintergrunddienste aktiv, die jedoch nicht immer erwünscht oder erforderlich sind. {{InfoboxWithIcon|icon=Achtung.png|content='''Achtung:''' Das Deaktivieren von Systemdiensten kann diverse, negative Nebeneffekte haben! Man sollte also genau wissen, was man hierbei tut, dies die Stabilität des Systems durchaus negativ beeinflussen kann.}} == Allgemein == Der Start von Systemdiensten erfolgt unter OS X anhand von "plist"-Definitionsdateien, die sich an folgenden Orten des Startvolumes befinden können: {| |-- | {{TT|/System/Library/LaunchDaemons/}} || || sog. "daemons" - systemweit verwendete OS X Dienste |-- | {{TT|/System/Library/LaunchAgents/}} || || sog. "agents" - Benutzerspezifische OS X Dienste |-- | {{TT|~/Library/LaunchAgents/}} || || vom Benutzer installierte "agents" |-- | {{TT|/Library/LaunchAgents/}} || || vom Systemadministrator installierte, benutzerspezifische "agents" |-- | {{TT|/Library/LaunchDaemons/}} || || vom Systemadministrator installierte, systemweite "agents" |} Deren Prozesse werden von {{Man|launchd|launchd}} verwaltet, ihre Eigenschaften sind in Form von "plist" Dateien definiert. Diese befinden sich an obigen Orten im Verzeichnissystem. Das dauerhafte Deaktivieren dieser Dienste erfolgt mit foldendem Kommando: sudo launchctl unload -w /PFAD/ZUR/DATEI.plist sudo launchctl unload -w /System/Library/LaunchDaemons/DATEINAME.plist Um einen Dienst nur vorübergehend (bis zum nächsten Neustart) zu deaktivieren, ist lediglich der Parameter {{TT|-w}} wegzulassen. == Beispiel: {{Man|apsd|apsd}} == Ein Beispiel hierfür ist {{Man|apsd|apsd}}, der für Push Notifications zuständige Hintergrunddienst. Einige werden dessen Netzwerkverbindungsversuche bereits mit Wekzeugen wie [http://www.obdev.at Little Snitch] verhindert haben, allerdings sind dann die Logfiles voll von fehlgeschlagenen Verbindungsversuchen. Um diesen Dienst also generell zu deaktivieren, ist folgendes im {{Terminal}} einzugeben: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.apsd.plist Um den Dienst wieder zu aktivieren, genügt folgende Terminal-Anweisung: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.apsd.plist Unter OS X Lion (10.7.x) ist der Name des Daemons übrigens {{TT|com.apple.applepushserviced.plist}} == Siehe auch == * {{Man|launchctl|launchctl}} manpage 7849cb0550598acc1618b8f1dba0c48dcb74cb78 Dictionary 0 60 201 200 2023-03-08T08:32:11Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[Kurztipp - Wörter im Dictionary nachschlagen]] 2d59eea0dbb27f0e68f063fe8d143bf815288015 Looup Words and Terms in a Dictionary 0 61 203 202 2023-03-08T08:32:11Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Hint]] ==Dictionary Schnellzugriff== Für all diejenigen, die häufiger Wörter (oder heisst es dann Worte) im Duden nachschlagen müssen, empfiehlt sich die Tastenkombination <KB>ctrl + cmd + d</KB> Die Funktion ist in Cocoa-Applikationen wie den folgenden verfügbar: * TextEdit * Safari * Mail * Pages * Keynote Wer Sidetrack oder eine Mehr-Button-Maus benutzt, kann auch einen Shortcut auf diese Kombination legen ([http://www.agentlebossanova.net/images/sidetrack.jpg Einrichtung mit Sidetrack]) ==Auswahl an Wörterbüchern== Leider wird Mac OS X nur mit englischen Wörterbüchern ausgeliefert: * New Oxford American Dictonary * Oxford American Writers Dictionary * englische Wikipedia (seit Mac OS 10.5) Es lässt sich aber mit denen [http://web.mac.com/tekl/deutsch/W%C3%B6rterb%C3%BCcher.html auf dieser Seite] verfügbaren Wörterbüchern/Thesauri nachrüsten. ==Dictionary-Interna== Die Dictionaties sind in Form von <font face="courier">*.dict</font> Archiven im folgenden Verzeichnis zu finden: /Library/Dictionaries/ und beinhalten die folgenden Dateien: '''dict_body''' Dictionary-Inhalte als XML-Datei '''dictionary_1''' sieht ziemlich binär aus ... vllt. irgendeine Art TOC? '''images/''' ggf. noch ein Unterverzeichnis mit Bilddateien und die üblichen MacOS X Archiv-Beschreibungsdateien '''Info.plist''' '''PkgInfo''' Typ des Archivs (dictlam) '''version.plist''' Das Dictionary selber ist eine XML-Datei und folgt der [http://oup.dataformat.com/doc/OUP_DTD_Dictionary.html Dictionary DTD]. Vielleicht weiss jemand, was sich hinter der Binärdatei versteckt, sie beginnt auf jeden Fall recht obskur mit dictL,com.apple.DictionaryAccessMethod.ForwardTrie [http://www.google.com Google] wusste da auf die Schnelle auch nicht weiter ... ==Dictionaries hinzufügen== Nett wäre z.B. ein Wrapper für [http://dict.leo.org dict.leo.org] oder die [http://de.wikipedia.org Wikipedia] :) Vielleicht kann man ja irgendwie die [http://de.wikipedia.org/wiki/Wikipedia:Wikipedia-Distribution/Rohdaten Rohdaten] der Wikipedia Offline-Distribution Nutzen, die es als XML-Datei [http://download.directmedia.de/wikipedia/wikipedia_1_2005_xml.zip hier] zum Download gibt. Die ist aber anscheinend nicht sonderlich well-formed ... Unter [http://meta.wikimedia.org/wiki/Wik2dict diesem Link hier] gibts ein Konvertierungstool, um den SQL-Dump eines mediawikis ins dict-Format zu konvertieren (was ja das Dictionary-Tool in MacOS X verwendet). Damit wärs theoretisch möglich, die Wikipedia zu importieren, halt nur immer mit den aktuellen Release-Ständen 27cb522d89e0a3828a3718663dcab1e0cf1750d9 Diskutil 0 62 205 204 2023-03-08T08:32:12Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Terminal]] Disk Util - lokalisiert: Festplatten-Dienstprogramm - ist ein Werkzeug zum Bearbeiten, Löschen und Erzeugen von Partitionen auf Festplatten und anderen Datenträgern. Es besteht dabei aus zwei Komponenten: einerseits die graphische Benutzeroberfläche, die den meisten wohl bekannt sein dürfte. Hiermit lassen sich auch .dmg Images erstellen und CDs/DVDs brennen. Außerdem existiert das entsprechende Terminal-Pendant zu DiskUtil.app namens '''"diskutil"''', das noch weitere Optionen wie das Vergrößern und Verkleinern von Partitionen (macsprech: Volumes) bietet. Das Kommandozeilen-Pendant zum [[Dmg_Images_konvertieren|Erstellen und Manipulieren von dmg-Images]] ist übrigens [[hdiutil]]. ==Größe von Partitionen ändern== Seit Mac OS X 10.4.6 Update ist eine neue Option resize hinzugekommen. Im laufenden Betrieb kann eine Partition in der Größe verändert werden. Abfrage der aktuellen, der minimalen und maximalen Größe: diskutil resizeVolume disk1s2 limits Verändern der Größe einer Partition: diskutil resizeVolume disk1s2 75G ==Volume auswerfen== Per Kommandozeile kann ein Laufwerk auch ausgeworfen werden (unmount): diskutil eject /Volumes/NAMEDESLAUFWERKS == Weitere Informationen == * manpage zu {{Man|diskutil|diskutil}} * Mac OS X Server 10.4 [http://manuals.info.apple.com/en/System_Image_and_SW_Update_v10.4.pdf System Image and SW Update Manual] (PDF) * Mac OS X Server 10.4 [http://manuals.info.apple.com/en/Command_Line_v10.4.pdf Command Line Manual] (PDF) * Mac OS X Server 10.3 [http://manuals.info.apple.com/en/MacOSXSrvr10.3_CommandLineAdminGuide.pdf Command Line Administration] (PDF) * Mac OS X Server 10.3 [http://manuals.info.apple.com/en/MacOSXSrvr10.3_SystemImageAdmin.pdf Mac OS X Server (v10.3 or Later): System Image Administration Manual] (PDF) 9d05fd73d314a89c61a093c09d0fb88d9f5c4987 Template:Terminal 10 12 207 25 2023-03-08T08:32:12Z Hagbard 2 1 revision imported wikitext text/x-wiki <noinclude>Abkürzungsvorlage für die Darstellung eines Links zur Kategorie "Terminal" mit zugehörigem Icon. ;Vorschau: {{Terminal}} </noinclude><includeonly>{{TerminalIcon}} [[:Category:Terminal|Terminal]]</includeonly> 280a38b13db32edc2680fe1da871b8128cb9e806 Template:TerminalIcon 10 7 209 15 2023-03-08T08:32:13Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Image:Font Awesome 5 solid terminal.svg|16px]] 3a12abf32df0a3dac232bae0b8c127b61965f6d3 Template:ContentboxWithIcon 10 23 211 41 2023-03-08T08:32:13Z Hagbard 2 1 revision imported wikitext text/x-wiki <noinclude>Vorlage für eine Inhaltsbox ohne Titel, mit Titelicon. '''Hinweis:''' Das Symbol wird immer auf 32 Pixel Breite herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIcon"> <td id="topleftIcon">&nbsp;</td> <td id="topIcon">[[Image:{{{icon}}}|32px]]</td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td id="content">{{{content}}}</td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> cd00d7e8a8d64f7965b61e8d7d180411307d59f6 Template:Important vi-directives 10 63 213 212 2023-03-08T08:32:13Z Hagbard 2 1 revision imported wikitext text/x-wiki {{Information| wichtige und häufig benötigte vi-Kommandos: i Editiermodus starten x aktuelles Zeichen löschen (im Editiermodus) dd aktuelle Zeile löschen (im Editiermodus) ESC Editiermodus beenden 0 Sprung an den Zeilenanfang (nicht im Editiermodus!) $ Sprung ans Zeilenende (nicht im Editiermodus!) :wq Änderungen speichern und Editor beenden :q! Beenden und Änderungen verwerfen Siehe auch: {{Man|vi|vi}} manpage }} f6a108d56024712fb55ca6591c2e66c36e8ce142 Template:Info 10 18 215 36 2023-03-08T08:32:13Z Hagbard 2 1 revision imported wikitext text/x-wiki <noinclude>Vorlage zur Einblendung eines einfachen Bausteins mit einem frei definierbaren Text für weitere Informationen zu einem gerade behandelten Thema. ;Beispiel: <nowiki>{{Information|Text}}</nowiki> ;Ausgabe: {{Information|Text}} </noinclude><includeonly> {{InfoboxWithIcon|icon=Logo informations.svg|width=100%|content={{{1}}}}}</includeonly> 84362ec794f2dc4b243d74e8d84b278fd9a53036 Template:InfoboxWithIcon 10 20 217 38 2023-03-08T08:32:14Z Hagbard 2 1 revision imported wikitext text/x-wiki <noinclude>Diese Vorlage dient der Erzeugung verschiedener Artikelbausteine, wie z.B. zur Kennzeichnung * ausbaufähiger Artikel * unvollständiger Artikel * unverständlicher Artikel * Löschkandidaten usw. Die Vorlage sollte '''nicht direkt verwendet werden''' sondern nur innerhalb der obigen Artikelbausteine zum Einsatz kommen. Für die Verwendung der Vorlage ohne Icon ist die Vorlage [[Vorlage:Infobox|Infobox]] zu verwenden. </noinclude><includeonly>{{ContentboxWithIcon|icon={{{icon}}}|width={{{width}}}|content= {{{content}}}}}</includeonly> bd0946aa8042eb0795a3696209fb38d9456d7eb1 Template:Information 10 19 219 37 2023-03-08T08:32:14Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[Template:Info]] f4ee1f9330fc42f4fa24305159b5c2aca42be66c Template:Man 10 30 221 55 2023-03-08T08:32:14Z Hagbard 2 1 revision imported wikitext text/x-wiki <noinclude>Vorlage zur Erzeugung eines Links zum Debian [https://manpages.debian.org/ Manpage-Browser.] ;Verwendungsbeispiel <nowiki>{{Man|vi|vi}}</nowiki> {{Man|vi|vi}} </noinclude><includeonly>{{TerminalIcon}} [https://manpages.debian.org/jump?q={{{1}}} {{{2}}}]</includeonly> 9ac923ad86509ed8f1993310d9adda1f21ce643f Template:TT 10 25 223 43 2023-03-08T08:32:15Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[Template:Tt]] 6cdf18f0b03e84516fe5817447e57ab6daf31701 Template:Tt 10 26 225 44 2023-03-08T08:32:15Z Hagbard 2 1 revision imported wikitext text/x-wiki <noinclude>Vorlage zur Ausgabe einer Zeichenfolge in Monospaced-Schrift (Typewriter), z.B. für kurze Codeschnippsel oder Variablennamen im Fließtext. ;Verwendung: <nowiki>{{TT|Monospaced Text}}</nowiki> ;Ausgabe: {{TT|Monospaced Text}} </noinclude><includeonly><font style="font-family:courier,monospace; font-size:100%;">{{{1}}}</font></includeonly> 069562a95ba5abb8a7b7798fd5df6ced5b79266d Template:Important 10 21 227 39 2023-03-08T08:32:15Z Hagbard 2 1 revision imported wikitext text/x-wiki <noinclude>Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für wichtige Informationen zu einem gerade behandelten Thema. ;Beispiel: <nowiki>{{Important|Text}}</nowiki> ;Ausgabe: {{Important|Text}} </noinclude><includeonly> {{InfoboxWithIcon|icon=Gefahrenzeichen_16.svg|width=100%|content={{{1}}}}}</includeonly> 702a23f9120b4a3dc5aa2f93dce2ed5d8bb3db74 Template:Border-radius 10 13 229 26 2023-03-08T08:32:15Z Hagbard 2 1 revision imported wikitext text/x-wiki <includeonly>border-radius: {{{1|8px}}};</includeonly> 5396583dc02d0ca09590932b9e22794f9a02c697 Template:Box-shadow 10 14 231 27 2023-03-08T08:32:16Z Hagbard 2 1 revision imported wikitext text/x-wiki <includeonly>box-shadow: {{{1|4px}}} {{{2|4px}}} {{{3|4px}}} {{{4|#ccc}}};</includeonly> ab7836c28cdf6feabce7a4e3627ec4b2015c202a Template:Key press 10 3 233 9 2023-03-08T08:32:16Z Hagbard 2 1 revision imported wikitext text/x-wiki {{key press/core|{{{1|}}}}}<!-- -->{{#if:{{{2|}}}|{{{chain first|{{{chain|+}}}}}}{{key press/core|{{{2}}}}}}}<!-- -->{{#if:{{{3|}}}|{{{chain second|{{{chain|+}}}}}}{{key press/core|{{{3}}}}}}}<!-- -->{{#if:{{{4|}}}|{{{chain third|{{{chain|+}}}}}}{{key press/core|{{{4}}}}}}}<!-- -->{{#if:{{{5|}}}|{{{chain fourth|{{{chain|+}}}}}}{{key press/core|{{{5}}}}}}}<!-- -->{{#if:{{{6|}}}|{{{chain fifth|{{{chain|+}}}}}}{{key press/core|{{{6}}}}}}}<!-- -->{{#if:{{{7|}}}|{{{chain sixth|{{{chain|+}}}}}}{{key press/core|{{{7}}}}}}}<!-- -->{{#if:{{{8|}}}|{{{chain seventh|{{{chain|+}}}}}}{{key press/core|{{{8}}}}}}}<!-- -->{{#if:{{{9|}}}|{{{chain eighth|{{{chain|+}}}}}}{{key press/core|{{{9}}}}}}}<!-- -->{{#if:{{{10|}}}|{{{chain ninth|{{{chain|+}}}}}}{{key press/core|{{{10}}}}}}}<!-- -->{{#if:{{{11|}}}|[[Category:Wikipedia keypress template parameter needs fixing]]}}<noinclude> <!-- add category and language links to the /doc sub-page, not here --> == Usage == Example : {{Tlx|key press|A}} → {{key press|A}} To illustrate keystroke combinations, just use extra parameters: : {{Tlx|key press|Alt|P}} → {{key press|Alt|P}} : {{Tlx|key press|Ctrl|Alt|Del}} → {{key press|Ctrl|Alt|Del}} See https://en.wikipedia.org/wiki/Template:Key_press for details </noinclude> 98d8afc793a3bac4f477922d15b248c55a19cd75 Template:Key press/core 10 4 235 104 2023-03-08T08:32:16Z Hagbard 2 1 revision imported wikitext text/x-wiki <kbd class="keyboard-key nowrap" style="white-space: nowrap; border: 1px solid #aaa; {{border-radius|0.2em}} {{box-shadow|0.1em|0.2em|0.2em|#ddd}} background-color: #f9f9f9; {{linear-gradient|top|#eee, #f9f9f9, #eee}} padding: 0.1em 0.3em; font-family: inherit; font-size: 0.85em;">{{#switch:{{lc:{{{1}}}}} | apple = [[Image:Apple logo black.svg|12px]] Apple | appleicon = [[Image:Apple logo black.svg|12px]] | power = [[Image:IEC5009_Standby_Symbol.svg|10px]] Power <!-- {{Unicode|&#x23FB;}} --> | caps lock = {{Unicode|⇪}} Caps Lock | [[caps lock]] = {{Unicode|⇪}} [[Caps Lock]] | shift = {{Unicode|⇧}} Shift | [[shift key|shift]] = {{Unicode|⇧}} [[Shift key|Shift]] | enter = {{Unicode|↵}} Enter | [[enter key|enter]] = {{Unicode|↵}} [[Enter key|Enter]] | cmd = {{Unicode|⌘}} Cmd | [[cmd key|cmd]] | [[command key|cmd]] = {{Unicode|⌘}} [[Command key|Cmd]] | command = {{Unicode|⌘}} Command | [[cmd key|command]] | [[command key|command]] = {{Unicode|⌘}} [[Command key|Command]] | esc = {{Unicode|⎋}} Esc | opt = {{Unicode|⌥}} Opt | alt = {{Unicode|⌥}} Alt | [[opt key|opt]] | [[option key|opt]] = {{Unicode|⌥}} [[Option key|Opt]] | option = {{Unicode|⌥}} Option | [[option key]] | [[opt key|option]] | [[option key|option]] = {{Unicode|⌥}} [[Option key|Option]] | tab = Tab {{Unicode|↹}} | [[tab key|tab]] = [[Tab key|Tab]] {{Unicode|↹}} | backspace = ← Backspace | [[backspace]] = ← [[Backspace]] | win = {{Unicode|⊞}} Win | [[win key|win]] | [[windows key|win]] = {{Unicode|⊞}} [[Windows key|Win]] | menu = {{Unicode|≣}} Menu | [[menu key|menu]] = {{Unicode|≣}} [[Menu key|Menu]] | up = ↑ | [[arrow keys|up]] = [[Arrow keys|↑]] | down = ↓ | [[arrow keys|down]] = [[Arrow keys|↓]] | left = ← | [[arrow keys|left]] = [[Arrow keys|←]] | right = → | [[arrow keys|right]] = [[Arrow keys|→]] | * | asterisk = <nowiki>*</nowiki> | # | hash = <nowiki>#</nowiki> | [[#]] = [[Number sign|#]] | : | colon = <nowiki>:</nowiki> | [[:]] = [[Colon (punctuation)|:]] | pipe = <nowiki>|</nowiki> | [[|]] = [[Pipe symbol|<nowiki>|</nowiki>]] | ; | semicolon = <nowiki>;</nowiki> | [[;]] = [[Semi-colon|<nowiki>;</nowiki>]] | equals = <nowiki>=</nowiki> <!-- Left & right analog sticks --> | l-up | l up = L↑ | l-down | l down = L↓ | l-left | l left = L← | l-right | l right = L→ | l-ne | l ne = L↗ | l-se | l se = L↘ | l-nw | l nw = L↖ | l-sw | l sw = L↙ | r-up | r up = R↑ | r-down | r down = R↓ | r-left | r left = R← | r-right | r right = R→ | r-ne | r ne = R↗ | r-se | r se = R↘ | r-nw | r nw = R↖ | r-sw | r sw = R↙ <!-- PlayStation --> | ps x | ex = {{unicode|×}} | ps c | circle = {{unicode|○}} | ps s | square = {{unicode|□}} | ps t | triangle = {{unicode|△}} <!-- Nintendo 64 & GameCube --> | c-up | c up = C↑ | c-down | c down = C↓ | c-left | c left = C← | c-right | c right = C→ | c-ne | c ne = C↗ | c-se | c se = C↘ | c-nw | c nw = C↖ | c-sw | c sw = C↙ <!-- default --> | #default = {{{1}}} }}</kbd><noinclude> <!-- Add categories and interwikis links to the /doc subpage, not here! --> </noinclude> 1299583ceff4cb3f76e4b7cb6a1cdfa7d8ebbd74 Template:Linear-gradient 10 15 237 28 2023-03-08T08:32:16Z Hagbard 2 1 revision imported wikitext text/x-wiki <includeonly>background-image: -moz-linear-gradient({{{1|}}}, {{{2|}}}); background-image: -o-linear-gradient({{{1|}}}, {{{2|}}}); background-image: -webkit-linear-gradient({{{1|}}}, {{{2|}}}); background-image: linear-gradient({{#switch: {{{1|}}} | top = to bottom | bottom = to top | left = to right | right = to left | top left | left top = to bottom right | top right | right top = to bottom left | bottom left | left bottom = to top right | bottom right | right bottom = to top left | #default = {{{1}}} }}, {{{2|}}});</includeonly><noinclude> </noinclude> 28ea207a305c1e470f2f8fa54ec25b3130453c5d Template:Unicode 10 6 239 13 2023-03-08T08:32:17Z Hagbard 2 1 revision imported wikitext text/x-wiki <span class="Unicode">{{{1}}}</span><noinclude> 0eaf6d48452ec916f583b90d1dce0c1015cc4d1e Automator 0 47 240 175 2023-03-08T08:34:12Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Verify]] ==Automator== === Automator Finder plug-in deinstallieren === Die Plug-ins werden in ~/Library/Workflows/Applications/Finder installiert. Dort einfach rauslöschen mit: rm -R ~/Library/Workflows/Applications/Finder/name.workflow ==Beispiele== <div class="contentboxRight_relative"><div> <big>&nbsp;Automator Actions on apple.com<br />&nbsp;</big> <rssHeadlinesSmall>apple_automator.rss</rssHeadlinesSmall> ''Quelle: [http://www.apple.com/rss apple.com/rss]'' </div></div> ===Workflow mit iCal planen=== Dieser Tip basiert auf einem Tip, der vor kurzem auf macosxhints.com aufgetaucht ist: Um einen Workflow zu einem bestimmten Zeitpunkt zu starten geht man folgendermaßen vor: * Den fertigen Automator Workflow als Plug-In speichern * Plug-in für "iCal Erinnerung" auswählen und Namen vergeben. * iCal startet daraufhin und kreiert einen neuen Eintrag. * Diesen Eintrag nun nach belieben ändern. * Der Workflow wird zum angegebenen Termin ausgeführt. ===Archive-and-Mail=== Es gibt zwei Möglichkeiten, dieses Beispiel zu realisieren, zum einen über eine Art DropBox, also einen Ordner indem alle neuen Objekte gepackt und versendet werden, oder als Finder- Plug-In. Der Unterschied ist lediglich in der Installation: # falls man eine Art DropBox will vorher den Ordner schonmal anlegen # Automator öffnen;-) # aus den Finder Optionen "Archive erstellen" auswählen, die Optionen sind deaktiviert # aus den Mail Optionen "Neue eMail" auswählen und an das "Archiv erstellen" anhängen. # Dann wählt man <KB>alt + apfel + s</KB> oder im Menu als "Plug-in sichern" ## Als Ordneraktion + Namen vergeben und den oben gewählten Namen angeben. ## oder als Ziel Finder, dann kann mit rechtsklick auf das Objekt der Name des Automator Workflows gewählt werden. Noch offen ist leider, dass das Archiv in diesem Beispiel auf dem Schreibtisch liegen bleibt, wie dieses am Ende der Aktion gelöscht werden kann ist noch offen. Bei der DropBox verbleiben die Objekte/Dateien dann im Ordner evtl. muss hier beim reindroppen schon <KB>opt</KB> gedrückt werden um ein verschieben zu verhindern. ===Dateien umbennen=== Dieses Beispiel soll verdeutlichen, wie schnell man mit Automator mal was zusammenklicken kann. Zum testen immer mal vorher ein Backup der Dateien machen, aber das schlägt Automator auch vor. # Automator öffnen;-) # Alle Dateien, die umbenannt werden sollen markieren und in das Workflow Fenster ziehen. # Finder Aktion "Objekt umbenennen" unten anhängen # Aufklappen und "Text ersetzen" wählen # Suchen String und Ersetzen durch String angeben # Ausführen klicken <KB>apfel + r</KB> ==Weiterführende Informationen== ===Fertige Automator Aktionen=== '''Portale:''' * [http://automatorworld.com/ Automator World] * [http://automator.us automator.us] * [http://www.apple.com/downloads/macosx/automator/ Automator Actions bei apple.com] '''[http://www.automatedworkflows.com/automator/ultimate.html Ultimate Productivity Automator Action Packs]''' * Adobe InDesign Action Pack * Adobe Photoshop Action Pack * Automator Action Pack * FileMaker Pro Action Pack * Finder Action Pack * iPhoto Action Pack * Preview (Vorschau) Action Pack * QuarkXPress Action Pack * System Action Pack * Text Edit Action Pack '''[http://www.apple.com/downloads/macosx/automator/bluetoothobjectpush.html OBEX Push Automator Aktion]''' :Automatior Action für [[wikipedia:de:OBEX|OBEX]] Object-Push über Bluetooth (Geräte müssen das OBEX-Profil unterstützen) '''[http://www.completedigitalphotography.com/index.php?p=339 Photoshop Automator Actions]''' : Eine Sammlung aus über 70 Photoshop-Aktionen wie beispielsweise die Auflösung oder den Farbmodus ändern, Bilder zuschneiden, Filter anwenden uvm (Donationware) ===Entwicklung von Automator Aktionen=== * O'Reilly [http://www.macdevcenter.com MacDevCenter]: [http://www.macdevcenter.com/pub/a/mac/2005/05/03/automator.html Write Your Own Automator Actions] (Matt Neuburg) * [http://www.heise.de/ct c't] Artikel ''Fließbandarbeit: Aktionen für den Automator von Mac OS X 10.4 selbst gemacht'' (Ausgabe 06/2006, S. 250), gibts leider nur in Hardware oder ab August 2006 auf der Jahrgangs-CD/DVD. 8b23be64e1014a054f3d7bfee24e3895ddb93fe6 254 240 2023-03-08T09:02:18Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Verify]][[Category:Translate]] ==Automator== === Automator Finder plug-in deinstallieren === Die Plug-ins werden in ~/Library/Workflows/Applications/Finder installiert. Dort einfach rauslöschen mit: rm -R ~/Library/Workflows/Applications/Finder/name.workflow ==Beispiele== <div class="contentboxRight_relative"><div> <big>&nbsp;Automator Actions on apple.com<br />&nbsp;</big> <rssHeadlinesSmall>apple_automator.rss</rssHeadlinesSmall> ''Quelle: [http://www.apple.com/rss apple.com/rss]'' </div></div> ===Workflow mit iCal planen=== Dieser Tip basiert auf einem Tip, der vor kurzem auf macosxhints.com aufgetaucht ist: Um einen Workflow zu einem bestimmten Zeitpunkt zu starten geht man folgendermaßen vor: * Den fertigen Automator Workflow als Plug-In speichern * Plug-in für "iCal Erinnerung" auswählen und Namen vergeben. * iCal startet daraufhin und kreiert einen neuen Eintrag. * Diesen Eintrag nun nach belieben ändern. * Der Workflow wird zum angegebenen Termin ausgeführt. ===Archive-and-Mail=== Es gibt zwei Möglichkeiten, dieses Beispiel zu realisieren, zum einen über eine Art DropBox, also einen Ordner indem alle neuen Objekte gepackt und versendet werden, oder als Finder- Plug-In. Der Unterschied ist lediglich in der Installation: # falls man eine Art DropBox will vorher den Ordner schonmal anlegen # Automator öffnen;-) # aus den Finder Optionen "Archive erstellen" auswählen, die Optionen sind deaktiviert # aus den Mail Optionen "Neue eMail" auswählen und an das "Archiv erstellen" anhängen. # Dann wählt man <KB>alt + apfel + s</KB> oder im Menu als "Plug-in sichern" ## Als Ordneraktion + Namen vergeben und den oben gewählten Namen angeben. ## oder als Ziel Finder, dann kann mit rechtsklick auf das Objekt der Name des Automator Workflows gewählt werden. Noch offen ist leider, dass das Archiv in diesem Beispiel auf dem Schreibtisch liegen bleibt, wie dieses am Ende der Aktion gelöscht werden kann ist noch offen. Bei der DropBox verbleiben die Objekte/Dateien dann im Ordner evtl. muss hier beim reindroppen schon <KB>opt</KB> gedrückt werden um ein verschieben zu verhindern. ===Dateien umbennen=== Dieses Beispiel soll verdeutlichen, wie schnell man mit Automator mal was zusammenklicken kann. Zum testen immer mal vorher ein Backup der Dateien machen, aber das schlägt Automator auch vor. # Automator öffnen;-) # Alle Dateien, die umbenannt werden sollen markieren und in das Workflow Fenster ziehen. # Finder Aktion "Objekt umbenennen" unten anhängen # Aufklappen und "Text ersetzen" wählen # Suchen String und Ersetzen durch String angeben # Ausführen klicken <KB>apfel + r</KB> ==Weiterführende Informationen== ===Fertige Automator Aktionen=== '''Portale:''' * [http://automatorworld.com/ Automator World] * [http://automator.us automator.us] * [http://www.apple.com/downloads/macosx/automator/ Automator Actions bei apple.com] '''[http://www.automatedworkflows.com/automator/ultimate.html Ultimate Productivity Automator Action Packs]''' * Adobe InDesign Action Pack * Adobe Photoshop Action Pack * Automator Action Pack * FileMaker Pro Action Pack * Finder Action Pack * iPhoto Action Pack * Preview (Vorschau) Action Pack * QuarkXPress Action Pack * System Action Pack * Text Edit Action Pack '''[http://www.apple.com/downloads/macosx/automator/bluetoothobjectpush.html OBEX Push Automator Aktion]''' :Automatior Action für [[wikipedia:de:OBEX|OBEX]] Object-Push über Bluetooth (Geräte müssen das OBEX-Profil unterstützen) '''[http://www.completedigitalphotography.com/index.php?p=339 Photoshop Automator Actions]''' : Eine Sammlung aus über 70 Photoshop-Aktionen wie beispielsweise die Auflösung oder den Farbmodus ändern, Bilder zuschneiden, Filter anwenden uvm (Donationware) ===Entwicklung von Automator Aktionen=== * O'Reilly [http://www.macdevcenter.com MacDevCenter]: [http://www.macdevcenter.com/pub/a/mac/2005/05/03/automator.html Write Your Own Automator Actions] (Matt Neuburg) * [http://www.heise.de/ct c't] Artikel ''Fließbandarbeit: Aktionen für den Automator von Mac OS X 10.4 selbst gemacht'' (Ausgabe 06/2006, S. 250), gibts leider nur in Hardware oder ab August 2006 auf der Jahrgangs-CD/DVD. 8affe735f602df63df232cf787502eb2142f6b38 Dashboard 0 56 241 193 2023-03-08T08:34:41Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Museum]] ==Allgemeine Tipps== ===Tastaturshortcuts=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" |-- bgcolor="#ffffff" | width="100px" | Dashboard öffnen || je nach Konfiguration, Default: {{Key press|F12}}. Bei Gedrückthalten verschwindet das Dashboard beim Loslassen wieder. |-- bgcolor="#ffffff" | Widgets Verwalten: || {{Key press|CMD|'}} (accent aigu, links neben backspace) |-- bgcolor="#ffffff" | Durch die Liste scrollen || {{Key press|CMD|left}} bzw. {{Key press|CMD|right}} |-- bgcolor="#ffffff" | Aktives Widget neu laden || {{Key press|CMD|r}} (Sichtbar an dem Warp-Effekt) |-- bgcolor="#ffffff" | Einzelne Widgets direkt schließen || {{Key press|Opt}} (gedrückt halten und mit dem Cursor über das Widget fahren, dann erscheint das Schließen-Symbol) |-- bgcolor="#ffffff" | Screenshots erstellen (Auswahlbereich) || {{Key press|CMD|Shift|4}} dann Auswahl markieren |-- bgcolor="#ffffff" | Screenshots erstellen (Widget) || {{Key press|CMD|Shift|4}} danach {{Key press|Space}} und gewünschtes WIdget anklicken |} === Dashboard deaktivieren === Um Dashboard zu deaktivieren auf der shell: defaults write com.apple.dashboard mcx-disabled -boolean YES Um Dashboard zu aktivieren auf der shell: defaults write com.apple.dashboard mcx-disabled -boolean NO Danch mit killall Dock das Dock neustarten. Wer das öfters machen will, kann sich auch mit dem [http://www.macosxhints.com/dlfiles/dash_toggle_scpt.txt Skript] helfen. Alternativ bietet auch Onyx diese Funktionalität oder das [http://www.natal.be/index.php/?p=8 Disable-Dashboard-Widget] Eine sehr praktische Möglichkeit, Dashboard (z.B. aus Speicherplatzgründen bei seltener Nutzung) regelmäßig zu beenden, bietet das "[http://www.macupdate.com/info.php/id/19834 StopDashboard Widget]". Dabei wird Dashboard nicht dauerhaft deaktiviert sondern wird automatisch bei der nächsten Nutzung wieder gestartet; was dann natürlich etwas länger dauert ... ===Dashboard neu starten=== Falls man beim Herumprobieren einmal das Dashboard abschießen sollte, muss dass Dock im Package /System/Library/CoreServices/Dock.app neu gestartet werden, da Dashboard ein Unterprozess vom Dock ist und somit nicht selber neu gestartet werden kann. Das geschieht beispielsweise mit Hilfe des Dashboard Widgets "[http://www.natal.be/2005/10/stopdashboard-widget/ StopDashboard]", im Terminal mit killall Dock oder alternativ unter Angabe der Prozessnummer (PID): kill -1 PID wobei die PID (Prozess-ID) des Docks im Terminal mittels ps -ax | grep Dock ermittelt werden kann. Für jedes gestartete Widget existiert hier ein Subprozess mit einer eigenen PID, für das Beenden des Docks ist die erste zu benutzen, bei deren Eintrag in etwa so etwas stehen sollte: /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock -psn_0_1234567 Alternativ dazu geht das auch in der Aktivitäts-Anzeige (Activity Monitor) im Menü "Darstellung": Dock in der Liste auswählen > Menü "Darstellung" > Eintrag "Signal an Prozess Senden" > "Auflegen (SIGHUP)" auswählen Falls das Dashboard auch darauf nicht mehr reagiert, muss man es mit einem "SIGKILL" abwürgen. Dazu ist beim kill-Befehl oben statt einer "1" eine "9" zu benutzen (oder in der Aktivitäts-Anzeige der entsprechende Eintrag auszuwählen). Eventuell ist anschließend das Dock mit dem folgenden Kommando (oder einem Doppelklick auf Dock.app) neu zu starten (obwohl es eigentlich automatisch wieder starten sollte, hatte ich den Fall schonmal): [[open]] /System/Library/CoreServices/Dock.app ===Netzwerkkommunikation von {{TT|dashboardadvisoryd}} unterbinden=== Von Zeit zu Zeit und bei bestehender Internetverbindung wird vom Dashboard zusätzlich zur Widget-Updateprüfung eine Nutzungsstatistik an Apple verschickt, das ohne zusätzliche Tools wie [http://www.obdev.at/products/littlesnitch/ LittleSnitch] gar nicht vom Nutzer zu Bemerken wäre. Dabei versucht der Hintergrunddienst {{TT|dashboardadvisoryd}} in regelmäßigen Abständen (um genau zu sein, alle 28800 Sekunden = 8 Stunden), eine Verbindung zu {{TT|www.apple.com}} (TCP Port 80) aufzubauen, um (angeblich vollkommen anonymisierte und unverfängliche) Daten zu versenden (auch [http://www.spiegel.de/netzwelt/tech/0,1518,425236,00.html der Spiegel] hat sich bereits diesem Thema gewidmet). Um Mac OS X dieses Verhalten abzugewöhnen, genügt es, den Dienst einfach mit folgendem Kommando im [[:Category:Terminal|Terminal]] zu beenden: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dashboard.advisory.fetch.plist Dabei wird folgender Eintrag in die Konfigurationsdateien {{TT|/System/Library/LaunchDaemons/com.apple.dashboard.advisory.fetch.plist}} und {{TT|/etc/mach_init.d/dashboardadvisoryd.plist}} geschrieben: <key>Disabled</key> <true/> Diese Einstellung sollte anschließend auch nochmls kontrolliert und ggf. von Hand mit Hilfe des Property List Editors (Bestandteil von Xcode) oder anderen Tools wie beispielweise dem [http://www.nightproductions.net/prefsetter.html Pref Setter] (Donationware) eingetragen werden, da dies scheinbar nicht immer erfolgt (beispielsweise hier unter Snow Leopard). Diese Vorgehensweise macht allerdings einen Neustart notwendig. Reaktivieren lässt sich der Dienst dann mit folgendem Kommando: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.dashboard.advisory.fetch.plist Eine genauere Beschreibung, wie man Mac OS X dieses Verhalten abgewöhnen kann, findet sich auf [http://pp.hillrippers.ch/blog/2006/07/04/Disable+the+dashboardadvisory-daemon/ pp.hillrippers.ch], die manuelle Methode (z.B. bei Updates von Version 10.3 auf Tiger oder neuer notwendig) ist auch auf [http://hints.macworld.com/article.php?story=20060705012530786 macworld.com] genauer beschrieben. ==Dashboard Widgets== === Mitgelieferte Widgets=== Hier eine Übersicht der mitgelieferten Widgets, Bewertungen sind herzlich willkommen ... *Adressbuch *Flugrouten (Flight Tracker) *Gelbe Seiten (Phonebook) :liefert leider nur Daten aus den USA, für europäische Nutzer also nur medium sinnvoll *iTunes Steuerung *Kalender *Notizzettel (Stickies): :hat allerdings nicht den selben Datenbestand wie die '''normale''' Stickies.app Notizzettel-Applikation *Puzzle *Taschenrechner *Übersetzung *Währungen Umrechnen *Weltuhr *Wetter-Widget *Widget Manager (seit MacOS 10.4.2) :Verwaltung, Installation, Aktivierung und Deaktivierung von Dashboard Widgets *Wörterbuch (Dictionary) ===Empfehlungen der Redaktion=== Verschiedene, empfehlenswerte Widgets, die den Alltag erleichtern: '''Netzwerk und System:''' * [http://www.apple.com/downloads/dashboard/reference/xcuts.html xcuts] - eine Liste aller MacOS [[MacOS_Keyboard_Shortcuts|Keyboard Shortcuts]] * [http://www.dashboardwidgets.com/showcase/details.php?wid=1510 AppUpdate] sucht nach Updates installierter Software * Kleine Widgets zur Überwachung von Uptime, RAM-, CPU-, ... Auslastung etc. ([http://www.shockwidgets.com/ shockwidgets.com]) * Airport Radar, Übersicht verfügbarer WLANs ([http://www.macwireless.com/html/support/airport_radar/index.php macwireless.com]) '''Alltag:''' * [http://www.apple.com/downloads/dashboard/email_messaging/noteit.html NoteIt] ist ein mehr als würdiger Ersatz für das Stickies-Widget, es beherrscht auch die Übertragung der Notizen auf iPod und Mobiltelefon * [http://widgetschmie.de/cgi-bin/index.pl?lang=de&sub=widgets/Fernsehen Fernsehen] - das aktuelle Fernsehprogramm via TV-Today * [http://www.dastelefonbuch-marketing.de/services/ Telefonbuch] (sagt ja eigentlich schon alles) * [http://caseapps.com/reminder.html Reminder Widget] - ein einfacher, kleiner Wecker (sehr praktisch) * [http://www.2strong.de/ Staumelder Widget] - Übersicht aktueller Staumeldungen und Blitzersichtungen aus dem Raum [[wikipedia:de:Frankfurt_am_Main|FFM]] (Helfer werden gesucht!) * [http://inkspotting.com/wikity/ WikityWidget] - ein kleines Wiki im Dashboard (speichert die Daten in einer [http://www.sqlite.org/ SQLite] Datenbank), eignet sich hervorragend für umfangreichere Notizen. Durch die Möglichkeit von Links deutlich komfortabler und flexibler als die Mac OS Stickies ... * [http://palple.spymac.com/widgets/currencyconverter/index.html Currency Converter] (unterstützt neben einer Mehrfachkonvertierung auch mehr Währungen als das mitgelieferte Apple-Widget) * [http://www.dashboardwidgets.com/showcase/details.php?wid=520 dict.leo.org Widget] für de/en und de/fr '''Nützliche Werkzeuge:''' * [http://www.natal.be/2005/10/stopdashboard-widget/ StopDashboard] zum Beenden und Neustarten des Dashboard (bzw. des Dock) * Das [http://www.natal.be/index.php/?p=8 DisableDashboard Widget] zum Deaktivieren von Dashboard, z.B. um Arbeitsspeicher für andere speicherhungrige Anwendungen freizugeben. * [http://www.aranaio.com/osx.php Hier] gibt es Cheatsheet-Widgets für die Syntax der [[:Category:Terminal|Terminal-Kommandos]] {{Man|vi|vi}}, {{Man|sed|sed}}, {{Man|awk|awk}}, {{Man|diff|diff}} und {{Man|grep|grep}} '''Funstuff:''' * Für die tägliche Ration Bluescreen gibts [http://www.dashboardwidgets.com/showcase/details.php?wid=1035 dieses Widget hier] ===Widget Archive=== * Apple [http://www.apple.com/de/downloads/dashboard/ Dashboard Widgets] * [http://www.dashboardwidgets.com DashboardWidgets.com] * [http://www.tiger-widgets.de/ tiger-widgets.de] ==Widgets selber erstellen== ... kommt noch ... ===Widgets lokalisieren=== Eine sehr einfache Möglichkeit, sich einmal die Funktionsweise von Dashboard Wdgets und deren Bestandteile näher kennenzulernen, ist das Herumspielen an fertigen Widgets. Weitere Informationen dazu gibt es im Artikel "[[Widgets lokalisieren]]". ==Weitere Informationen== ===Macwrench=== * [[Screenshots von Dashboard-Widgets erstellen]] * <del>Yahoo Widgets (früher: Konfabulator)</del> wurde eingestellt * [https://dev.opera.com/tags/widgets/ Opera Widgets] (kleine Widgets für den Webbrowser [http://www.opera.com Opera] ===Weblinks=== * Apple Developer Connection: [http://developer.apple.com/documentation/AppleApplications/Reference/Dashboard_Ref/DashboardPlist/DashboardPlist.html Dashboard Info.plist Keys] * Wikipedia-Artikel zu [[wikipedia:de:Widget_(Desktop)|Widgets]] * [http://www.islayer.com/blog/?p=88 Tipps und Tricks] rund um das Dashboard auf iSlayer.com (engl.) ===Literatur zu Dashboard Widgets=== Im [http://www.heise.de heise-Verlag] sind zum Thema mittlerweile ein paar recht interessante Artikel erschienen: * [http://www.heise.de/ix/ iX] Ausgabe 7/2005 - auch [http://www.heise.de/ix/artikel/2005/07/140/ online nachzulesen] * [http://www.heise.de/ct c't] Artikel ''Mac OS X: Eigene Widgets für das Dashboard erstellen'' (Ausgabe 18/2005, S. 178), gibts leider nur in Hardware oder ab Januar 2006 auf der Jahrgangs-CD/DVD. Weitere Informationen: * Apple: [[ADC:macosx/dashboard.html|Developing Dashboard Widgets]]<br />''"This article shows you how Dashboard Widgets work, and provides an introduction to how to develop and deliver modular functionality in bite-sized pieces."'' * Apple: [[ADC:documentation/AppleApplications/Conceptual/Dashboard_Tutorial/index.html|Dashboard Programming Guide]] ([[ADC:documentation/AppleApplications/Conceptual/Dashboard_Tutorial/Dashboard_Tutorial.pdf|PDF]]) - Introduction to Dashboard Tutorial<br />''"This document provides an overview of Dashboard and the widgets that exist in it. It introduces you to the Dashboard environment and walks you through the the creation of a sample widget."'' * Apple: [[ADC:documentation/AppleApplications/Reference/Dashboard_Ref/index.html|Dashboard Reference]] ([[ADC:documentation/AppleApplications/Reference/Dashboard_Ref/Dashboard_Ref.pdf|PDF]])<br />''"This document contains reference material for creating Dashboard widgets. It documents the JavaScript objects available to widgets and the interfaces used to configure and extend the behavior of a widget."'' * Apple: [[ADC:documentation/AppleApplications/Conceptual/Dashboard_ProgTopics/index.html|Introduction to Dashboard Programming Topics]] ([[ADC:documentation/AppleApplications/Conceptual/Dashboard_ProgTopics/Dashboard_ProgTopics.pdf|PDF]])<br />''"This document provides an overview of Dashboard and the widgets that exist in it. It discusses optional features that may be implemented in a widget, various Web kit technologies you may find useful, and touches on native code integration through a widget plug-in."'' * O'Reilly Blog: [http://www.oreillynet.com/mac/blog/2006/07/the_widget_makers_prime_direct.html The Widget Maker's Prime Directive] - über ressourcenfressende Widgets Es gibt auch Tools für die Erstellung und Veränderung von Widgets: * [https://www.macupdate.com/app/mac/17783/dashboard-widget-xcode-template Dashboard Widget Xcode Template] - freie Vorlage für die Erstellung eigener Widgets * [http://www.widgetmakerx.com/ Widget Maker X]: kostenpflichtiges Tool für das Erstellen und Editieren von Widgets incl. "Creation-Wizard", eine kleine Übersicht der Funktinen gibts bei [http://macnews.de/news/71209 macnews.de] * [https://www.macupdate.com/app/mac/18521/widgetarium Widgetarium] - ebenfalls kostenpflichtig * [http://www.usweho.com/ Widget Creator] - freies Tool zur Erstellung einfacher Widgets a52b4f10dfc784e07b8baa02b175eae3aebea90f 259 241 2023-03-08T09:03:15Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Museum]][[Category:Translate]] ==Allgemeine Tipps== ===Tastaturshortcuts=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" |-- bgcolor="#ffffff" | width="100px" | Dashboard öffnen || je nach Konfiguration, Default: {{Key press|F12}}. Bei Gedrückthalten verschwindet das Dashboard beim Loslassen wieder. |-- bgcolor="#ffffff" | Widgets Verwalten: || {{Key press|CMD|'}} (accent aigu, links neben backspace) |-- bgcolor="#ffffff" | Durch die Liste scrollen || {{Key press|CMD|left}} bzw. {{Key press|CMD|right}} |-- bgcolor="#ffffff" | Aktives Widget neu laden || {{Key press|CMD|r}} (Sichtbar an dem Warp-Effekt) |-- bgcolor="#ffffff" | Einzelne Widgets direkt schließen || {{Key press|Opt}} (gedrückt halten und mit dem Cursor über das Widget fahren, dann erscheint das Schließen-Symbol) |-- bgcolor="#ffffff" | Screenshots erstellen (Auswahlbereich) || {{Key press|CMD|Shift|4}} dann Auswahl markieren |-- bgcolor="#ffffff" | Screenshots erstellen (Widget) || {{Key press|CMD|Shift|4}} danach {{Key press|Space}} und gewünschtes WIdget anklicken |} === Dashboard deaktivieren === Um Dashboard zu deaktivieren auf der shell: defaults write com.apple.dashboard mcx-disabled -boolean YES Um Dashboard zu aktivieren auf der shell: defaults write com.apple.dashboard mcx-disabled -boolean NO Danch mit killall Dock das Dock neustarten. Wer das öfters machen will, kann sich auch mit dem [http://www.macosxhints.com/dlfiles/dash_toggle_scpt.txt Skript] helfen. Alternativ bietet auch Onyx diese Funktionalität oder das [http://www.natal.be/index.php/?p=8 Disable-Dashboard-Widget] Eine sehr praktische Möglichkeit, Dashboard (z.B. aus Speicherplatzgründen bei seltener Nutzung) regelmäßig zu beenden, bietet das "[http://www.macupdate.com/info.php/id/19834 StopDashboard Widget]". Dabei wird Dashboard nicht dauerhaft deaktiviert sondern wird automatisch bei der nächsten Nutzung wieder gestartet; was dann natürlich etwas länger dauert ... ===Dashboard neu starten=== Falls man beim Herumprobieren einmal das Dashboard abschießen sollte, muss dass Dock im Package /System/Library/CoreServices/Dock.app neu gestartet werden, da Dashboard ein Unterprozess vom Dock ist und somit nicht selber neu gestartet werden kann. Das geschieht beispielsweise mit Hilfe des Dashboard Widgets "[http://www.natal.be/2005/10/stopdashboard-widget/ StopDashboard]", im Terminal mit killall Dock oder alternativ unter Angabe der Prozessnummer (PID): kill -1 PID wobei die PID (Prozess-ID) des Docks im Terminal mittels ps -ax | grep Dock ermittelt werden kann. Für jedes gestartete Widget existiert hier ein Subprozess mit einer eigenen PID, für das Beenden des Docks ist die erste zu benutzen, bei deren Eintrag in etwa so etwas stehen sollte: /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock -psn_0_1234567 Alternativ dazu geht das auch in der Aktivitäts-Anzeige (Activity Monitor) im Menü "Darstellung": Dock in der Liste auswählen > Menü "Darstellung" > Eintrag "Signal an Prozess Senden" > "Auflegen (SIGHUP)" auswählen Falls das Dashboard auch darauf nicht mehr reagiert, muss man es mit einem "SIGKILL" abwürgen. Dazu ist beim kill-Befehl oben statt einer "1" eine "9" zu benutzen (oder in der Aktivitäts-Anzeige der entsprechende Eintrag auszuwählen). Eventuell ist anschließend das Dock mit dem folgenden Kommando (oder einem Doppelklick auf Dock.app) neu zu starten (obwohl es eigentlich automatisch wieder starten sollte, hatte ich den Fall schonmal): [[open]] /System/Library/CoreServices/Dock.app ===Netzwerkkommunikation von {{TT|dashboardadvisoryd}} unterbinden=== Von Zeit zu Zeit und bei bestehender Internetverbindung wird vom Dashboard zusätzlich zur Widget-Updateprüfung eine Nutzungsstatistik an Apple verschickt, das ohne zusätzliche Tools wie [http://www.obdev.at/products/littlesnitch/ LittleSnitch] gar nicht vom Nutzer zu Bemerken wäre. Dabei versucht der Hintergrunddienst {{TT|dashboardadvisoryd}} in regelmäßigen Abständen (um genau zu sein, alle 28800 Sekunden = 8 Stunden), eine Verbindung zu {{TT|www.apple.com}} (TCP Port 80) aufzubauen, um (angeblich vollkommen anonymisierte und unverfängliche) Daten zu versenden (auch [http://www.spiegel.de/netzwelt/tech/0,1518,425236,00.html der Spiegel] hat sich bereits diesem Thema gewidmet). Um Mac OS X dieses Verhalten abzugewöhnen, genügt es, den Dienst einfach mit folgendem Kommando im [[:Category:Terminal|Terminal]] zu beenden: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dashboard.advisory.fetch.plist Dabei wird folgender Eintrag in die Konfigurationsdateien {{TT|/System/Library/LaunchDaemons/com.apple.dashboard.advisory.fetch.plist}} und {{TT|/etc/mach_init.d/dashboardadvisoryd.plist}} geschrieben: <key>Disabled</key> <true/> Diese Einstellung sollte anschließend auch nochmls kontrolliert und ggf. von Hand mit Hilfe des Property List Editors (Bestandteil von Xcode) oder anderen Tools wie beispielweise dem [http://www.nightproductions.net/prefsetter.html Pref Setter] (Donationware) eingetragen werden, da dies scheinbar nicht immer erfolgt (beispielsweise hier unter Snow Leopard). Diese Vorgehensweise macht allerdings einen Neustart notwendig. Reaktivieren lässt sich der Dienst dann mit folgendem Kommando: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.dashboard.advisory.fetch.plist Eine genauere Beschreibung, wie man Mac OS X dieses Verhalten abgewöhnen kann, findet sich auf [http://pp.hillrippers.ch/blog/2006/07/04/Disable+the+dashboardadvisory-daemon/ pp.hillrippers.ch], die manuelle Methode (z.B. bei Updates von Version 10.3 auf Tiger oder neuer notwendig) ist auch auf [http://hints.macworld.com/article.php?story=20060705012530786 macworld.com] genauer beschrieben. ==Dashboard Widgets== === Mitgelieferte Widgets=== Hier eine Übersicht der mitgelieferten Widgets, Bewertungen sind herzlich willkommen ... *Adressbuch *Flugrouten (Flight Tracker) *Gelbe Seiten (Phonebook) :liefert leider nur Daten aus den USA, für europäische Nutzer also nur medium sinnvoll *iTunes Steuerung *Kalender *Notizzettel (Stickies): :hat allerdings nicht den selben Datenbestand wie die '''normale''' Stickies.app Notizzettel-Applikation *Puzzle *Taschenrechner *Übersetzung *Währungen Umrechnen *Weltuhr *Wetter-Widget *Widget Manager (seit MacOS 10.4.2) :Verwaltung, Installation, Aktivierung und Deaktivierung von Dashboard Widgets *Wörterbuch (Dictionary) ===Empfehlungen der Redaktion=== Verschiedene, empfehlenswerte Widgets, die den Alltag erleichtern: '''Netzwerk und System:''' * [http://www.apple.com/downloads/dashboard/reference/xcuts.html xcuts] - eine Liste aller MacOS [[MacOS_Keyboard_Shortcuts|Keyboard Shortcuts]] * [http://www.dashboardwidgets.com/showcase/details.php?wid=1510 AppUpdate] sucht nach Updates installierter Software * Kleine Widgets zur Überwachung von Uptime, RAM-, CPU-, ... Auslastung etc. ([http://www.shockwidgets.com/ shockwidgets.com]) * Airport Radar, Übersicht verfügbarer WLANs ([http://www.macwireless.com/html/support/airport_radar/index.php macwireless.com]) '''Alltag:''' * [http://www.apple.com/downloads/dashboard/email_messaging/noteit.html NoteIt] ist ein mehr als würdiger Ersatz für das Stickies-Widget, es beherrscht auch die Übertragung der Notizen auf iPod und Mobiltelefon * [http://widgetschmie.de/cgi-bin/index.pl?lang=de&sub=widgets/Fernsehen Fernsehen] - das aktuelle Fernsehprogramm via TV-Today * [http://www.dastelefonbuch-marketing.de/services/ Telefonbuch] (sagt ja eigentlich schon alles) * [http://caseapps.com/reminder.html Reminder Widget] - ein einfacher, kleiner Wecker (sehr praktisch) * [http://www.2strong.de/ Staumelder Widget] - Übersicht aktueller Staumeldungen und Blitzersichtungen aus dem Raum [[wikipedia:de:Frankfurt_am_Main|FFM]] (Helfer werden gesucht!) * [http://inkspotting.com/wikity/ WikityWidget] - ein kleines Wiki im Dashboard (speichert die Daten in einer [http://www.sqlite.org/ SQLite] Datenbank), eignet sich hervorragend für umfangreichere Notizen. Durch die Möglichkeit von Links deutlich komfortabler und flexibler als die Mac OS Stickies ... * [http://palple.spymac.com/widgets/currencyconverter/index.html Currency Converter] (unterstützt neben einer Mehrfachkonvertierung auch mehr Währungen als das mitgelieferte Apple-Widget) * [http://www.dashboardwidgets.com/showcase/details.php?wid=520 dict.leo.org Widget] für de/en und de/fr '''Nützliche Werkzeuge:''' * [http://www.natal.be/2005/10/stopdashboard-widget/ StopDashboard] zum Beenden und Neustarten des Dashboard (bzw. des Dock) * Das [http://www.natal.be/index.php/?p=8 DisableDashboard Widget] zum Deaktivieren von Dashboard, z.B. um Arbeitsspeicher für andere speicherhungrige Anwendungen freizugeben. * [http://www.aranaio.com/osx.php Hier] gibt es Cheatsheet-Widgets für die Syntax der [[:Category:Terminal|Terminal-Kommandos]] {{Man|vi|vi}}, {{Man|sed|sed}}, {{Man|awk|awk}}, {{Man|diff|diff}} und {{Man|grep|grep}} '''Funstuff:''' * Für die tägliche Ration Bluescreen gibts [http://www.dashboardwidgets.com/showcase/details.php?wid=1035 dieses Widget hier] ===Widget Archive=== * Apple [http://www.apple.com/de/downloads/dashboard/ Dashboard Widgets] * [http://www.dashboardwidgets.com DashboardWidgets.com] * [http://www.tiger-widgets.de/ tiger-widgets.de] ==Widgets selber erstellen== ... kommt noch ... ===Widgets lokalisieren=== Eine sehr einfache Möglichkeit, sich einmal die Funktionsweise von Dashboard Wdgets und deren Bestandteile näher kennenzulernen, ist das Herumspielen an fertigen Widgets. Weitere Informationen dazu gibt es im Artikel "[[Widgets lokalisieren]]". ==Weitere Informationen== ===Macwrench=== * [[Screenshots von Dashboard-Widgets erstellen]] * <del>Yahoo Widgets (früher: Konfabulator)</del> wurde eingestellt * [https://dev.opera.com/tags/widgets/ Opera Widgets] (kleine Widgets für den Webbrowser [http://www.opera.com Opera] ===Weblinks=== * Apple Developer Connection: [http://developer.apple.com/documentation/AppleApplications/Reference/Dashboard_Ref/DashboardPlist/DashboardPlist.html Dashboard Info.plist Keys] * Wikipedia-Artikel zu [[wikipedia:de:Widget_(Desktop)|Widgets]] * [http://www.islayer.com/blog/?p=88 Tipps und Tricks] rund um das Dashboard auf iSlayer.com (engl.) ===Literatur zu Dashboard Widgets=== Im [http://www.heise.de heise-Verlag] sind zum Thema mittlerweile ein paar recht interessante Artikel erschienen: * [http://www.heise.de/ix/ iX] Ausgabe 7/2005 - auch [http://www.heise.de/ix/artikel/2005/07/140/ online nachzulesen] * [http://www.heise.de/ct c't] Artikel ''Mac OS X: Eigene Widgets für das Dashboard erstellen'' (Ausgabe 18/2005, S. 178), gibts leider nur in Hardware oder ab Januar 2006 auf der Jahrgangs-CD/DVD. Weitere Informationen: * Apple: [[ADC:macosx/dashboard.html|Developing Dashboard Widgets]]<br />''"This article shows you how Dashboard Widgets work, and provides an introduction to how to develop and deliver modular functionality in bite-sized pieces."'' * Apple: [[ADC:documentation/AppleApplications/Conceptual/Dashboard_Tutorial/index.html|Dashboard Programming Guide]] ([[ADC:documentation/AppleApplications/Conceptual/Dashboard_Tutorial/Dashboard_Tutorial.pdf|PDF]]) - Introduction to Dashboard Tutorial<br />''"This document provides an overview of Dashboard and the widgets that exist in it. It introduces you to the Dashboard environment and walks you through the the creation of a sample widget."'' * Apple: [[ADC:documentation/AppleApplications/Reference/Dashboard_Ref/index.html|Dashboard Reference]] ([[ADC:documentation/AppleApplications/Reference/Dashboard_Ref/Dashboard_Ref.pdf|PDF]])<br />''"This document contains reference material for creating Dashboard widgets. It documents the JavaScript objects available to widgets and the interfaces used to configure and extend the behavior of a widget."'' * Apple: [[ADC:documentation/AppleApplications/Conceptual/Dashboard_ProgTopics/index.html|Introduction to Dashboard Programming Topics]] ([[ADC:documentation/AppleApplications/Conceptual/Dashboard_ProgTopics/Dashboard_ProgTopics.pdf|PDF]])<br />''"This document provides an overview of Dashboard and the widgets that exist in it. It discusses optional features that may be implemented in a widget, various Web kit technologies you may find useful, and touches on native code integration through a widget plug-in."'' * O'Reilly Blog: [http://www.oreillynet.com/mac/blog/2006/07/the_widget_makers_prime_direct.html The Widget Maker's Prime Directive] - über ressourcenfressende Widgets Es gibt auch Tools für die Erstellung und Veränderung von Widgets: * [https://www.macupdate.com/app/mac/17783/dashboard-widget-xcode-template Dashboard Widget Xcode Template] - freie Vorlage für die Erstellung eigener Widgets * [http://www.widgetmakerx.com/ Widget Maker X]: kostenpflichtiges Tool für das Erstellen und Editieren von Widgets incl. "Creation-Wizard", eine kleine Übersicht der Funktinen gibts bei [http://macnews.de/news/71209 macnews.de] * [https://www.macupdate.com/app/mac/18521/widgetarium Widgetarium] - ebenfalls kostenpflichtig * [http://www.usweho.com/ Widget Creator] - freies Tool zur Erstellung einfacher Widgets 8277ed95c8bd895019d91416969d76068c61246e Betriebssystemversion prüfen 0 48 242 177 2023-03-08T08:35:25Z Hagbard 2 wikitext text/x-wiki [[Category:Development]][[Category:Hint]][[Category:Update]] ==OS X Laufzeitumgebung== <source lang=objc> #import <CoreServices/CoreServices.h> ... SInt32 major, minor, bugfix; Gestalt(gestaltSystemVersionMajor, &major); Gestalt(gestaltSystemVersionMinor, &minor); Gestalt(gestaltSystemVersionBugFix, &bugfix); //NSString *versionString = [NSString stringWithFormat:@"%d.%d.%d", major, minor, bugfix]; NSString *versionString = [NSString stringWithFormat:@"%d.%d", major, minor]; float version = [versionString floatValue]; if(version < 10.8) { ... } </source> ==OS X Build-Umgebung== <source lang=objc> #ifndef MAC_OS_X_VERSION_10_7 // only executed when building on 10.6.x or older #endif #ifdef MAC_OS_X_VERSION_10_6 // only executed when building on 10.6.x or newer #endif </source> ==iOS Laufzeitumgebung== Um für Codeweichen zur Laufzeit die aktuelle Systemversion abzugfragen, existieren verschiedene Möglichkeiten: ==={{TT|UIDevice}}=== <source lang=objc> NSLog(@"current system version: %@",[[UIDevice currentDevice] systemVersion]); if ([[[UIDevice currentDevice] systemVersion] compare:@"3.2" options:NSNumericSearch] != NSOrderedAscending) { // iOS 3.2 ooder neuer } if ([[[UIDevice currentDevice] systemVersion] compare:@"4.0" options:NSNumericSearch] != NSOrderedDescending) { // iOS 4.3 ooder älter } // alternativ, evtl. etwas übersichtlicher: float version = [[[UIDevice currentDevice] systemVersion] floatValue]; if (version >= 3.2) { // iOS 3.2 oder neuer } </source> ===System-Makros=== Zum Versionsvergleich sind auch auch einige Makros verfügbar: <source lang=objc> if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"4.0") { // iOS 4.0 ooder älter } </source> verfügbare Makros: <source lang=objc> SYSTEM_VERSION_EQUAL_TO() SYSTEM_VERSION_GREATER_THAN() SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO() SYSTEM_VERSION_LESS_THAN() SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO() </source> ===Anhand bekannter Klassen=== Um bestimmte iOS-Features zu nutzen, die erst ab (oder in) einer best. Version zur Verfügung stehen, bietet sich auch die direkte Nutzung dieser Klassen zur Versionsüberprüfung an: <source lang=objc> Class playerClass = NSClassFromString(@"MPMoviePlayerViewController"); if(playerClass) { // iOS 3.2 oder neuer } else { // älter als iOS 3.2 } Class notificationClass = NSClassFromString(@"UILocalNotification"); if(notificationClass) { // iOS 4.0 oder neuer } else { // älter als iOS 4.0 } </source> ==Projektumgebung== Für Abfragen zum Zeitpunkt des Übersetzens (in Xcode) existieren folgende Möglichkeiten: ===Base SDK=== In den verschiedenen iOS Versionen sind auch unterschiedliche Konstanten definiert, die dazu verwendet werden können (was allerdings weniger flexibel ist): <source lang=objc> #ifdef __IPHONE_3_2 // iOS 3.2 oder neuer #endif </source> {{Important|1=Diese Abfragen beziehen sich auf das aktuelle '''Base-SDK''' des Xcode Projektes und NICHT auf die tatsächlich zur Laufzeit verwendeten Betriebssystemversion! Wenn man also den Code mit Base SDK Version 5.0 übersetzt, werden immer alle Konstanten bis incl. {{TT|_IPHONE_5_0}} definiert sein - unabhängig davon, unter welcher SDK-Version die App anschließend läuft.}} ===Deployment Target (Systemvoraussetzung)=== Mit folgendem Code kann überprüft werden, welche die minimale, vom Xcode-Projekt unterstützte iOS Version ist (Deployment Target, wichtig v.a. für Bibliotheken und Frameworks): <source lang=objc> #if __IPHONE_OS_VERSION_MIN_REQUIRED < 30200 // älter als iOS 3.2 #else // iOS 3.2 oder neuer #endif </source> ==Siehe auch== * Cocoa Dev Central: [http://cocoadevcentral.com/articles/000067.php Checking the User's Mac OS X Version] d8f9d8e1b367af241917f1e9a8423d56e953b7c1 255 242 2023-03-08T09:02:26Z Hagbard 2 wikitext text/x-wiki [[Category:Development]][[Category:Hint]][[Category:Update]][[Category:Translate]] ==OS X Laufzeitumgebung== <source lang=objc> #import <CoreServices/CoreServices.h> ... SInt32 major, minor, bugfix; Gestalt(gestaltSystemVersionMajor, &major); Gestalt(gestaltSystemVersionMinor, &minor); Gestalt(gestaltSystemVersionBugFix, &bugfix); //NSString *versionString = [NSString stringWithFormat:@"%d.%d.%d", major, minor, bugfix]; NSString *versionString = [NSString stringWithFormat:@"%d.%d", major, minor]; float version = [versionString floatValue]; if(version < 10.8) { ... } </source> ==OS X Build-Umgebung== <source lang=objc> #ifndef MAC_OS_X_VERSION_10_7 // only executed when building on 10.6.x or older #endif #ifdef MAC_OS_X_VERSION_10_6 // only executed when building on 10.6.x or newer #endif </source> ==iOS Laufzeitumgebung== Um für Codeweichen zur Laufzeit die aktuelle Systemversion abzugfragen, existieren verschiedene Möglichkeiten: ==={{TT|UIDevice}}=== <source lang=objc> NSLog(@"current system version: %@",[[UIDevice currentDevice] systemVersion]); if ([[[UIDevice currentDevice] systemVersion] compare:@"3.2" options:NSNumericSearch] != NSOrderedAscending) { // iOS 3.2 ooder neuer } if ([[[UIDevice currentDevice] systemVersion] compare:@"4.0" options:NSNumericSearch] != NSOrderedDescending) { // iOS 4.3 ooder älter } // alternativ, evtl. etwas übersichtlicher: float version = [[[UIDevice currentDevice] systemVersion] floatValue]; if (version >= 3.2) { // iOS 3.2 oder neuer } </source> ===System-Makros=== Zum Versionsvergleich sind auch auch einige Makros verfügbar: <source lang=objc> if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"4.0") { // iOS 4.0 ooder älter } </source> verfügbare Makros: <source lang=objc> SYSTEM_VERSION_EQUAL_TO() SYSTEM_VERSION_GREATER_THAN() SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO() SYSTEM_VERSION_LESS_THAN() SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO() </source> ===Anhand bekannter Klassen=== Um bestimmte iOS-Features zu nutzen, die erst ab (oder in) einer best. Version zur Verfügung stehen, bietet sich auch die direkte Nutzung dieser Klassen zur Versionsüberprüfung an: <source lang=objc> Class playerClass = NSClassFromString(@"MPMoviePlayerViewController"); if(playerClass) { // iOS 3.2 oder neuer } else { // älter als iOS 3.2 } Class notificationClass = NSClassFromString(@"UILocalNotification"); if(notificationClass) { // iOS 4.0 oder neuer } else { // älter als iOS 4.0 } </source> ==Projektumgebung== Für Abfragen zum Zeitpunkt des Übersetzens (in Xcode) existieren folgende Möglichkeiten: ===Base SDK=== In den verschiedenen iOS Versionen sind auch unterschiedliche Konstanten definiert, die dazu verwendet werden können (was allerdings weniger flexibel ist): <source lang=objc> #ifdef __IPHONE_3_2 // iOS 3.2 oder neuer #endif </source> {{Important|1=Diese Abfragen beziehen sich auf das aktuelle '''Base-SDK''' des Xcode Projektes und NICHT auf die tatsächlich zur Laufzeit verwendeten Betriebssystemversion! Wenn man also den Code mit Base SDK Version 5.0 übersetzt, werden immer alle Konstanten bis incl. {{TT|_IPHONE_5_0}} definiert sein - unabhängig davon, unter welcher SDK-Version die App anschließend läuft.}} ===Deployment Target (Systemvoraussetzung)=== Mit folgendem Code kann überprüft werden, welche die minimale, vom Xcode-Projekt unterstützte iOS Version ist (Deployment Target, wichtig v.a. für Bibliotheken und Frameworks): <source lang=objc> #if __IPHONE_OS_VERSION_MIN_REQUIRED < 30200 // älter als iOS 3.2 #else // iOS 3.2 oder neuer #endif </source> ==Siehe auch== * Cocoa Dev Central: [http://cocoadevcentral.com/articles/000067.php Checking the User's Mac OS X Version] e08a77589ca4c0105d4f81e752235ced2598a4c1 Looup Words and Terms in a Dictionary 0 61 243 203 2023-03-08T08:37:34Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] ==Dictionary Schnellzugriff== Für all diejenigen, die häufiger Wörter (oder heisst es dann Worte) im Duden nachschlagen müssen, empfiehlt sich die Tastenkombination {{Key press|Ctrl}} {{Key press|cmd}} {{Key press|d}} Die Funktion ist in Cocoa-Applikationen wie den folgenden verfügbar: * TextEdit * Safari * Mail * Pages * Keynote Wer Sidetrack oder eine Mehr-Button-Maus benutzt, kann auch einen Shortcut auf diese Kombination legen ([http://www.agentlebossanova.net/images/sidetrack.jpg Einrichtung mit Sidetrack]) ==Auswahl an Wörterbüchern== Leider wird Mac OS X nur mit englischen Wörterbüchern ausgeliefert: * New Oxford American Dictonary * Oxford American Writers Dictionary * englische Wikipedia (seit Mac OS 10.5) Es lässt sich aber mit denen [http://web.mac.com/tekl/deutsch/W%C3%B6rterb%C3%BCcher.html auf dieser Seite] verfügbaren Wörterbüchern/Thesauri nachrüsten. ==Dictionary-Interna== Die Dictionaties sind in Form von <font face="courier">*.dict</font> Archiven im folgenden Verzeichnis zu finden: /Library/Dictionaries/ und beinhalten die folgenden Dateien: '''dict_body''' Dictionary-Inhalte als XML-Datei '''dictionary_1''' sieht ziemlich binär aus ... vllt. irgendeine Art TOC? '''images/''' ggf. noch ein Unterverzeichnis mit Bilddateien und die üblichen MacOS X Archiv-Beschreibungsdateien '''Info.plist''' '''PkgInfo''' Typ des Archivs (dictlam) '''version.plist''' Das Dictionary selber ist eine XML-Datei und folgt der [http://oup.dataformat.com/doc/OUP_DTD_Dictionary.html Dictionary DTD]. Vielleicht weiss jemand, was sich hinter der Binärdatei versteckt, sie beginnt auf jeden Fall recht obskur mit dictL,com.apple.DictionaryAccessMethod.ForwardTrie [http://www.google.com Google] wusste da auf die Schnelle auch nicht weiter ... ==Dictionaries hinzufügen== Nett wäre z.B. ein Wrapper für [http://dict.leo.org dict.leo.org] oder die [http://de.wikipedia.org Wikipedia] :) Vielleicht kann man ja irgendwie die [http://de.wikipedia.org/wiki/Wikipedia:Wikipedia-Distribution/Rohdaten Rohdaten] der Wikipedia Offline-Distribution Nutzen, die es als XML-Datei [http://download.directmedia.de/wikipedia/wikipedia_1_2005_xml.zip hier] zum Download gibt. Die ist aber anscheinend nicht sonderlich well-formed ... Unter [http://meta.wikimedia.org/wiki/Wik2dict diesem Link hier] gibts ein Konvertierungstool, um den SQL-Dump eines mediawikis ins dict-Format zu konvertieren (was ja das Dictionary-Tool in MacOS X verwendet). Damit wärs theoretisch möglich, die Wikipedia zu importieren, halt nur immer mit den aktuellen Release-Ständen 9f0fbe98f102b6c3914d2ba945ca9d874cc613bc 265 243 2023-03-08T09:04:41Z Hagbard 2 Hagbard moved page [[Kurztipp - Wörter im Dictionary nachschlagen]] to [[Wörter im Dictionary nachschlagen]]: Removed prefix from page title wikitext text/x-wiki [[Category:Hint]] ==Dictionary Schnellzugriff== Für all diejenigen, die häufiger Wörter (oder heisst es dann Worte) im Duden nachschlagen müssen, empfiehlt sich die Tastenkombination {{Key press|Ctrl}} {{Key press|cmd}} {{Key press|d}} Die Funktion ist in Cocoa-Applikationen wie den folgenden verfügbar: * TextEdit * Safari * Mail * Pages * Keynote Wer Sidetrack oder eine Mehr-Button-Maus benutzt, kann auch einen Shortcut auf diese Kombination legen ([http://www.agentlebossanova.net/images/sidetrack.jpg Einrichtung mit Sidetrack]) ==Auswahl an Wörterbüchern== Leider wird Mac OS X nur mit englischen Wörterbüchern ausgeliefert: * New Oxford American Dictonary * Oxford American Writers Dictionary * englische Wikipedia (seit Mac OS 10.5) Es lässt sich aber mit denen [http://web.mac.com/tekl/deutsch/W%C3%B6rterb%C3%BCcher.html auf dieser Seite] verfügbaren Wörterbüchern/Thesauri nachrüsten. ==Dictionary-Interna== Die Dictionaties sind in Form von <font face="courier">*.dict</font> Archiven im folgenden Verzeichnis zu finden: /Library/Dictionaries/ und beinhalten die folgenden Dateien: '''dict_body''' Dictionary-Inhalte als XML-Datei '''dictionary_1''' sieht ziemlich binär aus ... vllt. irgendeine Art TOC? '''images/''' ggf. noch ein Unterverzeichnis mit Bilddateien und die üblichen MacOS X Archiv-Beschreibungsdateien '''Info.plist''' '''PkgInfo''' Typ des Archivs (dictlam) '''version.plist''' Das Dictionary selber ist eine XML-Datei und folgt der [http://oup.dataformat.com/doc/OUP_DTD_Dictionary.html Dictionary DTD]. Vielleicht weiss jemand, was sich hinter der Binärdatei versteckt, sie beginnt auf jeden Fall recht obskur mit dictL,com.apple.DictionaryAccessMethod.ForwardTrie [http://www.google.com Google] wusste da auf die Schnelle auch nicht weiter ... ==Dictionaries hinzufügen== Nett wäre z.B. ein Wrapper für [http://dict.leo.org dict.leo.org] oder die [http://de.wikipedia.org Wikipedia] :) Vielleicht kann man ja irgendwie die [http://de.wikipedia.org/wiki/Wikipedia:Wikipedia-Distribution/Rohdaten Rohdaten] der Wikipedia Offline-Distribution Nutzen, die es als XML-Datei [http://download.directmedia.de/wikipedia/wikipedia_1_2005_xml.zip hier] zum Download gibt. Die ist aber anscheinend nicht sonderlich well-formed ... Unter [http://meta.wikimedia.org/wiki/Wik2dict diesem Link hier] gibts ein Konvertierungstool, um den SQL-Dump eines mediawikis ins dict-Format zu konvertieren (was ja das Dictionary-Tool in MacOS X verwendet). Damit wärs theoretisch möglich, die Wikipedia zu importieren, halt nur immer mit den aktuellen Release-Ständen 9f0fbe98f102b6c3914d2ba945ca9d874cc613bc 267 265 2023-03-08T09:05:29Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Translate]] ==Dictionary Schnellzugriff== Für all diejenigen, die häufiger Wörter (oder heisst es dann Worte) im Duden nachschlagen müssen, empfiehlt sich die Tastenkombination {{Key press|Ctrl}} {{Key press|cmd}} {{Key press|d}}. Es kann auch eine Trackpad-Geste zugeordnet werden, üblicherweise ist das ein Tap mit 3 Fingern. Die Funktion ist in Cocoa-Applikationen wie den folgenden verfügbar: * TextEdit * Safari * Mail * Pages * Keynote Wer Sidetrack oder eine Mehr-Button-Maus benutzt, kann auch einen Shortcut auf diese Kombination legen ([http://www.agentlebossanova.net/images/sidetrack.jpg Einrichtung mit Sidetrack]) ==Auswahl an Wörterbüchern== Leider wird Mac OS X nur mit englischen Wörterbüchern ausgeliefert: * New Oxford American Dictonary * Oxford American Writers Dictionary * englische Wikipedia (seit Mac OS 10.5) Es lässt sich aber mit denen [http://web.mac.com/tekl/deutsch/W%C3%B6rterb%C3%BCcher.html auf dieser Seite] verfügbaren Wörterbüchern/Thesauri nachrüsten. ==Dictionary-Interna== Die Dictionaties sind in Form von <font face="courier">*.dict</font> Archiven im folgenden Verzeichnis zu finden: /Library/Dictionaries/ und beinhalten die folgenden Dateien: '''dict_body''' Dictionary-Inhalte als XML-Datei '''dictionary_1''' sieht ziemlich binär aus ... vllt. irgendeine Art TOC? '''images/''' ggf. noch ein Unterverzeichnis mit Bilddateien und die üblichen MacOS X Archiv-Beschreibungsdateien '''Info.plist''' '''PkgInfo''' Typ des Archivs (dictlam) '''version.plist''' Das Dictionary selber ist eine XML-Datei und folgt der [http://oup.dataformat.com/doc/OUP_DTD_Dictionary.html Dictionary DTD]. Vielleicht weiss jemand, was sich hinter der Binärdatei versteckt, sie beginnt auf jeden Fall recht obskur mit dictL,com.apple.DictionaryAccessMethod.ForwardTrie [http://www.google.com Google] wusste da auf die Schnelle auch nicht weiter ... ==Dictionaries hinzufügen== Nett wäre z.B. ein Wrapper für [http://dict.leo.org dict.leo.org] oder die [http://de.wikipedia.org Wikipedia] :) Vielleicht kann man ja irgendwie die [http://de.wikipedia.org/wiki/Wikipedia:Wikipedia-Distribution/Rohdaten Rohdaten] der Wikipedia Offline-Distribution Nutzen, die es als XML-Datei [http://download.directmedia.de/wikipedia/wikipedia_1_2005_xml.zip hier] zum Download gibt. Die ist aber anscheinend nicht sonderlich well-formed ... Unter [http://meta.wikimedia.org/wiki/Wik2dict diesem Link hier] gibts ein Konvertierungstool, um den SQL-Dump eines mediawikis ins dict-Format zu konvertieren (was ja das Dictionary-Tool in MacOS X verwendet). Damit wärs theoretisch möglich, die Wikipedia zu importieren, halt nur immer mit den aktuellen Release-Ständen 377cfd68a1f3400185b00204d3abde7b1d92b959 Category:Hint 14 64 244 2023-03-08T08:41:41Z Hagbard 2 Created page with "Hints are very short articles covering a specific topic, limited to solving a specific problem." wikitext text/x-wiki Hints are very short articles covering a specific topic, limited to solving a specific problem. 73ae08bd49ceefbd5096b23841727efeff1d05c8 Main Page 0 1 245 162 2023-03-08T08:41:58Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. For the time being the old wiki will still be around here: [http://www.macwrench.de macwrench.de], but new edits will most likely go in here. [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) <hr style="margin:20px 0px; /> [[Image:W21-1a.svg|128px|right]] {| |-- | colspan="3" | '''Important articles:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|24px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''External resources:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|18px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|18px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] <!-- |-- | colspan="3" style="padding-top:10px;" | '''See also:''' |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] --> |} ---- {| |- ! style="text-align:left;" | All things macOS: |-- | <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">OS</categorytree> |} ---- {| |- ! style="text-align:left;" | Hints, i.e. short articles covering a specific topic: |-- | <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Hint</categorytree> |} ---- {| |- ! style="text-align:left;" | Development-related Articles: |-- | <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Development</categorytree> |} ---- {| |- ! style="text-align:left;" | Articles in the "Museum" covering old and obsolete features and technologies: |-- | <categorytree style="width:100%;" mode="pages" hideroot="on" hideprefix="always">Museum</categorytree> |} 2af10a69b6106278a6742f284b1b6642c1f605d2 DVD-Freigabe auf jedem beliebigen Mac nutzen 0 55 246 191 2023-03-08T08:51:08Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:OS]]Um die ursprünglich für das laufwerkslose MacBook Air gedachte CD-/DVD-Freigabe auch auf neueren, laufwerkslosen Macs nutzen zu können, ist folgendes zu tun: # Aktivierung der Freigabe auf dem Mac mit dem freizugebenden Laufwerk: <br/>Systemeinstellungen > Sharing > DVD- oder CD-Sharing # Eingabe der folgenden Anweisungen im '''Terminal des Client-Rechners''': defaults write com.apple.NetworkBrowser EnableODiskBrowsing -bool true defaults write com.apple.NetworkBrowser ODSSupported -bool true Anschließend ist der Client-Rechner neu zu starten, damit das freigegebene Laufwerk im Finder-Fenster links unter "Geräte" erscheint. Dazu muss natürlich in den Finder-Einstellungen die Anzeige von "CDs, DVDs und iPods" aktiviert sein. Diese Checkbox trägt übrigens selbst unter macOS Ventura immer noch exakt denselben Titel, obwohl mit dem iPod touch (7th gen.) im Mai 2022 der letzte iPod eingestellt wurde. {{Information|1='''Hinweis:''' Die Freigabe von Audio-CDs und Video-DVDs wird nicht unterstützt, einige kopiergeschützte Spielemedien können ebenfalls nicht genutzt werden. Für mehr Informationen dazu siehe [http://support.apple.com/kb/TS2057?viewlocale=de_DE Fehler mit "DVD oder CD-Sharing" beheben] in der Apple Knowledge-Base}} == Siehe auch == * [http://support.apple.com/kb/TS2057?viewlocale=de_DE Fehler mit "DVD oder CD-Sharing" beheben] in der Apple Knowledge-Base * [http://www.apple.com/downloads/macosx/apple/application_updates/dvdorcdsharingsetupupdateformac.html DVD or CD Sharing Setup Update for Mac] (Download) f7a5de6f5f3c11ca9f654d1358287ebe64c6572f 247 246 2023-03-08T08:54:45Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:OS]]Um die ursprünglich für das laufwerkslose MacBook Air gedachte CD-/DVD-Freigabe auch auf neueren, laufwerkslosen Macs nutzen zu können, ist folgendes zu tun: # Aktivierung der Freigabe auf dem Mac mit dem freizugebenden Laufwerk: <br/>Systemeinstellungen > Sharing > DVD- oder CD-Sharing # Eingabe der folgenden Anweisungen im '''Terminal des Client-Rechners''': defaults write com.apple.NetworkBrowser EnableODiskBrowsing -bool true defaults write com.apple.NetworkBrowser ODSSupported -bool true Anschließend ist der Client-Rechner neu zu starten, damit das freigegebene Laufwerk im Finder-Fenster links unter "Geräte" erscheint. Dazu muss natürlich in den Finder-Einstellungen die Anzeige von "CDs, DVDs und iPods" aktiviert sein. Diese Checkbox trägt übrigens selbst unter macOS Ventura immer noch exakt denselben Titel, obwohl mit dem iPod touch (7th gen.) im Mai 2022 der letzte iPod eingestellt wurde. {{Information|1='''Hinweis:''' Die Freigabe von Audio-CDs und Video-DVDs wird nicht unterstützt, einige kopiergeschützte Spielemedien können ebenfalls nicht genutzt werden. Die Wiedergabe des VIDEO_TS Ordners einer DVD mit dem [https://www.videolan.org VLC] sollte im Regelfall aber funktionieren. Für mehr Informationen dazu siehe [http://support.apple.com/kb/TS2057 Fehler mit "DVD oder CD-Sharing" beheben] in der Apple Knowledge-Base}} == Siehe auch == * [http://support.apple.com/kb/TS2057 Fehler mit "DVD oder CD-Sharing" beheben] in der Apple Knowledge-Base * [https://support.apple.com/kb/DL113 DVD or CD Sharing Update 1.0 for Mac] (Download) * [https://support.apple.com/kb/DL112 DVD or DVD or CD Sharing Update 1.0 for Windows] (Download) c616c8d9843d780529d3e07e64a81149cd48fa35 248 247 2023-03-08T08:54:57Z Hagbard 2 /* Siehe auch */ wikitext text/x-wiki [[Category:Hint]][[Category:OS]]Um die ursprünglich für das laufwerkslose MacBook Air gedachte CD-/DVD-Freigabe auch auf neueren, laufwerkslosen Macs nutzen zu können, ist folgendes zu tun: # Aktivierung der Freigabe auf dem Mac mit dem freizugebenden Laufwerk: <br/>Systemeinstellungen > Sharing > DVD- oder CD-Sharing # Eingabe der folgenden Anweisungen im '''Terminal des Client-Rechners''': defaults write com.apple.NetworkBrowser EnableODiskBrowsing -bool true defaults write com.apple.NetworkBrowser ODSSupported -bool true Anschließend ist der Client-Rechner neu zu starten, damit das freigegebene Laufwerk im Finder-Fenster links unter "Geräte" erscheint. Dazu muss natürlich in den Finder-Einstellungen die Anzeige von "CDs, DVDs und iPods" aktiviert sein. Diese Checkbox trägt übrigens selbst unter macOS Ventura immer noch exakt denselben Titel, obwohl mit dem iPod touch (7th gen.) im Mai 2022 der letzte iPod eingestellt wurde. {{Information|1='''Hinweis:''' Die Freigabe von Audio-CDs und Video-DVDs wird nicht unterstützt, einige kopiergeschützte Spielemedien können ebenfalls nicht genutzt werden. Die Wiedergabe des VIDEO_TS Ordners einer DVD mit dem [https://www.videolan.org VLC] sollte im Regelfall aber funktionieren. Für mehr Informationen dazu siehe [http://support.apple.com/kb/TS2057 Fehler mit "DVD oder CD-Sharing" beheben] in der Apple Knowledge-Base}} == Siehe auch == * [http://support.apple.com/kb/TS2057 Fehler mit "DVD oder CD-Sharing" beheben] in der Apple Knowledge-Base * [https://support.apple.com/kb/DL113 DVD or CD Sharing Update 1.0 for Mac] (Download) * [https://support.apple.com/kb/DL112 DVD or CD Sharing Update 1.0 for Windows] (Download) e958134f7144ce58d6f019c7632523e5e6dff4cf 258 248 2023-03-08T09:02:56Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:OS]][[Category:Translate]]Um die ursprünglich für das laufwerkslose MacBook Air gedachte CD-/DVD-Freigabe auch auf neueren, laufwerkslosen Macs nutzen zu können, ist folgendes zu tun: # Aktivierung der Freigabe auf dem Mac mit dem freizugebenden Laufwerk: <br/>Systemeinstellungen > Sharing > DVD- oder CD-Sharing # Eingabe der folgenden Anweisungen im '''Terminal des Client-Rechners''': defaults write com.apple.NetworkBrowser EnableODiskBrowsing -bool true defaults write com.apple.NetworkBrowser ODSSupported -bool true Anschließend ist der Client-Rechner neu zu starten, damit das freigegebene Laufwerk im Finder-Fenster links unter "Geräte" erscheint. Dazu muss natürlich in den Finder-Einstellungen die Anzeige von "CDs, DVDs und iPods" aktiviert sein. Diese Checkbox trägt übrigens selbst unter macOS Ventura immer noch exakt denselben Titel, obwohl mit dem iPod touch (7th gen.) im Mai 2022 der letzte iPod eingestellt wurde. {{Information|1='''Hinweis:''' Die Freigabe von Audio-CDs und Video-DVDs wird nicht unterstützt, einige kopiergeschützte Spielemedien können ebenfalls nicht genutzt werden. Die Wiedergabe des VIDEO_TS Ordners einer DVD mit dem [https://www.videolan.org VLC] sollte im Regelfall aber funktionieren. Für mehr Informationen dazu siehe [http://support.apple.com/kb/TS2057 Fehler mit "DVD oder CD-Sharing" beheben] in der Apple Knowledge-Base}} == Siehe auch == * [http://support.apple.com/kb/TS2057 Fehler mit "DVD oder CD-Sharing" beheben] in der Apple Knowledge-Base * [https://support.apple.com/kb/DL113 DVD or CD Sharing Update 1.0 for Mac] (Download) * [https://support.apple.com/kb/DL112 DVD or CD Sharing Update 1.0 for Windows] (Download) a000ad063f7a21d89352d26cf5f0327616e0e2f4 Using crond on macOS 0 52 249 185 2023-03-08T08:59:35Z Hagbard 2 Hagbard moved page [[Crond unter OS X]] to [[Using crond on macOS]]: Translated page title wikitext text/x-wiki [[Category:OS]][[Category:Linux]][[wikipedia:Cron|Cron]] ist der aus dem Unix-Umfeld allseits bekannte Mechanismus zum automatischen Ausführen von Skripten, Programmen etc. Unter Mac OS X wird {{TT|cron}} via [[wikipedia:de:launchd|launchd]] gestartet, die entsprechende Konfiguration hierzu ist dort zu finden: /System/Library/LaunchDaemons/com.vix.cron.plist ==crond Statusmails deaktivieren== Um die bei der Ausführung von [[Wikipedia:de:cron|cronjobs]] durch {{Man|cron|cron}} automatisch erzeugten Hinweismails an die lokale root-Mailbox zu unterbinden, ist entweder die Umgebungsvariable {{TT|MAILTO}} ganz am Anfang der {{TT|crontab}} entsprechend zu setzen: MAILTO="" oder in den einzelnen Einträgen der {{Man|crontab|crontab}} die Ausgabe von {{TT|STDOUT}} und {{TT|STDERR}} auf {{TT|/dev/null}} umzuleiten, etwa so: */5 * * * * /path/to/script.sh >/dev/null 2>&1 oder so: */5 * * * * /path/to/script.sh &> /dev/null Anschließend ist cron (als root / superuser) neu zu starten: sudo /etc/init.d/crond restart ==Siehe auch== * Manpages: {{Man|cron|cron}}, {{Man|crontab|crontab}} * [[wikipedia:de:Cron|Cron]] in der Wikipedia 101ec3451793e8798f7606cc3bc91d56376e1cf7 251 249 2023-03-08T09:00:00Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Linux]][[wikipedia:Cron|Cron]][[Category:Translate]] ist der aus dem Unix-Umfeld allseits bekannte Mechanismus zum automatischen Ausführen von Skripten, Programmen etc. Unter Mac OS X wird {{TT|cron}} via [[wikipedia:de:launchd|launchd]] gestartet, die entsprechende Konfiguration hierzu ist dort zu finden: /System/Library/LaunchDaemons/com.vix.cron.plist ==crond Statusmails deaktivieren== Um die bei der Ausführung von [[Wikipedia:de:cron|cronjobs]] durch {{Man|cron|cron}} automatisch erzeugten Hinweismails an die lokale root-Mailbox zu unterbinden, ist entweder die Umgebungsvariable {{TT|MAILTO}} ganz am Anfang der {{TT|crontab}} entsprechend zu setzen: MAILTO="" oder in den einzelnen Einträgen der {{Man|crontab|crontab}} die Ausgabe von {{TT|STDOUT}} und {{TT|STDERR}} auf {{TT|/dev/null}} umzuleiten, etwa so: */5 * * * * /path/to/script.sh >/dev/null 2>&1 oder so: */5 * * * * /path/to/script.sh &> /dev/null Anschließend ist cron (als root / superuser) neu zu starten: sudo /etc/init.d/crond restart ==Siehe auch== * Manpages: {{Man|cron|cron}}, {{Man|crontab|crontab}} * [[wikipedia:de:Cron|Cron]] in der Wikipedia 8d4240316c4946835a57e4015f38b5f9692cd5c5 Crond unter OS X 0 65 250 2023-03-08T08:59:35Z Hagbard 2 Hagbard moved page [[Crond unter OS X]] to [[Using crond on macOS]]: Translated page title wikitext text/x-wiki #REDIRECT [[Using crond on macOS]] 17d31d366204c73122805e2fbf899e988068e549 Auto-Rechtschreibkorrektur deaktivieren 0 45 252 171 2023-03-08T09:01:47Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:OS]][[Category:Translate]] Mitunter sehr lästig kann die Tatsache sein, das OS X mittlerweile automatisch bereits während der Eingabe vermeintliche Rechtschreibfehler korrigiert, solange das jeweilige Programm dies nicht für alle entsprechenden Eingabefelder deaktiviert. Um diese Funktion nicht für jedes Programm einzeln (via Menü "Bearbeiten" > "Rechtschreibung und Grammatik") sondern global abzustellen, ist folgende Eingabe im {{Terminal}} erforderlich: defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false Anschließend ist eine erneute Anmeldung notwendig. Um diese Funktion wieder zu aktivieren, ist folgende Terminal-Anweisung zu verwenden: defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool true 1f2f5c3b5a7cf391bcb95a7ccbfc3c521153048f Automatisches Einhängen von Volumes deaktivieren 0 46 253 173 2023-03-08T09:01:58Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]][[Category:Translate]]Standardmäßig werden alle internen Volumes vom System nach der Anmeldung automatisch eingehängt, so dass sie (bei entsprechender Finderkonfiguration) in der Seitenleiste und/oder auf dem Desktop angezeigt werden. Um nun einige der internen Volumes nicht automatisch einzuhängen, ist via {{Terminal}} die Datei {{TT|fstab}} wie folgt zu editieren. Dabei ist zu beachten, dass seit OS X Leopard (Version 10.5) diese Bearbeitung immer via {{Man|vifs|vifs}} erfolgen sollte, damit Änderungen auch ordnungsgemäß wirksam werden. Für einen solchen Eintrag wird die UUID des entsprechenden Volume benötigt, die sich über folgende Terminal-Anweisung anhand des Pfades ermitteln lässt: diskutil info /Volumes/MyInternalVolume | grep UUID Volume UUID: 12345678-1ABC-2DEF-3EDC-123456789012 Anschließend ist mit folgender Anweisung die Datei {{TT|fstab}} zu editieren: sudo vifs Hierbei wird der Editor {{Man|vi|vi}} benutzt. Dort ist für jedes Volume ein solcher Eintrag zu erstellen, wobei natürlich die UUID ersetzt und das Dateisystem (hier: hfs) ggf. angepasst werden muss: UUID=12345678-1ABC-2DEF-3EDC-123456789012 none hfs rw,noauto {{Important vi-directives}} Alternativ ist dies auch mit dem (kostenpflichtigen) Programm "[http://www.bresink.com/products.html Tinker Tool System]" möglich. Für den bequemen Zugriff auf verfügbare aber nicht eingehängte Volumes eignet sich das kostenlose Hilfsprogramm "[https://github.com/kainjow/Semulov Semulov]". 20c4da14055b5e3fb1709e1acaeeb79109dc016f Color-Picker App selber erstellen 0 51 256 183 2023-03-08T09:02:38Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Translate]]Den von OS X in diversen Programmen bereitgestellten Farbwahl-Dialog (Color-Picker) kann man recht einfach als unsbhängiges Programm nutzen. Dazu Ist es lediglich notwendig, ... * den Skript-Editor zu starten (ein neues Skript sollte automatisch erstellt werden) * die folgenden zwei Worte einzufügen: {{TT|choose color}} * das ganze als "Programm" an eine beliebige Stelle zu speichern Anschließend kann dem so erstellte Programm über den Info-Dialog (Rechtsklick auf das Symbol im Finder) auch ncoh ein hübscheres Symbol zugewiesen werden. Beim Start dieses Programms erscheint dann das rechts abgebildete Fenster. e6cacc9e48256638d7cf42b5a1854b94973ba99d Dmg Images konvertieren 0 54 257 189 2023-03-08T09:02:47Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]]Wenn man auf einem Mac erzeugte Disk-Images auf einer PC-Dose weiterverwenden will steht man vor dem Problem, dass .dmg Images nicht benutzbar sind. Deshalb müssen sie vorher konvertiert werden, um sie auf der Dose weiterverwenden oder brennen zu können. ==Toast Images== ... lassen sich ja recht einfach durch Umbenennen z.B. mit [http://www.nero.com/deu/ Nero] brennen: image.toast > image.nrg wobei zum Brennen in obigem Programm bei der Imageauswahl als Dateisystem das entsprechend verwendete auszuwählen ist (im Regelfall wird das bei einer Mac-CD HFS sein). ==.dmg Images== DMG Images (wie sie z.B. mit dem Festplatten-Dienstprogramm erzeugt werden) müssen umgewandelt werden, das passiert mit dem Kommandozeilen-Tool [[hdiutil]] duch Eingabe von [[hdiutil]] <aktion> <optionen> ===Konvertierung=== Die Umwandlung von .dmg in .iso Images erfolgt durch Eingabe von hdiutil convert <quellimage.dmg> -format UDTO -o <zielimage.iso> Das Ergebnis ist dann ein ISO-File namens zielimage.iso.cdr Für eine weitere Verwendung auf PC-Dosen muss diese Datei ggf. noch um ihre Endung ''.cdr'' erleichtert werden werden zielimage.iso.cdr > zielimage.iso ===Zielformate=== Mögliche Formate für das Zielimage sind: * '''UDRW''' UDIF read/write image * '''UDRO''' UDIF read-only image * '''UDCO''' UDIF ADC-compressed image * '''UDZO''' UDIF zlib-compressed image * '''UFBI''' UDIF entire image with MD5 checksum * '''UDRo''' UDIF read-only (obsolete format) * '''UDCo''' UDIF compressed (obsolete format) * '''UDTO''' DVD/CD-R master for export * '''UDxx''' UDIF stub image * '''UDSP''' SPARSE (growable with content) * '''RdWr''' NDIF read/write image (deprecated) * '''Rdxx''' NDIF read-only image (Disk Copy 6.3.3 format) * '''ROCo''' NDIF compressed image (deprecated) * '''Rken''' NDIF compressed (obsolete format) * '''DC42''' Disk Copy 4.2 image ===Optionen für das erzeugte Image=== '''-readonly''' das Zielimage ist schreibgeschützt '''-readwrite''' auf das Image kann geschrieben werden '''-notremovable''' nur der Superuser root kann das gemountete Image unmounten ===Weitere Informationen=== Mit hdituil lassen sich Images auch erzeugen, überprüfen und Mounten, weitere Informationen dazu und mögliche Optionen für die Benutzung sind in der {{Man|hdiutil|manpage von hdiutil}} nachzulesen: man hdiutil oder hdiutil help sowie im entsprechenden [[Hdiutil|Artikel über hdiutil]]. 66f954ef94dcdcfacd811e8e0afe8c8d75d1f427 263 257 2023-03-08T09:04:06Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]][[Category:Translate]]Wenn man auf einem Mac erzeugte Disk-Images auf einer PC-Dose weiterverwenden will steht man vor dem Problem, dass .dmg Images nicht benutzbar sind. Deshalb müssen sie vorher konvertiert werden, um sie auf der Dose weiterverwenden oder brennen zu können. ==Toast Images== ... lassen sich ja recht einfach durch Umbenennen z.B. mit [http://www.nero.com/deu/ Nero] brennen: image.toast > image.nrg wobei zum Brennen in obigem Programm bei der Imageauswahl als Dateisystem das entsprechend verwendete auszuwählen ist (im Regelfall wird das bei einer Mac-CD HFS sein). ==.dmg Images== DMG Images (wie sie z.B. mit dem Festplatten-Dienstprogramm erzeugt werden) müssen umgewandelt werden, das passiert mit dem Kommandozeilen-Tool [[hdiutil]] duch Eingabe von [[hdiutil]] <aktion> <optionen> ===Konvertierung=== Die Umwandlung von .dmg in .iso Images erfolgt durch Eingabe von hdiutil convert <quellimage.dmg> -format UDTO -o <zielimage.iso> Das Ergebnis ist dann ein ISO-File namens zielimage.iso.cdr Für eine weitere Verwendung auf PC-Dosen muss diese Datei ggf. noch um ihre Endung ''.cdr'' erleichtert werden werden zielimage.iso.cdr > zielimage.iso ===Zielformate=== Mögliche Formate für das Zielimage sind: * '''UDRW''' UDIF read/write image * '''UDRO''' UDIF read-only image * '''UDCO''' UDIF ADC-compressed image * '''UDZO''' UDIF zlib-compressed image * '''UFBI''' UDIF entire image with MD5 checksum * '''UDRo''' UDIF read-only (obsolete format) * '''UDCo''' UDIF compressed (obsolete format) * '''UDTO''' DVD/CD-R master for export * '''UDxx''' UDIF stub image * '''UDSP''' SPARSE (growable with content) * '''RdWr''' NDIF read/write image (deprecated) * '''Rdxx''' NDIF read-only image (Disk Copy 6.3.3 format) * '''ROCo''' NDIF compressed image (deprecated) * '''Rken''' NDIF compressed (obsolete format) * '''DC42''' Disk Copy 4.2 image ===Optionen für das erzeugte Image=== '''-readonly''' das Zielimage ist schreibgeschützt '''-readwrite''' auf das Image kann geschrieben werden '''-notremovable''' nur der Superuser root kann das gemountete Image unmounten ===Weitere Informationen=== Mit hdituil lassen sich Images auch erzeugen, überprüfen und Mounten, weitere Informationen dazu und mögliche Optionen für die Benutzung sind in der {{Man|hdiutil|manpage von hdiutil}} nachzulesen: man hdiutil oder hdiutil help sowie im entsprechenden [[Hdiutil|Artikel über hdiutil]]. f5af9d71b6d95ca40cc8b8bc8c7d894e8c3abd2d Dateien und Ordner verstecken und schützen 0 58 260 197 2023-03-08T09:03:23Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]][[Category:Translate]] Um Dateien im Finder zu verstecken, gibt es prinzipiell zwei Möglichkeiten: ==Dateien und Ordner verstecken== ===Dateiname mit Punkt=== Da Mac OS X ein Unix-System ist, folgt es auch der Konvention, Datei- und Verzeichnisnamen, die mit einem Punkt beginnen, standardmäßig zu "verstecken". Diese Umbenennung ist jedoch im Finder nicht möglich (er verhindert dies bewusst), das Umbenennen muss also im [[:Category:Terminal|Terminal]] erfolgen: mv <dateiname> .<dateiname> Einge Dateien unter Mac OS X sind auf diese Weite "geschützt", beispielsweise die [[wikipedia:en:.DS_Store|{{TT|.DS_Store}}]]-Dateien (dienen der Speicherung von Ordnerspezifischen Einstellungen, z.B. Spaltenansicht). Sie lassen sich mit Werkzeugen wie beispielsweise dem [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool] auch im Finder sichtbar machen. Hierfür existiert auch ein Hilfsprogramm mit graphischer Oberfläche namens [http://www.altomac.com/hide_folders/index.php Hide Folders], mit dessen Hilfe auch auf diese Weise versteckte Dateien/Verzeichnisse gefunden werden können. ===Verstecken mit {{Man|chflags|chflags}}=== Ein Umbenennen der Dateien ist jedoch nicht immer möglich und wünschenswert, alternativ lässt sich dasselbe Ergebnis (allerdings nur auf HFS+ Volumes) mit dem Kommandozeilentool {{Man|chflags|chflags}} erreichen: chflags hidden <datei oder verzeichnis> Mit folgendem Kommando erreicht man das Gegenteil: chflags nohidden <datei oder verzeichnis> Mac OS X enthält eine ganze Menge solcher Dateien und Verzeichnisse (meist wichtige Systemdateien, die so vor unbeabsichtigten Modifikationen durch den Benutzer geschützt werden sollen). So lässt sich beispielsweise der Ordner {{TT|~/Library/}} unter Mac OS X 10.7 (Lion) dementsprechend im Finder wieder sichtbar machen. {{Important|'''Hinweis:''' Um Dateien und Verzeichnisse innerhalb der Graphische Oberfläche noch etwas vollständiger zu verbergen, sollten diese auch zusätzlich aus dem Spotlight-Index entfernt werden (Systemeinstellungen > Spotlight > Privatsphäre)}} ===Verstecken mit {{Man|SetFile|SetFile}}=== Alternativ kann auch das Kommandozeilenprogramm {{TT|SetFile}} verwendet werden, dass ein Bestandteil der Xcode-Kommandozeilen-Hilfsprogramme ist. Dieses Paket ist seit Xcode 4.4 ein eigenständiges Installationspaket und muss nachträglich installiert werden. Um beispielsweise ein Laufwerk auf dem Desktop zu verstecken, ist folgende Eingabe notwendig: SetFile -a V “/Volumes/VOLUMENAME″ anschließend ist mit folgendem Befehl der Finder neu zu starten (alternativ: Rechtsklick auf das Finder-Dockicon bei gedrückter alt-Taste): killall "Finder" Um das Verzeichnis wieder anzuzeigen, genügt folgende Anweisung im Terminal: SetFile -a v /Volumes/Untitled wiederum gefolgt von einem Finder-Neustart ==Desktop-Inhalte verstecken== Um den Inhalt des Desktops komplett auszublenden - also einen leeren Desktop zu bekommen, ohne die entsprechenden Dateien und Verzeichnisse verschieben zu müssen, kann folgende versteckte Finder-Einstellung verwendet werden: defaults write com.apple.finder CreateDesktop -bool false Anschließend muss der Finder neu gestartet werden, entweder mit folgender Terminal-Anweisung oder via Finder-Dockicon-Kontextmenü (bei gedrückter alt-Taste): killall "Finder" Diese Änderung lässst sich mit folgender Anweisung wieder rückgängig machen: defaults write com.apple.finder CreateDesktop -bool true ==Versteckte Dateien und Ordner anzeigen== ===in Dateidialogen=== {{Information|Diese Einstellung ist nur temporär wirksam und muss ggf. wiederholt werden. Für eine dauerhafte Aktivierung sind die im folgenden Abschnitt zum Finder beschriebenen Anweisungen auszuführen.}} In den Auswahldialogen zum Öffnen oder Speichern von Dateien können versteckte Dateien und Verzeichnisse sichtbar gemacht werden, indem folgende Tastenkombination gedrückt wird: {{Key press|CMD|Shift|.}} Anschließend muss u.U. noch einmal der angezeigte Ordner gewechselt werden, um diese Einstellung wirksam werden zu lassen. Um versteckte Dateien wieder zu verbergen, ist einfach dasselbe noch einmal durchzuführen. ===im Finder=== Um solche versteckten Dateien und Verzeichnisse im Finder dauerhaft sichtbar zu machen, kann man entweder Tools wie das bereits erwähnte [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool] verwenden, oder man bemüht wiederum das [[:Category:Terminal|Terminal]]. Die Aktivierung erfolgt über das erste Kommando, mit dem zweiten wird der Finder neu gestartet: defaults write com.apple.finder AppleShowAllFiles YES killall Finder Um diese Änderung wieder rückgängig zu machen, sind folgende Kommandos auszuführen: defaults write com.apple.finder AppleShowAllFiles NO killall Finder Der Finder kann alternativ auch über das folgende Tastaturkürzel neu gestartet werden:<KB>apfel+alt+esc</KB> ===im Terminal=== Im [[:Category:Terminal|Terminal]] werden solche Dateien und Verzeichnisse mit Hilfe des folgenden Kommandos sichtbar (großes O, kleines L): ls -laO <Verzeichnis> ===Sonderfall {{TT|~/Library/}} seit OS X Lion=== Seit OS X 10.7 (Lion) wird der Library-Ordner innerhalb des Benutzerverzeichnisses nicht mehr im Finder angezeigt. Allerdings ist es für die gelegentliche Verwendung nicht zwingend erforderlich, diesen mit obigen Terminal-Kommandos wieder sichtbar zu machen – zumal die Änderung mittels {{TT|chflags}} ohnehin nicht dauerhaft ist und beim nächsten Systemupdate vom System wieder rückgängig gemacht wird. Wenn man das Finder-Menü "Gehe zu" mit gedrückter <KB>alt</KB>-Taste öffnet, wird zusätzlich ein Eintrag "Library" angezeigt, über den der Benutzer-Library-Ordner direkt geöffnet werden kann. Ein dauerhaftes Einblenden dieses Ordners ist nur über ein zusätzliches AppleScript-Skript möglich, das anschließend als Anmeldeobjekt (Systemeinstellungen -> Benutzer & Gruppen -> Anmeldeobjekte) bei jeder Anmeldung des jeweiligen Benutzers ausgeführt wird: <source lang="AppleScript"> do shell script "/usr/bin/chflags nohidden ~/Library" </source> ==Dateien und Ordner schützen== Im Finder-Info-Dialog von Dateien und Verzeichnissen lassen sich selbige bekanntermaßen gegen versehentliches Bearbeiten oder Löschen schützen, indem die Option "Geschützt" aktiviert wird. Denselben Effekt kann man mit Hilfe von {{TT|{{man|chflags|chflags}}}} im Terminal erreichen: chflags uchg lockedFile.txt Der entsprechende {{TT|SetFile}} Aufruf (ein Bestandteil von Xcode) sieht so aus: SetFile -a L gesperrteDatei.txt ===Geschützte Dateien und Verzeichnisse ermitteln=== Im Terminal kann das entsprechende Attribut für geschützte Objekte mittels folgender Anweisung angezeigt werden (großes O, kleines L): ls -laO lockedFile.txt Dadurch wird zusätzlich das Attribut "uchg" ausgegeben: -rw-r--r-- 1 user group uchg 0 1 Jan 12:00 lockedFile.txt -rw-r--r-- 1 user group - 0 1 Jan 12:00 unlockedFile.txt ===Freigeben geschützter Objekte=== Den Vorgang rückgängig machen kann man mit folgender Terminal-Anweisung: chflags nouchg lockedFile.txt bzw. SetFile -a L lockedFile.txt ==Siehe auch== * [http://www.westwind.com/reference/OS-X/invisibles.html Mac OS Hidden Files & Directories] (westwind.com) 4673586f9edd5fafb3d7bc75e97a9fa85e6579ba Deaktivieren ungenutzter Hintergrunddienste 0 59 261 199 2023-03-08T09:03:47Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:OS]][[Category:Terminal]][[Category:Translate]]Unter OS X sind mittlerweile einige Hintergrunddienste aktiv, die jedoch nicht immer erwünscht oder erforderlich sind. {{InfoboxWithIcon|icon=Achtung.png|content='''Achtung:''' Das Deaktivieren von Systemdiensten kann diverse, negative Nebeneffekte haben! Man sollte also genau wissen, was man hierbei tut, dies die Stabilität des Systems durchaus negativ beeinflussen kann.}} == Allgemein == Der Start von Systemdiensten erfolgt unter OS X anhand von "plist"-Definitionsdateien, die sich an folgenden Orten des Startvolumes befinden können: {| |-- | {{TT|/System/Library/LaunchDaemons/}} || || sog. "daemons" - systemweit verwendete OS X Dienste |-- | {{TT|/System/Library/LaunchAgents/}} || || sog. "agents" - Benutzerspezifische OS X Dienste |-- | {{TT|~/Library/LaunchAgents/}} || || vom Benutzer installierte "agents" |-- | {{TT|/Library/LaunchAgents/}} || || vom Systemadministrator installierte, benutzerspezifische "agents" |-- | {{TT|/Library/LaunchDaemons/}} || || vom Systemadministrator installierte, systemweite "agents" |} Deren Prozesse werden von {{Man|launchd|launchd}} verwaltet, ihre Eigenschaften sind in Form von "plist" Dateien definiert. Diese befinden sich an obigen Orten im Verzeichnissystem. Das dauerhafte Deaktivieren dieser Dienste erfolgt mit foldendem Kommando: sudo launchctl unload -w /PFAD/ZUR/DATEI.plist sudo launchctl unload -w /System/Library/LaunchDaemons/DATEINAME.plist Um einen Dienst nur vorübergehend (bis zum nächsten Neustart) zu deaktivieren, ist lediglich der Parameter {{TT|-w}} wegzulassen. == Beispiel: {{Man|apsd|apsd}} == Ein Beispiel hierfür ist {{Man|apsd|apsd}}, der für Push Notifications zuständige Hintergrunddienst. Einige werden dessen Netzwerkverbindungsversuche bereits mit Wekzeugen wie [http://www.obdev.at Little Snitch] verhindert haben, allerdings sind dann die Logfiles voll von fehlgeschlagenen Verbindungsversuchen. Um diesen Dienst also generell zu deaktivieren, ist folgendes im {{Terminal}} einzugeben: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.apsd.plist Um den Dienst wieder zu aktivieren, genügt folgende Terminal-Anweisung: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.apsd.plist Unter OS X Lion (10.7.x) ist der Name des Daemons übrigens {{TT|com.apple.applepushserviced.plist}} == Siehe auch == * {{Man|launchctl|launchctl}} manpage 34ea798380e2bfdb033da19555843fdcba8461e3 Dienstprogramme und ihre Terminal-Äquivalente 0 31 262 56 2023-03-08T09:03:58Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]][[Category:OS]][[Category:Translate]]Mac OS X besitzt bekanntermaßen einige - mitunter sehr nützliche - Dienstprogramme mit graphischer Benutzeroberfläche, für viele davon existieren auch entsprechende [[:Category:Terminal|Terminal]]-Äquivalente - was nicht nur für die kommandozeilenorientierten Zeitgenossen unter uns sehr praktisch ist. Sie erlauben es beispielsweise auch, über das Netzwerk (via SSH) einige Aufgaben durchzuführen, ohne direkt am Mac sitzen zu müssen. ==System-Dienstprogramme== Im Folgenden eine Liste der wichtigsten Dienstprogramme, für die ein direktes Terminal-Äquivalent existiert. Die Spalte "Ort" gibt dabei den Ort des graphischen Werkzeugs an, die Terminal-Kommandos sind - falls kein Artikel zum entsprechenden Hilfsprogramm existiert - mit der jeweiligen manpage verlinkt. {| |--bgcolor=#e2e2e2 ! Dienstprogramm || lokalisierter Name<sup>1)</sup> || Ort<sup>2)</sup> || Terminal-Äquivalent |-- |System Profiler || ||Dienstprogramme || {{Man|system_profiler|system_profiler}} |-- | Disk Utility || Festplatten-Dienstprogramm ||Dienstprogramme || {{Man|diskutil|diskutil}}, {{Man|disktool|disktool}}, {{Man|disklabel|disklabel}}, [[hdiutil]] |-- | DiskImageMounter|| ||CoreServices || [[hdiutil]] |-- | Software-Update ||Software-Aktualisierung ||CoreServices || {{Man|softwareupdate|softwareupdate}} |-- | Installer ||Installationsprogramm ||Dienstprogramme || {{Man|installer|installer}} |-- | Keychain Access ||Schlüsselbund ||Dienstprogramme || {{Man|keytool|keytool}}, [[systemkeychain]] (admin only) |-- | Network Utility ||Netzwerk-Dienstprogramm ||Dienstprogramme || {{Man|ipconfig|ipconfig}}, {{Man|netstat|netstat}}, {{Man|atstatus|atstatus}}, {{Man|atlookup|atlookup}}, {{Man|ping|ping}}, {{Man|host|host}}, {{Man|dig|dig}}, {{Man|traceroute|traceroute}}, {{Man|whois|whois}}, {{Man|finger|finger}}, {{Man|nmap|nmap}} (z.B. via [http://fink.sourceforge.net/ fink]) |-- | NetInfo Manager (bis incl. Mac OS 10.4)|| ||Dienstprogramme || {{Man|niutil|niutil}}, {{Man|nicl|nicl}}, {{Man|nifind|nifind}}, {{Man|nigrep|nigrep}}, {{Man|nidomain|nidomain}}, {{Man|nidump|nidump}}, {{Man|nireport|nireport}}, {{Man|niload|niload}}, {{Man|nibindd|nibindd}} |-- | BOMArchiveHelper || ||CoreServices ||{{Man|zip|zip}}, {{Man|unzip|unzip}}, {{Man|unzipsfx|unzipsfx}}, {{Man|gz|gz}}, {{Man|bz2|bz2}} (und die ganzen bzip2-Tools wie {{Man|bzcat|bzcat}} oder {{Man|bzgrep|bzgrep}}), {{Man|tar|tar}}, {{Man|compress|compress}}, {{Man|uncompress|uncompress}} |-- | Papierkorb (Finder) || ||CoreServices ||{{Man|rm|rm}}, {{Man|srm|srm}} |-- | Activity Monitor ||Aktivitäts-Anzeige ||Dienstprogramme || {{Man|ps|ps}}, {{Man|top|top}}, {{Man|nice|nice}}, {{Man|kill|kill}}, {{Man|killall|killall}} |-- | AppleScript Editor ||AppleScript-Editor ||Dienstprogramme || {{Man|osacompile|osacompile}} {{Man|osadecompile|osadecompile}} {{Man|osalang|osalang}} {{Man|osascript|osascript}} |-- | Grab ||Bildschirmfoto ||Dienstprogramme || [[screencapture]] |-- | Podcast Capture (seit Mac OS 10.5)|| Podcast-Aufzeichnung ||Dienstprogramme || {{Man|podcast|podcast}} |-- | RAID Utility (seit Mac OS 10.5)|| RAID-Dienstprogramm ||Dienstprogramme || {{Man|raidutil|raidutil}} |-- | Expose (bis Mac OS 10.6)|| Exposé ||Dienstprogramme || {{TT|n/a}} |} ==Xcode Utilities== Dienstprogramme aus dem Lieferumfang der Xcode Entwicklungsumgebung. Die Terminal-Programme bilden jedoch nur einzelne Funktionen aus den Dienstprogrammen oder erweitern diese. Sie sind daher keine wirklichen "Äquivalente". {| style="width:100%;" |--bgcolor=#e2e2e2 ! Dienstprogramm || lokalisierter Name<sup>1)</sup> || Ort || Terminal-Äquivalent |-- | Xcode || ||/Developer/Applications ||{{Man|xcode-select|xcode-select}} {{Man|xcodebuild|xcodebuild}} {{Man|xcodeindex|xcodeindex}} |-- | Interface Builder <small>(bis Xcode 3)</small>|| ||/Developer/Applications ||{{Man|ibtool|ibtool}} |-- | Instruments || ||/Developer/Applications ||{{Man|instruments|instruments}} |-- | Property List Editor <small>(bis Xcode 3, für Xcode 4 siehe [[Property_List_Editor_mit_Xcode4_nutzen|hier]])</small> || ||/Developer/Applications/Utilities ||{{Man|plutil|plutil}} |} ==Legende== {| |-- valign="top" |width=40px|<sup>1)</sup>||Im Finder erscheint der lokalisierte Name (also z.B. auf deutsch), im Terminal hingegen werden <u>immer</u> die (englischen) Originalnamen verwendet. |-- valign="top" |width=40px|<sup>2)</sup>||'''Dienstprogramme:''' {{tt|/Applications/Utilities/}} bzw. {{tt|/Programme/Dienstprogramme/}}<br />'''CoreServices:''' {{tt|/System/Library/CoreServices}} |} == Siehe auch== * [http://www.apple.com/macosx/what-is-macosx/apps-and-utilities.html What Is Mac OS X - All Applications and Utilities] (apple.com) 3b560c6971dda1b6bb522a356475d4e027d408b1 Journaling von HFS-Volumes deaktivieren 0 43 264 161 2023-03-08T09:04:22Z Hagbard 2 wikitext text/x-wiki [[Category:Museum]][[Category:Translate]][[Category:OS]][[Category:Hint]][[Category:Terminal]]{{Information|HFS+ Journaled ist im Mac OS X Server seit Version 10.2.2 (Jaguar) verfügbar, die Client-Version von Mac OS X unterstützt dies seit Version 10.3 (Panther).}} == im Festplatten-Dienstprogramm == [[Image:DiskUtility_-_Journaling_deaktivieren.png|thumb|right|Journaling von HFS-Volumes deaktivieren]]Um das Journaling von HFS-Volumes zu deaktivieren (z.B. um unter aktuellen Ubuntu-Linux Installationen auf diese Laufwerke schreiben zu können), genügen folgende Schritte: * Festplatte anschließen (falls extern) * Festplatten-Dienstprogramm starten * mit gedrückter Alt-Taste das Menü "Ablage" öffnen (wichtig: Alt vorher drücken und gedrückt halten!) Dann sollte sich der (bei Volumes mit aktiviertem Journaling deaktivierte) Menüeintrag "Journaling aktivieren" in "Journaling deaktivieren" umwandeln und ermöglicht folgerichtig das was er verspricht (siehe Screenshot rechts) == im Terminal == Alternativ kann das natürlich auch mit dem {{Man|diskutil|diskutil}} im Terminal durchgeführt werden: <source lang="bash"> sudo diskutil disableJournal /Volumes/VOLUMENAME </source> bzw. zum Aktivieren <source lang="bash"> sudo diskutil enableJournal /Volumes/VOLUMENAME </source> Hin und wieder scheint das jedoch nicht zu funktionieren und diskutil gibt eine Fehlermeldung wie die folgende aus: An error occurred journaling the filesystem: The underlying task reported failure on exit (-9972) Dann kann man versuchen, das (ausgehängte) Volume mit folgendem Kommando zu bearbeiten: sudo diskutil disableJournal force /dev/disk1s10 {{TT|disk1s10}} ist dabei durch den jeweils korrekten Partitions-Identifikator zu ersetzen, der sich über folgendes Kommando ermitteln lässt: diskutil list [[User:Hagbard|Ich]] hatte jedoch auch einmal den Fall, dass sich das Journaling danach erst wieder im Diskutil wie oben beschrieben deaktivieren ließ, da das obige Kommando denselben Fehler zurückgab. ==Siehe auch== * [http://docs.info.apple.com/article.html?artnum=107249 Mac OS X: About file system journaling] (apple.com) [[http://www.apple.com/server/pdfs/L24481A_Journaling_TB.pdf PDF]] * [http://www.info.apple.com/kbnum/n107248 How To Journal a Volume or Repair a Journaled Volume] (apple.com) * [http://support.apple.com/kb/TS2028?viewlocale=en_US fsck reports benign errors when journaling is turned on] (apple.com) 23d6ac7983c79fffa06dfad0aba03a7e003e0b18 Kurztipp - Wörter im Dictionary nachschlagen 0 66 266 2023-03-08T09:04:41Z Hagbard 2 Hagbard moved page [[Kurztipp - Wörter im Dictionary nachschlagen]] to [[Wörter im Dictionary nachschlagen]]: Removed prefix from page title wikitext text/x-wiki #REDIRECT [[Wörter im Dictionary nachschlagen]] 3e41928072428939e336947ef0e70308881bb439 MacOS Installationsmedium erstellen 0 10 268 21 2023-03-08T09:05:40Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Hint]][[Category:Translate]] {{Important|1=Bei der Installation älterer Versionen ist ggf. zusätzlich noch das Systemdatum auf einen Zeitpunkt kurz nach dem Download des Installationsarchivs einzustellen, da ansonsten ggf. die Verifizierung des Downloads aufgrund eines abgelaufenen Zertifikates fehlschlägt und der Installer dann einen erneuten Download verlangt (der natürlich nicht erforderlich ist).}} {{Info|1=Seit macOS Catalina (Version 10.15) kann ein bestimmtes macOS Installationsarchiv statt über den App Store auch mit Hilfe des Kommandozeilentools {{TT|softwareupdate}} heruntergeladen werden, hier am Beispiel von macOS Mojave: :{{TT|softwareupdate --fetch-full-installer}} :{{TT|softwareupdate --fetch-full-installer --full-installer-version 10.14.6
}} Für aktuelle [[wikipedia:MacOS|macOS]] Versionen (derzeit [[wikipedia:MacOS_Big_Sur|Big Sur]] und [[wikipedia:MacOS_Monterey|Monterey]]) können die Installer auch direkt von der Apple Website geladen werden, beispielsweise so: :{{TT|curl -o InstallAssistant.pkg http://swcdn.apple.com/content/downloads/.../InstallAssistant.pkg}} Eine Liste der aktuellen Downloadlinks – die übrigens immer nur für eine begrenzte Zeit gültig sind – ist beispielsweise auf [https://mrmacintosh.com mrmacintosh.com] zu finden: * [https://mrmacintosh.com/macos-big-sur-full-installer-database-download-directly-from-apple/ Big Sur Installers] * [https://mrmacintosh.com/macos-12-monterey-full-installer-database-download-directly-from-apple/ Monterey Installers] }} ==OS X Mavericks und neuer== ===via {{Terminal}}=== Seit der finalen Version von OS X Mavericks (zuletzt getestete Version: macOS Sierra, Version 10.12.4) bietet der Installer die Möglichkeit, via Terminal ein Installationsmedium auf einem beliebigen, angeschlossenen Volume zu erstellen. Zu diesem Zweck wurde das Terminalkommando "{{TT|createinstallmedia}}" hinzugefügt. Im Folgenden wird davon ausgegegangen, dass sich das aus dem Mac App Store geladene Installationsarchiv im Systemverzeichnis "Programme" befindet. Anschließend ist im Terminal folgendes einzugeben, dabei wird der Inhalt des Zielmediums logischerweise gelöscht (es werden dazu Admin-Rechte benötigt, ggf. ist ein entsprechendes Kennwort einzugeben): sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume "/Volumes/<Installationsmedium>" Für macOS Version 10.13 (High Sierra) und älter ist zusätzlich die Angabe des Parameters {{TT|--applicationpath}} erforderlich: sudo /Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia --volume "/Volumes/<Installationsmedium>" --applicationpath "/Applications/Install OS X Mavericks.app" Dabei ist "{{TT|<Installationsmedium>}}" durch den Namen des jeweiligen Volume zu ersetzen. Falls sich das Installationsarchiv an einem anderen Ort befindet, ist auch der Pfad dementsprechend zu korrigieren. Da das Zielvolume während des Vorgangs ausgehängt werden muss, sollten andere aktive Programme keine Dateien von diesem Laufwerk geöffnet haben. Folgende Parameter stehen hierbei zur Verfügung (Stand: OS X Version 10.9.0): {| |-- |{{TT|--volume}} || vollständiger Pfad zum Zielvolume || obligatorisch |-- |{{TT|--applicationpath}} || vollständiger Pad zum Installationsarchiv (App-Bundle) || obligatorisch, bis macOS Version 10.13 (High Sierra) |-- |{{TT|--nointeraction}} || Keine Rückfrage für das Löschen des Zielmediums || optional |-- |{{TT|--force}} || (erwähnt aber nicht weiter dokumentiert) || optional |-- |{{TT|--downloadassets
}} || zusätzlicher Download der aktuellen Firmware auf das externe Volume || optional |} Siehe auch: [http://support.apple.com/kb/HT5856 Apple Support Dokument "HT5856"] Alternativ kann das graphische Installationsprogramm auch über das Terminal gestartet werden: sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/startosinstall --applicationpath /Applications/Install\ macOS\ High\ Sierra.app --agreetolicense --converttoapfs NO --nointeraction ===Von Hand=== Unter '''OS X Mountain Lion''' (Version 10.8.x) und den Vorabversionen (Developer Previews) von '''OS X Mavericks''' (Version 10.9.x) ist eine andere Vorgehensweise notwendig, da das Installations-DMG "{{TT|InstallESD.dmg}}" hier kein vollständiges, bootfähiges OS X enthält. Daher sind folgende Schritte notwendig, um zunächst ein bootfähiges Volume (z.B. auf einer externen Festplatte oder einem USB-Stick) zu erhalten: # eine leere Partition auf einem bootfähigen Medium bereitstellen (z.B. ext. USB-Festplatte oder ein USB-Stick) # innerhalb des OS X Installationsbundle im Unterverzeichnis {{TT|/Contents/SharedSupport/}} das Disk-Image "{{TT|InstallESD.dmg}}" finden und per Doppelklick einhängen. # für den folgenden Schritt kann entweder das [[:Category:Terminal|Terminal]] verwendet werden, oder der Finder muss (z.B. mit Hilfe von [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool]) dazu bewegt werden, versteckte Dateien anzuzeigen ([[#Versteckte Dateien im Finder anzeigen|siehe unten]]). # dort befindet sich ein weiteres (verstecktes) Disk-Image namens "{{TT|BaseSystem.dmg}}", das zur Wiederherstellung z.B. auf den Desktop kopiert werden kann (aber nicht muss). # Im Festplattendienstprogramm kann nun dieses Image auf die bereits vorbereitete, leere Partition "wiederhergestellt" werden (Partition auswählen und im Tab "Wiederherstellen" Quelle und Ziel auswählen). Dieses Image enthält ein bootfähiges System, allerdings noch ohne Installationsdateien. Diese werden nun im folgenden Schritt kopoert: # Anschließend ist dieses soeben erstellte (bootfähige) Volume öffnen (müsste "OS X Base System" zu öffnen. Dort befindet sich nun unter "{{TT|/System/Installation/}}" ein defekter Alias namens "{{TT|Packages}}", der zu löschen und durch das entsprechende Verzeichnis "{{TT|Packages}}" im Disk-Image "{{TT|InstallESD.dmg}}" zu ersetzen ist. Dieses Verzeichnis enthält alle Installationdateien und ist dementsprechend relativ größ (etwa 4,5 GiB). # unter Version 10.10 und neuer müssen zusätzlich die folgenden Beiden Dateien ins Wurzelverzeichnis des neuen Installationsmediums kopiert werden: #* {{TT|BaseSystem.chunklist}} #* {{TT|BaseSystem.dmg}} # Fertig. Anschließend kann der Mac von dem neu erstellten Installationsvolume "OS X Base System" gestartet werden. ==OS X Lion und Mountain Lion== {{Important|1= Seit '''OS X Mavericks''' (Version 10.9) hat sich die Vorgehensweise im Vergleich zu OS X (Mountain) Lion geändert, da das Installations-DMG "{{TT|InstallESD.dmg}}" nun kein vollständiges, bootfähiges OS X mehr enthält, das lediglich auf eine DVD zu brennen ist. Details hierzu sind im Abschnitt "[[#OS X Mavericks und neuer|OS X Mavericks]]" dieses Artikels zu finden.<br /><br /> Die für OS X Lion und Mountain Lion beschriebene Vorgehensweise funktioniert '''partiell nur unter Snow Leopard und Lion''' bzw. wenn eine andere OS X Version als die derzeit installierte heruntergeladen werden soll. Dieselbe Version wird im App Store nicht mehr zur Installation angeboten, sondern lediglich deren Updates. Das jeweilige Produkt erscheint dann ggf. (falls es vorher via App Store heruntergeladen wurde) mit dem Status "Installiert" und lässt sich nicht mehr herunterladen. In einigen Fällen konnte mit gedrückter "ALT" Taste das Archiv dennoch erneut heruntergeladen werden, was jedoch nicht immer und zuverlässig zu funktionieren scheint.}} [[Image:OSX_Lion_DVD_Contents.png|right|100px|Inhalt des OSX Lion Installationsarchivs]]Aus dem im App Store herunterladbaren Installationsbundle von OS X (OS X Lion und Mountain Lion) lässt sich unter älteren Versionen (ab Snow Leopard) in wenigen Schritten eine bootfähige Installations-DVD erstellen. Innerhalb des Bundles befindet sich nämlich ein Disk Image namens "{{TT|InstallESD.dmg}}", das sich mit Hilfe des Festplatten-Dienstprogramms ohne Probleme auf eine DVD brennen lässt. Dieses Archiv befindet sich an folgender Stelle innerhalb des Application Bundles "{{TT|Mac OS X Lion Installation.app}}" (siehe Abb. rechts), das man im Finder über das Kontextmenü ("Paketinhalt zeigen") erreicht: /Contents/SharedSupport/InstallESD.dmg ===DVD=== Dieses Image ist lediglich an eine beliebige Stelle außerhalb des Bundles zu kopieren und kann anschließend mit Hilfe des Festplatten-Dienstprogramms (Disk Utility) auf DVD gebrannt werden (dort einfach auf "Brennen" klicken und das Image auswählen). ===USB-Stick=== Für das Erstellen eines USB-Sticks als Installationsmedium ist dieser entsprechend vorzubereiten: # den USB-Stick im Festplatten-Dienstprogramm mit dem Dateisystem "Mac OS X Extended (Journaled)" (HFS+) formatieren.<br />[[Image:Gefahrenzeichen_16.svg|16px]] '''Wichtig:''' darauf achten, dass als Partitionsschema "Apple GUID" verwendet wird (ist standardmäßig der Fall), ansonsten kann ein Intel Mac von diesem Medium aus nicht gestartet werden! # Das formatierte Medium auswählen und im Tab "Wiederherstellen" als Quelle das Disk Image "{{TT|InstallESD.dmg}}" auswählen (z.B. per Drag'n'Drop aus dem Finder). # Als Zielmedium (falls nicht bereits ausgewählt) das soeben formatierte Volume auf dem USB-Stick in das Feld "Zielmedium" ziehen (aus der Laufwerksauswahl links) # Mit einem Klick auf "Wiederherstellen" wandert dann der Inhalt des Disk Images auf den USB Stick ==Tools== ===Carbon Copy Cloner=== Ab Version 3.4.4 bietet der [http://bombich.com/ Carbon Copy Cloner] die Möglichkeit, aus einem im Programme-Ordner vorhandenen Lion-Installationsarchiv heraus ein Installationsmedium zu erstellen. Dieses steht im Auswahlmenü "Quelle" zur Verfügung, als Ziel (das zukünftige Installationsmedium) kann dann ein beliebiges Volume (ausreichender Größe, beispielsweise eine externe Festplatte) ausgewählt werden. ===DiskMaker X=== Der [http://diskmakerx.com/ DiskMaker X] (donationware, früherer Name: [http://liondiskmaker.com/ Lion Disk Maker]) dient ebenfalls dazu, aus den heruntergeladenen App Store Archiven startbare Installationsmedien zu erstellen. ==Hintergund== Bei einer "herkömmlichen" Installation des heruntergeladenen Application-Bundle werden durch das Installationsprogramm im Wesentlichen folgende Schritte durchgeführt: * Erzeugen einer versteckten Partition auf der Systemfestplatte * Wiederherstellen des o.g. Disk Images auf dieser Partition * Diese Installationspartition wird anschließend als Startvolume verwendet, wobei andere existierende System-Volumes ausgeblendet werden (diese sind dann auch nicht mehr über das OSX Boot-Menü erreichbar) Beim Neustart von dieser Partition wird dann OSX Lion installiert. Durch das Übertragen des Disk Images auf eine DVD oder einen USB Stick macht man also nichts anderes als diese Schritte zu umgehen und das Installationsmedium statt dessen von einem externen Volume aus zu starten. ===Versteckte Dateien im Finder anzeigen=== Um im Finder alle Dateien - auch versteckte - sehen zu können, ist im {{Terminal}} folgende Anweisung einzugeben: <source> defaults write com.apple.finder AppleShowAllFiles -boolean true </source> Anschließend ist der Finder mit folgendem Kommando ne zu starten, damit die Änderung wirksam wird: <source> killall Finder </source> Die Deaktivierung erfolgt dann mit Hilfe folgender Anweisung: <source> defaults delete com.apple.finder AppleShowAllFiles </source> Alternativ dazu kann der Finder auch über das Dock-Icon neu gestartet werden, und zwar via Rechtsklick bei gedrückter <KB>ALT</KB> Taste (alt). ==See also== * [https://support.apple.com/en-us/HT208198 About Startup Security Utility] at [https://support.apple.com support.apple.com] * [https://scriptingosx.com/2020/01/downgrading-a-mac-that-shipped-with-catalina-to-mojave/ Downgrading a Mac that shipped with Catalina to Mojave] at [https://scriptingosx.com scriptingosx.com] * [https://en.wikibooks.org/wiki/VirtualBox/Setting_up_a_Virtual_Machine/Mac_OS_X VirtualBox/Setting up a Virtual Machine/Mac OS X] at [https://en.wikibooks.org Wikibooks] 1ce781082c39efef76459ff5d38eb6bb842b531b MacOS System Requirements 0 2 269 157 2023-03-08T09:06:00Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS versions on unsupported Macs – A Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_.2812.0.29|Version 12.0 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.2) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Processor || 64-Bit intel processor, Apple A12Z or later |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_.2811.0.29|Version 11.0 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.1) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Processor || 64-Bit intel processor, Apple A12Z oder neuer |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_.2810.15.29|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_.2810.14.29|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 14.3 GB für die Durchführung eines Upgrades |-- | see also || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | see also || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs with CoreSolo/CoreDuo processors<br />Intel-Macs and Intel GPU GMA 950 or x3100<br />Intel-Macs with ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. Juli 2011 |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel Macs with CoreSolo or CoreDuo processors (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 28. August 2009 |-- | Processor || Intel processor |-- | Memory (RAM) || 1 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 26. Oktober 2007 |-- | Processor || PowerPC G4 (867MHz or more), G5 or Intel processor |-- | Memory (RAM) || 512 MB RAM |-- | Other requirements || FireWire (integriert) |-- | see also || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 29. April 2005 |-- | Processor || PowerPC G3, G4 or G5 processor, Intel processors starting with Version 10.4.4 |-- | Memory (RAM) || 256 MB RAM |-- | see also || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2003 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 13. August 2002 |-- | Processor || PowerPC G3, G4 or G5 orocessor (233 MHz or more, see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. März 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) ec1496609a92223eeac87d6eaf01fc4e9af200a7 Mac Keyboard Shortcuts 0 8 270 105 2023-03-08T09:06:17Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]]In diesem Artikel ist eine (mittlerweile nicht mehr ganz so kleine) Liste recht praktischer Tastaturkürzel zu finden. Für alle, die eine solche Liste gern auch ohne Internetzugang abrufbar hätten, gibt es [https://www.macupdate.com/app/mac/25152/xcuts mit xcuts] selbiges als [[Dashboard|Dashboard-Widget]]. Eine Übersicht der Boot-Tastenkombinationen (die sog. "Boot Key Combos") ist im Artikel "[[Startup Key Combinations]]" zu finden. ==macOS Allgemein== Global gültige Tastaturkommandos für das MacOS. Tastenkombinationen für den Start des Mac (Boot Key Combos) sind im Artikel "[[Startup Key Combinations]]" zu finden. {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|>}} {{key press|CMD|<}} || zwischen mehreren offenen Fenstern einer Anwendung wechseln |---- bgcolor="#FFFFFF" | {{key press|Ctrl|F2}} || Ins Hauptmenü springen (Startpunkt: Apfel-Menü) |---- bgcolor="#FFFFFF" | {{key press|Ctrl|F4}} || Dock anzeigen und auswählen (für eine Bedienung mit der Tastatur). Anzeigen eines Menüs mit den Pfeiltasten {{Key press|up}} und {{Key press|down}} |---- bgcolor="#FFFFFF" | {{key press|Ctrl|F4}} || Durch alle offenen Fenster (aller Anwendungen switchen) |---- bgcolor="#FFFFFF" | {{key press|Ctrl|F7}} || Tastatursteuerung umschalten: "Nur Textfelder und Listen" oder "alle Steuerungselemente" |---- bgcolor="#FFFFFF" | {{key press|Ctrl|F8}} || Zu dem Menüsymbolen springen (Uhr, Batterieanzeige, Benutzer, ...) |---- bgcolor="#FFFFFF" | {{key press|Shift|Alt}} || Zusätzlich zu den Lautstärketasten: Lautstärke-Feineinstellung in Viertelschritten (ab Mac OS X 10.5) |---- bgcolor="#FFFFFF" | {{key press|cmd|t}} || Schriftarten-Auswahldialog |---- bgcolor="#FFFFFF" | {{key press|cmd|Alt|t}} || Zeichenpalette anzeigen (Auswahldialog für Sonderzeichen) |---- bgcolor="#FFFFFF" | {{key press|cmd|Shift|c}} || Farbauswahl |---- bgcolor="#FFFFFF" | {{key press|Ctrl|shift|⏏}} || Bildschirm in den Ruhezustand versetzen (ab Mac OS X 10.5) |---- bgcolor="#FFFFFF" | {{key press|cmd|Alt|⏏}} (2 Sek.)|| Mac in den Ruhezustand versetzen (2 Sekunden lang gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|cmd|Ctrl|⏏}} || Alle Anwendungen schließen und anschließend Neustart durchführen |---- bgcolor="#FFFFFF" | {{key press|Cmd|Ctrl|Power}} || sofortigen Neustart erzwingen |---- bgcolor="#FFFFFF" | {{key press|Ctrl|CMD|Q}} || Zum Lock/Login Screen wechseln |---- bgcolor="#FFFFFF" | {{key press|Ctrl|Shift|Power}} || Display ausschalten |---- bgcolor="#FFFFFF" | {{key press|Ctrl|Opt|Power}} || Sleep mode |} ===Rechtschreibkorrektur / Eingabehilfen=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|;}} || Rechtschreibkorrektur: nächstes unkorrektes Wort finden |---- bgcolor="#FFFFFF" | {{key press|CMD|:}} || Rechtschreibkorrektur: Dialogfenster zum Lernen / Ersetzen |---- bgcolor="#FFFFFF" | {{key press|Alt|Esc}} {{key press|F5}} || Auto-Vervollständigung (Drop-Down Liste mit Vorschlägen) |} ===Screeenshots=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|shift|3}} || ganzer Bildschirm |---- bgcolor="#FFFFFF" | {{key press|CMD|SHIFT|4}} || Markierter Bereich (ein Auswahlkreuz erscheint). Drückt man danach {{key press|Space}}, kann ein einzelnes Fenster ausgewählt werden |---- bgcolor="#FFFFFF" | +{{key press|Ctrl}} || Durch zusätzliches Drücken der {{key press|Ctrl}} Taste wandert der Screenshot in die Zwischenablage und nicht in eine Datei auf dem Desktop |} ===Bedienungshilfen=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|Cmd|Opt|8}} || Bildschirmzoom ein-/ausschalten |---- bgcolor="#FFFFFF" | {{key press|Cmd|Opt|equals}} || Bildschirmzoom - vergrößern |---- bgcolor="#FFFFFF" | {{key press|Cmd|Opt|-}} || Bildschirmzoom - verkleinern |---- bgcolor="#FFFFFF" | {{key press|Ctrl|Scroll}} || Bildschirmzoom - verkleinern/vergrößern |---- bgcolor="#FFFFFF" | {{key press|Cmd|Ctrl|Opt|8}} || Bildschirmdarstellung invertieren |---- bgcolor="#FFFFFF" | {{key press|Cmd|Ctrl|Opt|,}} || Kontrast verringern |---- bgcolor="#FFFFFF" | {{key press|Cmd|Ctrl|Opt|.}} || Kontrast erhöhen |} ==macOS Tools== ===Finder=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|CMD|F}} || '''bis Mac OS 10.3.9:'''<br />herkömmliche Dateisuche mit verschiedenen Optionen<br />'''ab Mac OS 10.4:'''<br />Spotlight-Suche in einem normalen Finder-Fenster mit weiteren Suchoptionen und der Möglichkeit, die Suche als sog. "intelligenten Ordner" zu speichern. |---- bgcolor="#FFFFFF" | {{Key press|CMD|Shift|Backspace}} || Papierkorb entleeren |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|Shift|Backspace}} || Papierkorb ohne Warnung / Bestätigung entleeren |---- bgcolor="#FFFFFF" | {{Key press|CMD|Shift|.}} || Versteckte Dateien anzeigen bzw. verbergen (in jedem Finder-Fenster und Öffnen-/Speichern Dialog) |---- bgcolor="#FFFFFF" | {{Key press|Opt|Secondary Click}} auf dem Dock-Icon, dabei {{Key press|Opt}} '''vorher''' drücken und gedrückt halten!|| Menü mit Eintrag "Neu starten" |---- bgcolor="#FFFFFF" | {{Key press|Ctrl|F2}} || Menüleiste anzeigen und für Tastatursteuerung aktivieren |---- bgcolor="#FFFFFF" | {{Key press|Opt|Shift|Volume}} || Feineinstellung der Lautstärke in 64 statt 16 Stufen |} ===Dock=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|D}} || Dock anzeigen bzw. verbergen |---- bgcolor="#FFFFFF" | {{Key press|CMD|Mouse}} || Den Ort des Dock-Elements im Finder zeigen |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|Mouse}} || Alle anderen Anwendungen verbergen außer derjenigen, die man anklickt. Funktionsweise analog zu <KB>apfel + alt + h</KB> |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|Mouse Drag}} || Zwingt eine Anwendung dazu, eine auf ihr Symbol im Dock gezogene Datei zu öffnen (normalerweise ist bei nicht für eine Anwendung registrierten Typen diese Funktion gesperrt) |---- bgcolor="#FFFFFF" | {{Key press|Opt}}+Dock resize || Es werden nur fest vorgegebene Größen verwendet und keine interpolierten Zwischengrößen (kann die Systemperformance verbessern) |---- bgcolor="#FFFFFF" | {{Key press|Shift}}+Dock resize || Verschieben des Docks an eine andere Stelle des Desktops (links, rechts oder unten) |---- bgcolor="#FFFFFF" | {{Key press|Ctrl|F3}} || Dock anzeigen und für Tastatursteuerung aktivieren |} ===Spotlight=== Tastaturkürzel für Spotlight sind [[Spotlight#Tastaturshortcuts|im entsprechenden Artikel]] zu finden. ===Dashboard=== Tastaturkürzel für Spotlight sind [[Dashboard#Tastaturshortcuts|im entsprechenden Artikel]] zu finden. ===Systemeinstellungen=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|Opt|Volume}} || PrefPane "Ton" öffnen |---- bgcolor="#FFFFFF" | {{Key press|Opt|Brightness}} || PrefPane "Monitore" öffnen |} ===iTunes=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|CMD|Shift}} || iTunes im gesicherten Modusstarten (während des Starts gedrückt halten) |} ==Anwendungen== ===Vorschau=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|CMD|Shift|F}} || Diashow starten<ref name="Mehrfachhauswahl">Mehrfachauswahl im Finder mit <KB>shift</KB> oder <KB>apfel</KB>, anschließend mit der entsprechenden Anwendung öffnen</ref> |---- bgcolor="#FFFFFF" | {{Key press|CMD|Alt|C}} || Bildkorrekturen (Belichtung, Gamma, Kontrast etc.) |} ===Notizzettel (Stickies)=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|CMD|>}}<br />{{Key press|CMD|<}} || zwischen mehreren Notizzetteln wechseln |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|F}} || ausgewählten Notizzettel immer im Vordergrund halten |---- bgcolor="#FFFFFF" | {{Key press|CMD|Opt|T}} || Transparenz des ausgewählten Notizzettels ein-/ausschalten |} ===Adressbuch=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Tastenkombination || width="400px" | Wirkung |---- bgcolor="#FFFFFF" | {{Key press|Opt}} || Bei ausgewähltem Kontakt: Hervorheben der Gruppen, denen der ausgewählte Kontakt zugewiesen ist |---- bgcolor="#FFFFFF" | {{Key press|Opt|L}} || ausgewählten Kontakt bearbeiten bzw. dessen Bearbeitung beenden |} ==Weitere Tipps== ===Sondertasten umbelegen=== Die 4 Sondertasten :{{key press|caps lock}} (Feststelltaste) :{{key press|Ctrl}} (Steuerung) :{{key press|Opt}} (Wahltaste) :{{key press|Cmd}} (Befehlstaste) lassen sich in den Systemeinstellungen im PrefPane "Tastatur & Maus" über den Button "Sondertasten" anders belegen oder auch deaktivieren. Dabei stehen jedoch nur die 4 obigen Funktionen zur Verfügung, d.h. die Tasten lassen sich also nur austauschen oder deaktivieren. ===Steuerung über die Tastatur=== Seit Mac OS X Tiger (10.4) lassen sich alle Elemente der graphischen Benutzeroberfläche per Tastatur ansteuern. Dieses Verhalten kann auf 2 verschiedenen Wegen umgeschaltet werden, und zwar # in der Systemsteuerung, PrefPane "Tastatur & Maus", Tab "Tastatur-Kurzbefehle" ganz unten # über die Tastenkombination <KB>ctrl + F7</KB> Dabei wird umgeschalten zwischen # Tastatursteuerung von Textfeldern und Listen # Tastatursteuerung aller Steuerungselemente (also z.B. auch Knöpfe/Buttons) ===Tastenkombinationen von Anwendungen ändern=== [[Image:Systemeinstellungen_KeyboardShortcut_erstellen.png|thumb|Eigene Tastaturkürzel erstellen]] In den Systemeinstellungen (PrefPane "Tastatur und Maus") lassen sich sehr einfach auch eigene Kürzel für die verschiedenen Funktionen einer Anwendung erzeugen. Dabei ist jedoch immer zu beachten, dass diese sich nicht mit anderen, durch Mac OS X oder die jeweilige Applikation belegten Kürzeln überschneiden. Im Zweifelsfall funktionert das Kürzel einfach nicht. Dazu ist im Tab "Tastatur-Kurzbefehle" auf das kleine "+" Symbol rechts unterhalb der Übersicht zu klicken, woraufhin das rechts im Bild dargestellte Fenster erscheint. Anschließend kann im DropDown Feld "Programm" eine Anwendung ausgewählt werden - entweder direkt über die Liste oder über den Eintrag "Andere..." ganz am Ende der Liste (ganz herunterscrollen) mit Hilfe eines Dateiauswahl-Dialoges. Nach der Auswahl des Programms kann nun der Menü-Eintrag für die aufzurufende Funktion (genauer Wortlaut aus dem Menü der Anwendung, z.B. "Widerrufen" oder "Datei öffnen") sowie das damit zu verknüpfende Tastaturkürzel durch Drücken der gewünschten Tastenkombination im Feld "Tastatur-Kurzbefehl" angegeben werden. Durch einen Klick auf "Hinzufügen" wird das Kürzel gespeichert und steht nach dem nächsten Start der Anwendung zur Verfügung. ==Siehe auch== * [[Startup Key Combinations]] * [[Hidden Features]] * Apple Support: ** [http://support.apple.com/kb/HT1533 Startup key combinations for Intel-based Macs] ** [http://support.apple.com/kb/ht1343 Mac OS X keyboard shortcuts] ** [https://support.apple.com/en-ae/HT201236 Mac keyboard shortcuts] * Sonstige: ** Usingmac.com: [http://usingmac.com/2007/11/21/mac-os-x-leopard-200-productivity-booster-hotkeys Liste mit über 200 Tastaturkürzeln] ** mozilla.org: [http://www.mozilla.org/support/firefox/keyboard Mozilla Firefox Tastaturkürzel] und [http://www.mozilla.org/support/firefox/mouse Mauskürzel] ** mozilla.org: [http://www.mozilla.org/support/thunderbird/keyboard Mozilla Thunderbird Tastaturkürzel] und [http://www.mozilla.org/support/thunderbird/mouse Mauskürzel] ** Leslie Franke: [http://lesliefranke.com/files/reference/thunderbirdcheatsheet.html Mozilla Thunderbird Tastaturkürzel] ([http://lesliefranke.com/files/reference/thunderbirdcheatsheet.pdf PDF]) ** [https://www.macupdate.com/app/mac/25152/xcuts xCuts] - [[Dashboard|Dashboard Widget]] zum Nachschlagen von Mac OS X Tastaturkürzeln ** [https://pqrs.org/osx/karabiner/ Karabiner] zum Umbelegen von Tasten ==Fußnoten== <references /> af4e9ec6d87482beb5176cd50534272faf3219f6 Startup Key Combinations 0 9 271 19 2023-03-08T09:06:34Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]]<!-- alternative article names, listed for search engine optimization: [[Boot_Key_Combos|Boot Key Combos]] [[Startup_Key_Combinations|Startup Key Combinations]] --> In diesem Artikel sind verschiedene Tastenkombinationen (sog. "Boot Key Combos") für den Start des Macs aufgelistet. Diese sind während des Startsounds gedrückt halten. Tastaturkombinationen für Betriebssystemfunktionen und in Mac OS X enthaltenen Applikationen sind im Artikel [[Mac Keyboard Shortcuts]] zu finden. ==Aple Silicon Macs== Mit dem Wechsel zu ARM-basierten Prozessoren hat sich auch am Systemstart einiges geändert, insbesondere das System Recovery wurde komplett überarbeitet und in das Boot-Menü integriert. Dadurch funktionieren eine ganze Reihe Tastenkombinationen nicht mehr bzw. sind auch gar nicht mehr nötig: ;Boot-Menü :Die Auswahl der zu startenden macOS Installation (bzw. des Volumes/der Volume Group, auf dem/der sich diese befindet) wird nun durch das Gedrückthalten des Power Buttons beim Einschalten erreicht. Dies impliziert auch, dass der Rechner vorher ausgeschaltet sein muss, da ansonsten ein "Force Power Off" stattfindet, der üblicherweise nur im Fehlerfall zum Einsatz kommen sollte – also z.B. wenn das System eingefroren ist und auf keinerlei Eingaben mehr reagiert. Ein direkter Neustart in das Bootmenü ist also nicht mehr möglich (bislang wurde hierzu während des Starts {{Key press|Opt}} auf der Tastatur gedrückt gehalten). ;Recovery :Die System Recovery Werkzeuge sowie die Wiederherstellung einer beschädigten macOS Installation werden ebenfalls über das o.g. Boot-Menü erreicht. Die bislang dafür verwendeten Tastenkombinationen entfallen restlos. ;Internet Recovery :... gibt's nicht mehr, daher lässt sich das System nur noch auf die folgenden Weisen (re-)installieren: :* macOS Recovery (wie bisher) :* System Recovery (von versteckter Partition) :* USB [[MacOS_Installationsmedium_erstellen|Installations-Medium]] (ebenfalls wie bisher) :* via DFU Mode & Apple Configurator 2 :Mehr Informationsn zum Thema gibt es auch auf [https://mrmacintosh.com/how-to-reinstall-macos-on-your-apple-silicon-mac-everything-you-need-to-know/ mrmacintosh.com]. ==Intel und "New World" PPC Macs== Tastaturkombinationen für sog. "New World Macs", die immer funktionieren - also unabhängig vom verwendeten Betriebssystem. {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|X}} || bei OS9 / X Dualinstallation MacOS X starten |---- bgcolor="#FFFFFF" | {{key press|C}} || von CD / DVD booten |---- bgcolor="#FFFFFF" | {{key press|D}} || von Festplatte booten (bis incl. Mac OS X 10.6.8)<br />Hardware-Test starten (bei eigelegter Installations-DVD, bis incl. Mac OS X 10.6.8) Startet bei eingelegter Installations-DVD den [http://support.apple.com/kb/HT1509 Apple Hardware Test] (nicht auf Mac OS X Retail-DVDs enthalten; Geräte ohne optisches Laufwerk sowie weitere, neuere Intel-Macs können seit 10.7 den Hardware Test über das Internet nutzen) Bei älteren Macs ist die Hardwaretest-Software auf den mitgelieferten Installations-DVDs enthalten, bei neueren Intel-Macs (seit OS X 10.7) befindet sich auf einer versteckten Partition des Systemlaufwerks (HDD oder SSD). Bei Macs mit Erscheinungsdatum nach dem Juni 2013 ist die [http://support.apple.com/kb/HT5781?viewlocale=de_DE&locale=de_DE Diagnosesoftware] Teil der Systemfirmware |---- bgcolor="#FFFFFF" | {{key press|N}} || netboot: vom Netzwerk booten (bis zum Apple-Logo / MacFace gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|T}} || Rechner im [http://support.apple.com/kb/HT1661 Firewire Target-Mode] booten (die HFS-Volumes stehen am anderen Rechner dann als Externe Festplatte zur Verfügung) |---- bgcolor="#FFFFFF" | {{key press|ALT}} || Intel-Macs: EFI-Boot-Menü<br />PowerPC NewWorld Macs: OpenFirmware Boot-Menü<br />OldWorld Macs: MacOS starten |---- bgcolor="#FFFFFF" | {{key press|⏏}}<br />alternativ (linke) Maustaste || CD/DVD-Medium beim Start auswerfen |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|P|R}} || Parameter-RAM löschen (bis zum 2. Startsound gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|N|V}} || NV-RAM löschen (OpenFirmware Reset, nur PowerPC-basierte NewWorld-Macs) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|O|F}} || In die OpenFirmware booten (nur sog. "New World Macs" mit PowerPC und OpenFirmware. Intel Macs nutzen das [[wikipedia:de:Extensible_Firmware_Interface|EFI]], das nicht mehr so einfach erreichbar ist.) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL}} || Startvolume ignorieren und von externem Medium oder CD/DVD starten (default volume wird ignoriert) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL|#}} || von einer bestimmten SCSI-ID booten (# = SCSI-ID) |} ==MacOS X== Tastaturkombinationen für MacOS X Installationen: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || '''beim Systemstart:'''<br />safe boot: deaktiviert Startobjekte und lädt nur die wichtigsten Kernel-Extensions<br />'''beim Fortschrittsbalken während dem Starten:'''<br />verhindert die automatische Anmeldung<br />'''beim login:'''<br />deaktiviert Startobjekte |---- bgcolor="#FFFFFF" | {{key press|CMD|V}} || verbose-boot: Zeigt alle Statusmeldungen während des Startvorgangs (anstatt des Apfel-Logos). Dauerhafte Aktivierung durch Eingabe des folgenden Kommandos im [[:Category:Terminal|Terminal]]: sudo nvram boot-args="-v" |---- bgcolor="#FFFFFF" | {{key press|CMD|S}} || im Single User Modus starten<br />Anschließend Schreibzugriff auf Volumes aktivieren mit: fsck -fy mount -uw / |---- bgcolor="#FFFFFF" | {{key press|CMD|R}} || Mac OS X 10.7 im [[Lion_Recovery|Recovery Modus]] starten (bei mit FileVault2 verschlüsselten Laufwerken erst ab 10.7.2 funktionstüchtig) |---- bgcolor="#FFFFFF" | {{key press|ALT+R}} || Mac OS X 10.7 im [[Lion_Recovery|Online Recovery Modus]] starten (Neuinstallation von OS X) |---- bgcolor="#FFFFFF" | {{key press|6|4}} || Kernel im 64-Bit Modus starten (ab Version 10.6 auf unterstützten Geräten)<br />Um herauszufinden, ob der eigene Mac den 64-Bit Modus für den Systemstart untertützt, ist folgendes im [[:Category:Terminal|Terminal]] einzugeben: {{Manl|ioreg|ioreg}} -l -p IODeviceTree | grep firmware-abi Auf unterstützten Systemen müsste die Ausgabe wie folgt aussehen: "firmware-abi" = <"EFI64"> |---- bgcolor="#FFFFFF" | {{key press|3|2}} || Kernel im 32-Bit Modus starten (ab Version 10.7) |} ==Mac OS Classic== Tastaturkombinationen, die nur mit dem "alten" MacOS (Version 9 und davor) funktionieren: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || Systemerweiterungen deaktivieren |---- bgcolor="#FFFFFF" | {{key press|CMD}} || Ohne virtuellen Speicher starten |---- bgcolor="#FFFFFF" | {{key press|space}} || "Conflict-Catcher" - Auswahl der Systemerweiterungen |} == Siehe auch == * [[Mac Keyboard Shortcuts]] hier im Wiki * Apple Support: ** [http://support.apple.com/kb/HT1533?viewlocale=de_DE&locale=de_DE Tastenkombinationen beim Startvorgang Intel-basierter Macs] ** [http://support.apple.com/kb/ht1343?viewlocale=de_DE&locale=de_DE Mac OS X: Tastaturkurzbefehle] ** [http://support.apple.com/kb/HT1242?viewlocale=de_DE&locale=de_DE Mac OS X: Was wird im PRAM gespeichert] * System Management Controller (SMC) von Intel-Macs zurücksetzen: ** [http://support.apple.com/kb/HT1543?viewlocale=de_DE&locale=de_DE Mac Mini, iMac] ** [http://support.apple.com/kb/HT1411?viewlocale=de_DE&locale=de_DE MacBook, MacBook Pro, MacBook Air] ** [http://reviews.cnet.com/8301-13727_7-10330118-263.html When to reset the PRAM and SMC/PMU] * [http://support.apple.com/kb/HT1436 How to reset the SMU on a Power Mac G5 (Late 2004) or Power Mac G5 (Late 2005)] 682b26ef22250b197dbbb241d9342d4ef8e61d4a Terminal Quickies 0 11 272 98 2023-03-08T09:06:45Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <source> mdfind -onlyin <path> 'kMDItemKind == "Alias"' </source> z.B.: <source> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </source> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <source lang=bash> diff -qr ./old/ ./new/ </source> Beispielausgabe: <source lang=bash> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </source> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <source lang=bash>find . -regex '.*.svn' -exec rm -rf "{}" \;</source> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <source lang=bash> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </source> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <source lang=bash> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </source> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <source lang=bash> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </source> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <source lang=bash>srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </source> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <source lang=bash>chflags hidden FILE_OR_DIRECTORY</source> Folgendes Kommando bewirkt genau das Gegenteil: <source lang=bash>chflags nohidden FILE_OR_DIRECTORY</source> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <source lang=bash>ar vx dateiname.deb</source> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <source lang=bash>tar xvfz data.tar.gz</source> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf </path/to/package.pkg> xar -xvf </path/to/package.pkg> -C <destination-folder> pkgutil --expand </path/to/package.pkg> <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume </path/to/volume> for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ==Administration== ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <source> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </source> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <source lang=bash> ps -ef </source> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <source lang="bash">ps -A -j | grep loginwindow</source> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <source lang="bash">sudo kill 123</source> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <source lang="bash">softwareupdate -d -a</source> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <source lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </source> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <source>sudo launchctl list</source> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <source>$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</source> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <source>$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </source> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <source>sudo launchctl unload -w &lt;NAME></source> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <pre>killall NotificationCenter</pre> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write <bundleidentifier> NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <source>killall -KILL SystemUIServer</source> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <pre> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </pre> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <pre>sudo scutil --set HostName <hostname></pre> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <source> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </source> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <source> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </source> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <pre> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </pre> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <source> $ csrutil status System Integrity Protection status: enabled. </source> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <source> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </source> z.B.: <source> tccutil reset Accessibility tccutil reset AppleEvents tccutil reset All </source> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <pre>strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</pre> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<pre>/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</pre> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <source lang=bash> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </source> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r <timestamp> z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep <path> z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <source>ls -lO</source> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <source> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </source> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 8fe3137b5c98c13398db0984d6df0430000ba8e0 Template:Infobox 10 22 273 40 2023-03-08T09:07:14Z Hagbard 2 Hagbard moved page [[Vorlage:Infobox]] to [[Template:Infobox]]: Moved to correct namespace wikitext text/x-wiki <noinclude>Diese Vorlage dient der Erzeugung verschiedener Artikelbausteine, wie z.B. zur Kennzeichnung * ausbaufähiger Artikel * unvollständiger Artikel * unverständlicher Artikel * Löschkandidaten usw. Die Vorlage sollte '''nicht direkt verwendet werden''' sondern nur innerhalb der obigen Artikelbaustein zum Einsatz kommen. Für die Verwendung der Vorlage mit Icon ist die Vorlage [[Vorlage:InfoboxWithIcon|InfoboxWithIcon]] zu verwenden. </noinclude><includeonly>{{Contentbox|width={{{width}}}|content= <div style="width:80px; height:64px; float:left;"> [[Image:{{{icon}}}|64px]]</div><div style="width:100%;">{{{content}}}</div>}}</includeonly> fad5072e5a5709dd94518c24a389021d3336fcb2 Template:InfoboxWithIconAlt 10 24 275 42 2023-03-08T09:07:49Z Hagbard 2 Hagbard moved page [[Vorlage:InfoboxWithIcon]] to [[Template:InfoboxWithIconAlt]]: Moved to correct namespace wikitext text/x-wiki <noinclude>Diese Vorlage dient der Erzeugung verschiedener Artikelbausteine, wie z.B. zur Kennzeichnung * ausbaufähiger Artikel * unvollständiger Artikel * unverständlicher Artikel * Löschkandidaten usw. Die Vorlage sollte '''nicht direkt verwendet werden''' sondern nur innerhalb der obigen Artikelbausteine zum Einsatz kommen. Für die Verwendung der Vorlage ohne Icon ist die Vorlage [[Vorlage:Infobox|Infobox]] zu verwenden. </noinclude><includeonly>{{ContentboxWithIcon|icon={{{icon}}}|width={{{width}}}|content= {{{content}}}}}</includeonly> bd0946aa8042eb0795a3696209fb38d9456d7eb1 Ethernet 0 69 278 277 2023-03-08T09:34:37Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Network]] ==Ethernet== Ethernet stellt eine verbindungslose Kommunikation dar, da zwischen zwei Kommunikationspartnern keine dedizierte Verbindung aufgebaut wird sondern die Pakete (mindestens 1500 Byte groß) mit Adressinformationen versehen über einen Bus geschickt werden (wurde von Xerox entwickelt). Ethernet verwendet dabei das CSMA/CD (Carrier Sense Multiple Access/Collision Detection) Verfahren, um bestimmte Zugriffsverfahren auf diesen Bus zu vereinbaren. Es bedeutet, dass nur einer gleichzeitig auf den Bus zugreifen kann. Wenn dies mehrere Teilnehmer gleichzeitig versuchen (Collision), warten diese eine unterschiedliche Zeit lang aufeinander und versuchen es dann erneut (Collision Detection). Dieser Zeitraum wird nach jeder Collision länger. Eine Collision Rate von 10% ist dabei grenzwertig und bedeutet eine Vollauslastung des Netzwerks. '''Vorteile:''' * Statisches Zugriffsverfahren * Einfache Handhabung (Verkabelung, Technik – 50&#937; Koax-Kabel) * bei 50&#937; Koax-Kabel: maximal 150m Leitungslänge * bei 75&#937; Koax-Kabel: maximal 500m Leitungslänge '''Nachteile:''' * keine Kollisionsvorbeugung, nur Kollisionserkennung (CSMACD) * dadurch relativ undeterministisches Verhalten * nur sehr kurze Strecken können ohne Repeater / Verstärker überbrückt werden ===Verschiedene Formen des Ethernet=== * Thin (Wire) Ethernet - 10Base2 (Bus, Koaxialkabel) * Thick Ethernet - 10Base5 (Bus, Koaxialkabel) * 10BaseT (Stern, TP/LWL) * Fast-Ethernet - 100Base* (Stern, TP) * Gigabit-Ethernet - 1000Base* (Stern, TP/LWL) * 10 Gigabit-Ethernet - 1000Base* (Stern, TP/LWL) ''Mehr dazu im Ethernet-Artikel der [http://de.wikipedia.org/wiki/Ethernet Wikipedia]'' ===100BaseVG=== Der Standard [[wikipedia:100BaseVG|100BaseVG]] ([[wikipedia:de:IEEE_802.12|IEEE 802.12]], VG steht für "Voice Grade") wurde (in erster Linie von Hewlett-Packard) als zukünftiger Nachfolger des Ethernet entwickelt, um über Kategorie 3 Kabel sowohl Token Ring als auch Ethernet Teilnehmer zu verbinden. Diese Netzwerkkarten können nicht direkt an einen handelsüblichen 100BaseT [[#Ethernet_Repeating|Hub]] oder [[#Ethernet_Switching|Switch]] angeschlossen werden, da hier keine [[#Kollisionserkennung|Kollisionserkennung]] mittels [[wikipedia:de:CSMA/CD|CSMA/CD]] zum Einsatz kommt sondern ein Zugriffsverfahren namens "demand priority polling" - in erster Linie, um ein deterministischeres Verfahren für den Netzwerkzugriff zu verwenden und damit andauernde Kollisionen zu verhindern. Ein solcher Adapter ist beispielsweise der [http://h41111.www4.hp.com/procurve/includes/faqs/index.php?cc=de&lc=de&content=lan_adapters#question3 J2585A von Hewlett Packard], der 2 RJ45-Buchsen besitzt: eine für 10BaseT und eine für 100BaseVG. ==Ethernet-Paketheader== Ein Ethernet-Paket besteht aus 7 möglichen Feldern und sieht in etwa so aus: [[Image:EthernetPacketHeader.png|thumb|center|667px|Schematischer Aufbau eines Ethernet-Paketheaders (802.3 mit 802.1q Tag)]] Die einzelnen Felder beinhalten dabei die folgenden Informationen: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="120px" | Feld || width="500px" | Beschreibung |---- bgcolor="#FFFFFF" | Präambel: || sie dient der Synchronisierung von Netzwerkteilnehmern und besteht aus einer alternierenden Bitfolge aus 1 und 0 |---- bgcolor="#FFFFFF" | SFD: || -?- |---- bgcolor="#FFFFFF" | MAC-Adressen: || Die MAC-Adressen (Quelle/Sender und Ziel/Empfänger) stellen eine eindeutige Kennzeichnung für die Teilnehmer eines Ethernet dar und werden durch den Hersteller fest vorgegeben (die ersten 3 Byte beschreiben den Hersteller, z.B.: <font face="courier">00:0d:93</font> für Apple Computer). Sie sind 6 Byte lang und werden üblicherweise in hexadezimaler Schreibweise dargestellt.<br />Die Zieladresse kann dabei auch eine Multicast- oder Broadcast-Adresse sein <br /><small>''(mehr dazu im [http://de.wikipedia.org/wiki/MAC-Adresse Wikipedia-Artikel]])''</small> |---- bgcolor="#FFFFFF" | VLAN-Tag: || ... |---- bgcolor="#FFFFFF" | Typ: || hier steht eine ID, die das in der darüberliegenden Schicht verwendete Protokoll kennzeichnet, z.B.:<br />&bull;<font face="courier">0x0800</font> für IPv4<br />&bull;<font face="courier">0x86dd</font> für IPv6<br />&bull;<font face="courier">0x809b</font> für Appletalk<br /> |---- bgcolor="#FFFFFF" | Daten: || Der Umfang der Nutzdaten liegt zwischen 0 und 1500 Byte. Falls die Datenmenge kleiner als 46 Byte ist, muss ein 46 Byte langes PAD-Feld angehängt werden um die Korrektheit des Pakets zu gewährleisten, da ein Ethernet-Frame eine Mindestgröße von 64 Byte haben muss |---- bgcolor="#FFFFFF" | Pad-Füllfeld: || 0 bis 46 Byte lang, wird ggf. angehängt, falls das Datenfeld weniger als 46 Byte Nutzdaten enthält |---- bgcolor="#FFFFFF" | CRC Prüfsumme: || enthält eine 32 Bit CRC-Prüfsumme ([http://de.wikipedia.org/wiki/Cyclic_Redundancy_Check Cyclic Redundancy Check]) über die gesamte Bitfolge des Pakets (außer dem Prüfsummenfeld selber, logisch). Wenn die Überprüfung fehlschlägt, wird das Paket vom Empfänger verworfen |} ==Ethernet Repeating== Durch die begrenzten Kabellängen bei Ethernet ist es zur Überbrückung größerer Distanzen notwendig, das Signal zu verstärken. Dies geschieht auf dem [[ISO-OSI_Schichtenmodell#Physical_Layer|Physical Layer]] des ISO-OSI Schichtenmodells (daher auch als Layer 1 Switching bezeichnet) mit Repeatern oder sog. ''Hubs''. Das Signal wird lediglich physikalisch verstärkt und gegebenenfalls auf mehrere Anschlüsse verteilt (vervielfältigt), daher muss der Repeater dafür kein Protokoll kennen und ist daher technisch gesehen sehr einfach aufgebaut. Bei der Verstärkung benötigt der Repeater jedoch Zeit zur Synchronisation - dazu werden am Anfang jedes Ethernet-Paketes 2 Bit von der Präambel abgeschnitten, die der Repeater wieder hinten an das Paket anfügt. Die 2 Byte braucht der Repeater jedoch für die Synchronisation und zur Erkennung des Paketendes. Dabei erkennt er das letzte vollständige Byte als Paketende an. Nach mehr als 4 Repeatern ist also am Ende des Paketes mehr als ein komplettes Byte zufällig generierter Daten (also keine Nutzdaten) angehängt worden. Das Paket wird also für ungültig erklärt und verworfen. Zusätzlich ist noch die Laufzeit des Paketes beschränkt, um die Funktion der Collision Detection zu gewährleisten. ===Kaskadierung von Hubs=== [[Image:EthernetHub.png|Schematischer Aufbau eines 4-Port Ethernet Hubs|thumb|right|200px]]Aus diesem Grunde ergibt sich eine maximale Anzahl von 4 Repeatern (=Verstärkungsstufen) hintereinander (= in Reihe). In der Praxis ergibt sich also eine empfehlenswerte Anzahl von 3 Verstärkern in Reihe. Die einfachste Form eines Repeaters ist ein Ethernet-Hub. Hierbei gilt ebenso, daß maximal 4 Hubs in Reihe geschaltet werden dürfen, daher ist auch hier die (physikalische) Größe bzw. Ausdehnung des Netzwerkes noch sehr eingeschränkt (4x150m = 600m bei 50&#937; Koax-Kabel). Damit sind die Möglichkeiten auf dem Layer 1 (Physical Layer) voll ausgereizt. Hierbei ergibt sich auch der Nachteil, daß die Netzwerkgeschwindigkeiten überall gleich sein muss, lediglich die Verkabelungsart auf der Signalebene kann unterschiedlich sein (TP, Koax oder Optisch, auch ein großer Nachteil bzgl. der Lastverteilung). Eine weitere Vergrößerung der Netzwerkausdehnung ist nur auf höheren Layern des OSI-Schichtenmodells möglich (ab [[ISO-OSI_Schichtenmodell#Data_Link_Layer|Layer 2]] aufwärts), hier geschieht keine physikalische Betrachtung des Signals mehr sondern eine Betrachtung auf Protokollebene, d.h. das eingesetzte Gerät muss die verwendeten Protokolle kennen und verstehen, um arbeiten zu können. Ein Hub bzw. Repeater repräsentiert genau eine Kollisionsdomäne, womit nur ein Teilnehmer gleichzeitig auf den Bus zugreifen kann. ===Netzwerksniffer=== Ein weiterer Nachteil ist, dass der Netzwerkverkehr an einem Hub nur vervielfältigt wird. Somit muss der Teilnehmer diejenigen Pakete herausfiltern, die an für ihn bestimmt sind. Dies erfolgt automatisch über den Netzwerkstack des Betriebssystems, mit einem Netzwerksniffer (wie z.B. [http://www.tcpdump.org tcpdump], [http://ettercap.sourceforge.net/ ettercap] oder [http://personalpages.tds.net/~brian_hill/macsniffer.html MacSniffer]) jedoch kann das Interface in den sog. ''promiscous mode'' versetzt werdne, in dem das Interface alle Pakete entgegennimmt. Somit kann ein Netzwerkteilnehmer den gesamten über den Hub laufenden Verkehr sehr einfach abhören und gegenenfalls auch verändern. ==Ethernet Switching== {| align="right" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#ffffff; border:1px dotted #e3e3e3; align:right;" |- | [[Image:EthernetBridge.png|center|thumb|200px|Schematische Darstellung einer Ethernet Bridge in einem Bussystem]] |- | [[Image:EthernetBridgeNet.png|center|thumb|200px|Schematische Darstellung einer Ethernet Bridge zwischen zwei Netzwerken]] |} Das Ethernet Switching erfolgt auf dem [[ISO-OSI_Schichtenmodell#Data_Link_Layer|Data Link Layer]], wobei zwischen ''Bridging'' und ''Switching'' unterschieden werden kann. Eine Ethernet-Bridge ist dabei der einfachste Fall eines Switches mit genau 2 Anschlüssen. Ein Switch kann also auch als Erweiterung einer Bridge beschrieben werden. ===Warum Switching?=== Ethernet Switches werden hauptsächlich aus den folgenden Gründen eingesetzt: * Vergrößerung des Netzwerkes: theoretisch sind beliebig viele Stationen und Switches in einer Reihe möglich und somit beliebige Ausdehnung von Netzwerken * Trennung der Kollisionsdomäne (jeder Port eines Switches hat eine eigene Kollisionsdomäne) * Geschwindigkeitsanpassung der verschiedenen an den Switch angeschlossenen Teilnetzwerke (ein Switch kann z.B. zwischen 10MBit und 100MBit Teilnetzen bridgen) * Vermischen verschiedener Netzwerktechniken bzw. –topologien (z.B. Token Ring und Ethernet). Problem: Die interne Darstellung der MAC-Adresse erfolgt bei diesen beiden Techniken in einer anderen Bitordnung. * ARP-Spoofing wird schwieriger, abhängig vom verwendeten Switch / Protokoll. Mit Hilfe von ARP kann der Traffic zwar abgehört und umgeleitet werden, dazu ist aber eine Man-in-the-Middle Attacke nötig mit Propagierung falscher MAC-Adressen. Einfache Netzwerksniffer funktionieren nicht mehr, da sie auf den promiscous Mode angewiesen sind ===Funktionsweise eines Ethernet-Switches=== [[Image:EthernetSwitchConstruction.png|thumb|right|200px|Schematischer Aufbau eines Ethernet Switches]]Jeder Anschluss des Switches hat eine eigene Netzwerk- (MAC-) Adresse und eine eigene Kollisionsdomäne. Dies bedeutet, dass - wenn A und B kommunizieren - gleichzeitig auch die Stationen C und D miteinander kommunizieren können. Wenn nun beispielsweise aber die Stationen B und D mit A kommunizieren möchten, ist eine Zwischenspeicherung der Pakete im Switch notwendig. '''Beispiel:''' :10 Clients, 1 Server: :Wenn alle Rechner mit 10MBit arbeiten, ist kein Performancegewinn dadurch zu verzeichnen. Wenn der Server hingegen eine 100MBit Anbindung an das Netzwerk hat, schon. Für eine korrekte Verbindung und Kommunikation der Rechner muss der Switch eine Verbindungstabelle aufbauen. Direkt nach dem Einschalten ist diese noch leer, d.h. der Switch schickt ankommende Pakete an alle weiter (er verhält sich also wie ein Hub). Durch entsprechende Rückmeldungen der Clients erkennt der Switch die Rechner an den zugehörigen Ports und trägt die Adressen mit Port-Zuweisung in seine Tabelle ein (MAC-Adresse und Port-Nummer, meistens im zentralen Memory-Pool): {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="70px" | || width="150px" | A || width="150px" | B || width="150px" | C || width="150px" | D |---- bgcolor="#FFFFFF" | Port || 3 || 1 || 2 || 4 |---- bgcolor="#FFFFFF" | MAC || 00:0a:95:69:e2:a2 || || || |} Broadcast-Messages (Messages an die Broadcast-MAC-Adresse) werden weitergeleitet, das Paket muss aber für jeden Abschnitt dupliziert werden (Performanceverlust!). Der Nachteil gegenüber dem Hub oder direkter Verbindung ist ein Performanceverlust, dies gilt auch für Multicast-Protokolle ( wie z.B. NetBEUI, Appletalk, ... ). :''<small>Anm.: (IP-Multicast Adresse: 224.*.*.*, in Layer 2 auf Ethernet / MAC-Multicast abgebildet) </small>'' Wenn nur zwei Rechner angschlossen sind, kommunizieren diese über einen Hub schneller als über einen Switch (durch das größere Delay beim Switch durch die Zwischenspeicherung der Daten im Data Pool sowie die Entscheidungszeit, das gesuchte Ziel zu finden). Dies ist insbesondere bei Latenzempfindlichen Anwendungen von Bedeutung. ===Round-Trip Zeit eines Paketes=== Die Round-Trip-Zeit eines Paketes zwischen den Stationen A und B über einen Ethernet Switch kann wie folgt errechnet werden: [[Image:EthernetSwitchRTT.png|Round-Trip-Zeit eines Paketes durch einen Ethernet Switch|center|thumb|258px]] 1500 ist dabei die MTU ([http://de.wikipedia.org/wiki/Maximum_Transfer_Unit Maximum Transfer Unit], maximale unfragmentiert übertragbare Datenmenge) eines Ethernet-Pakets ===Packet Switching=== Das Switching in einem paketorientierten Netzwerk wie Ethernet läuft nach dem Modell des ''Packet Switching'' ab, bei dem die Größe der übertragenen Pakete unterschiedlich sein kann. Bei Ethernet existiert beispielsweise eine Obergrenze von 1500 Byte, eine feste Größe wie beispielsweise bei Cell-Relay Netzwerken wird dabei jedoch nicht vorgeschrieben. Beim Packet Switching kann zwischen zwei Vorgehensweisen unterschieden werden: * '''Cut-Through:''' Pakete werden direkt zum Ziel durchgeleitet, ohne Zwischenspeicherung in einem internen Cache-Speicher * '''Store-and-Forward:''' Verwendung eines internen Zwischenspeichers (Puffers) ====Cut-Through==== Die Pakete gehen direkt durch den Switch, ohne im sog. ''Data Pool'' (Pufferspeicher im Switch) zwischengespeichert zu werden. Aufgrund der MAC-Adresse (in den ersten 6 Byte des Pakets enthalten) kann der Switch direkt erkennen, wohin das Paket weitergeleitet werden soll. Dafür muss allerdings der Ausgang des Switches und die Leitung frei sein, es funktioniert auch nicht bei unterschiedlichen Netzwerkgeschwindigkeiten. '''Vorteile:''' * Geschwindigkeitsvorteil (kleine RTT) * geringe Latenz (Übertragungsverzögerung im Switch) '''Nachteile:''' * Keine Geschwindigkeitsanpassung und Bandbreitenumsetzung im Switch möglich (z.B. 10BaseT -> 100BaseT) * Geräte müssen immer sofort ansprechbar sein * Der Bus muss immer frei sein Daher wird dieses Verfahren kaum eingesetzt. ====Store-and-Forward==== Das meistens eingesetzte Verfahren verwendet ein Data Pool, um die Pakete im Switch zwischenzuspeichern. Dadurch ergibt sich zwar eine höhere Verzögerung bei der Weiterleitung, die Fehleranfälligkeit und Kollisionsgefahr ist hier jedoch wesentlich geringer, das Netzwerk arbeitet zuverlässiger. ===Weitere Arten des Switchings=== Es existieren weitere Arten des Switchings, abhängig von Layer-1 Protokoll und Netzwerktopologie. Die wichtigsten dabei sind * '''Cell-Switching:''' Packet-Switching mit fester Paketgröße (sog. ''Zellen'') * '''Circuit-Switching:''' Switching von Verbindungsorientierten Protokollen (z.B. [[ISDN]]) ====Cell-Switching==== Dieses Verfahren wird in Cell-Relay Netzwerken wie beispielsweise ATM oder B-ISDN verwendet. Mehr zu Cell-Relay Netzwerken in den Artikeln * [[ISDN#B-ISDN|B-ISDN]] (Breitband-ISDN) * [[wikipedia:Asynchronous transfer mode|ATM]] (Asynchronous Transfer Mode) ====Circuit-Switching==== Dieses Verfahren wird bei verbindungsorientierten Protokollen wie z.B. den [[ISDN#ISDN-Kanäle|ISDN B-Kanälen]] verwendet (auf dem D-Kanal wird paketorientiert gearbeitet). Weitere Informationen im [[ISDN#Circuit-Switching|ISDN-Artikel]]. ====Frame-Relay==== ==Protokolle== ===Kollisionserkennung=== Bei Ethernet existieren sogenannte ''Kollisionsdomänen'', innerhalb derer immer nur genau ein Teilnehmer auf den Bus ("schreibend") zugreifen darf. Kollisionen treten dann auf, wenn mehrere Teilnehmer gleichzeitig auf den Bus zugreifen möchten. Für die Erkennung dieser Kollisionen wird ein CSMA/CD-Verfahren eingesetzt ('''C'''arrier '''S'''ense '''M'''ultiple '''A'''ccess with '''C'''ollision '''D'''etection, siehe [http://de.wikipedia.org/wiki/Carrier_Sense_Multiple_Access_/_Collision_Detection Wikipedia]) im Gegensatz zu CSMA/CA (Collision Avoidance, siehe [http://de.wikipedia.org/wiki/Carrier_Sense_Multiple_Access_/_Collision_Avoidance Wikipedia]) Dabei wird laufen das Medium überwacht (Carrier Sense), auf das mehrer Teilnehmer Zugriff haben um miteinander zu kommunizieren (Multiple Access). Wenn ein Teilnehmer nun eine Datenübertragung starten möchte, sieht er nach ob das Medium frei ist. Falls ja, startet er seine Übertragung. Wenn nun eine Kollision entdeckt wird (mehrere versuchen gleichzeitig, auf das Medium zuzugreifen) wird ein definiertes Störsignal auf die Leitung gesetzt, um die anderen Teilnehmer von der Kollision zu informieren. Andernfalls muss der Teilnehmer warten, bis die Leitung wieder frei wird. Dabei wird eine Backoff Zeit gesetzt, da ansonsten unmittelbar erneut zu einem Konflikt käme. Mit jedem Konflikt wird dieser Wert erhöht, bis schließlich ein Maxmialwert erreicht wurde und der Zugriffsversuch abgebrochen wird. Pro Kollisionsdomäne kann also genau ein einziger Teilnehmer auf den Bus zugreifen. ===Spanning Tree Protocol=== Spanning Tree (802.1d) ist das von Ethernet-Switches auf dem [[ISO-OSI_Schichtenmodell#Data_Link_Layer|Data Link Layer]] verwendete Kommunikationsprotokoll und dient in erster Linie der Verhinderung von doppelten Frames (durch mehrere parallele Verbindungen zwischen Sender und Empfänger). Dies erfolgt durch die Generierung eines logischen Netzwerkabbilds in Form eines Baumes, in dem immer nur genau eine einzige, optimale Verbindung zwischen zwei Teilnehmern priorisiert und verwendet wird. Ausgetauscht werden diese Informationen zwischen Switches/Bridges in Form sogenannter '''BPDUs (Bridge Protocol Data Units)''' über Ethernet-Multicasts an die Adresse 01-80-C2-00-00-10 Sie werden alle 2 Sekunden an die in der nächstunteren Baumebene befindlichen Geräte gesendet. Damit werden Strecken incl. ihrer Wegekosten (Berücksichtigung von Datenrate und Entfernung) erfasst und die optimale Strecke ermittelt. Fällt eine Verbindung aus, so fehlt auch die entsprechende BPDU und das Netzwerk wird reorganisiert. Unter Umständen kann eine komplette Neuorganisation des Netzwerks jedoch relativ lange dauern, insbesondere bei komplizierten Verschachtelungen und größeren Netzwerkstrukturen. Zusätzlich dazu besitzen viele Geräde eine einfache Funktion zur Erkennung von Schleifen in der Kommunikation vom Sender zum Empfänger. Dabei sendet das Gerät in regelmäßigen Abständen einen Frame an die Adresse eines Gerätes. Wenn es ein solches Paket mit seiner eigenen MAC-Adresse empfängt, signalisiert das Gerät dies beispielsweise mit einer LED. ===Ethernet Multicast=== ===Ethernet Broadcast=== ===Adressauflösung=== ARP-Relay und ARP-Proxies kurz ansprechen (ARP als extra Artikel) ==Anwendungen== ===Class-of-Service=== Manche Dienste erfordern eine gewisse Verbindungs- und Netzqualität, um einen Nutzwert zu haben (z.B. VoIP - Voice-over-IP). Dafür eistiert diese Ethernet Erweiterung (802.1q), bei der es sich um eine ''Class-of-Service'' Erweiterung handelt. Im Gegensatz zu ''Quality-of-Service'' (das mit Packet Switching kaum realisierbar ist) werden hier den Diensten keine Verbindungsqualitäten zugesichert sondern es erfolgt eine Prioritätsvergabe der Kommunikation für einzelne Dienste. Die Vergabe dieser Prioritäten erfolgt dabei nicht durch das Endgerät sondern durch den Switch anhand der verwendeten Protokolle, Dienste, etc. Dazu muss er direkt am Eingang das Paket verifizieren (z.B. anhand von Pakettyp, IP/MAC-Adressen und Port-Informationen, ...). Solche Switches werden auch oft als sog. '''Layer-n-Switches''' bezeichnet, da sie - abhängig vom Einsatzgebiet - auch auf höheren Ebenen des ISO-OSI Schichtenmodells arbeiten. In der Regel beherrschen solche Geräte die Protokolle der Ebene 3 (Netzwerkebene), Layer 4 würde eine Auswertung der Daten umfassen. Je nach Gerät ist die Prioritätsverteilung statisch oder dynamisch, ebenso ist auch die Genauigkeit der Abstufungen (auch in Abhängigkeit von der Bandbreite) stark vom verwendeten Gerät abhängig. [[Image:EthernetCoS.png|thumb|right|300px|Ethernet Class-of-Service-Paket mit gesetztem Q-Tag]] Auf Layer 2 beinhaltet das Protokoll 802.1Q auch CoS Priorisierungen und VLANs (siehe unten). Hier geschieht dies durch Erweitern des Ethernet-Paketes um ein Q-Tag. Dabei ist 1111 die höchste Priorität, 0000 die niedrigste. Das Problem dabei ist, dass das Q-Paket 4 Byte länger als ein normales Ethernet-Paket ist. '''TO DO: Folgen?''' ===VLAN=== VLANs sind virtuelle LANs zur logischen Organisation der Anschlüsse und Verkabelung von Switches in Netzwerken. Normalerweise wird für jede Gruppierung ein physikalisches Gerät verwendet. Mit VLANs kann ein Physikalischer Switch in 2 logische Bereiche aufgeteilt werden. Dies geschieht mittels der ''VLAN-ID''. Dadurch entstehen am Switch auch 2 Broadcast-Domains, eine für jedes VLAN und es ist sehr flexibel in der Handhabung. Es ist auch möglich, VLANs anhand von IP Adressen und Subnetzmasken (mit Hilfe von ARP) zuzuordnen, oder in Form einer Kombination aus beiden Faktoren. Dabei ist die Zuordnung eines physikalischen Anschlusses zu einem VLAN (siehe 802.1Q- Spezifikation) am praktikabelsten. Es können auch verschiedene Service sin Form von VLANs organisiert werden, z.B. ein VLAN ausschließlich für Voice-over-IP Traffic o.ä. Dabei ist es auch denkbar, verschiedene Prioritäten für die Services in VLANs zu vergeben. Bei manchen Geräten können VLANs physikalisch getrennt verkabelt werden. Des weiteren können VLANs auch erstellt werden, indem Switches mit sog. ''Trunks'' verbunden werden. Dabei werden keine normalen Ethernet-Pakete sondern Pakete mit gesetztem Q-Tag (siehe oben) verschickt. Es können auch VLAN-fähige Netzwerkkarten verwendet werden. Somit wird dem Endgerät die Prioritätsvergabe der Pakete überlassen. '''Beispiel:''' :Rechner, der sich in mehreren unterschiedlichen Netzen befinden soll: :* mehrere Netzwerkkarten :* eine VLAN-fähige Netzwerkkarte :Auch möglich bei Teilnahme an nicht gerouteten Netzen '''Fazit:''' VLANs entsprechen prinzipiell der Idee der [[wikipedia:Virtual private network|VPN]]s (Virtual Private Networks), jedoch auf Layer 2. Dabei sind theoretisch bis zu 4094 verschiedene VLANs möglich: :4096 IDs, zwei davon sind jedoch reserviert: :0 wird nicht vergeben :1 Default-VLAN In großen Netzen muss die Verteilung gut kommentiert werden, insbesondere bei automatischen Zuordnungen (anhand von IP-Adressen, Protokollen, etc.) !!! ==Weiterführende Informationen== * Liste aller MAC-Herstellercodes auf der [http://www.ethereal.com/distribution/manuf.txt ethereal Webseite] oder unter Linux in der Datei <font face="courier">/etc/manuf</font> * [[wikipedia:de:Ethernet|Ethernet-Artikel]] in der [[wikipedia:de:Hauptseite|Wikipedia]] * Informationen über die Verkabelung gibts im Artikel [[Verkabelung]] * Kapitel [http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/ethernet.htm "Ethernet"] im [http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/index.htm Cisco Internetworking Technology Handbook] * Cisco [http://nova.zonengoere.net/doku.php?id=cisco:networking1mal1 Networking 1x1] * IBM Redbook: [http://www.redbooks.ibm.com/Redbooks.nsf/RedbookAbstracts/gg244338.html?OpenDocument Introduction to Networking Technologies] f96d9feba183e91ee28c3c215c761b39f52175ee Ethernet-Verkabelung 0 70 280 279 2023-03-08T09:34:38Z Hagbard 2 1 revision imported wikitext text/x-wiki #redirect [[Verkabelung]] 5f8a5624995225fa246cf5a8a8dd89c6f7bcf0e8 Google Programme ohne Updater nutzen 0 71 282 281 2023-03-08T09:34:38Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:App]][[Category:App]]Bei der Installation von Google Software wie beispielsweise Google Earth oder Chrome wird der Nutzer mittlerweile gezwungen (oder erst gar nicht gefragt), den Google Updater auf der Festplatte zu dulden was nicht unbedingt jeder bereit ist zu tun. Wenn man dies in rechts abgebildetem Dialog ablehnt, lässt sich das Programm nicht nutzen und beendet sich sofort wieder. Eine nachträgliche Deinstallation des Google Updater ist auch keine Lösung, da dieser bei jedem Start von Google Earth (und vermutlich auch bei anderen Google Programmen) erneut installiert wird. Zusätzlich wird bereits vor der Installation noch mit [https://www.keyhole.com {{TT|keyhole.com:443}}] kommuniziert, vermutlich zwecks Updates des Google Updaters. Der einzig wirksame Weg ist also, den Updater innerhalb des Application Bundle "{{TT|Google Earth.app}}" zu eliminieren, damit dieser erst gar nicht installiert wird. ==Google Earth== Dazu im Finder das Bundle rechtsklicken und via "Paketinhalt zeigen" dessen Inhalt anzeigen. In folgendem Unterverzeichnis findet sich nun der Updater: Contents/Frameworks/KeystoneRegistration.framework/Resources/ Der Inhalt des Archivs {{TT|Keystone.tbz}}: GoogleSoftwareUpdate.bundle Theoretisch dürfte es auch genügen, das Installationsskript "{{TT|install.py}}" im selben Verzeichnis entsprechend zu modifizieren, damit eine Installation nicht erfolgt. '''Das Löschen des Archivs {{TT|Keystone.tbz}}''' bewirkt letztendlich dasselbe und ist vermutlich die sicherere Variante. Je ein weiteres Exemplar befindet sich an folgenden Orten innerhalb des Application Bundle, diese werden jedoch scheinbar nicht für die Installation verwendet: Contents/Frameworks/KeystoneRegistration.framework/Versions/Current/Resources Contents/Frameworks/KeystoneRegistration.framework/Versions/A/Resources ==Google Chrome== Bei Google Chrome ist das Vorgehen dasselbe, der Pfad relativ zum Application Bundle ist jedoch ein anderer: <source>Contents/Versions/<Chrome Versionsnummer>/Google\ Chrome\ Framework.framework/Frameworks/KeystoneRegistration.framework/Resources/</source> Also beispielsweise <source>Contents/Versions/16.0.912.75/Google\ Chrome\ Framework.framework/Frameworks/KeystoneRegistration.framework/Resources/</source> ==Siehe auch== * [[Google Updater deinstallieren]] 01e56e367737a206ce0b396e3e7cf1f5c95469d8 Google Updater deinstallieren 0 72 284 283 2023-03-08T09:34:39Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Hint]] Selbst nach der Deinstallation von Google Apps wie Picasa oder Chrome bleibt oft der Google Updater (Google Software Update Agent) zurück und nervt mit laufenden Verbindungsversuchen. Da [http://tools.google.com/mac/updaterfaq.html diese Anleitung von Google] allerdings ins Leere läuft (bei [[User:Hagbard|mir]] hat noch nie eine Applikation namens "Google Update.app" existiert), hier also eine Kurzanleitung zur Deinstallation (Quelle: [http://www.google.com/support/installer/bin/answer.py?answer=100386 Google Support Dokument]): ;Für den aktuellen Benutzer ... folgendes im Terminal eingeben: sudo ~/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/GoogleSoftwareUpdateAgent.app/Contents/Resources/install.py --uninstall ;Für alle Benutzer ... folgendes im Terminal eingeben (root-Rechte benötigt): sudo /Users/<username>/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/GoogleSoftwareUpdateAgent.app/Contents/Resources/install.py --uninstall ==Siehe auch== * [[Google Programme ohne Updater nutzen]] 4d8cb37734bc449a7166431bb0e7251717ff95da Größenänderung von Textareas in Safari 3 verhindern 0 73 286 285 2023-03-08T09:34:39Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Hint]] Standardmäßig sind HTML-Textareas in Safari ab der Version 3 in der Größe veränderbar, ohne dass dies extra (z.B. mit Javascript) implementiert werden muss. Manchmal jedoch ist diese Funktion eher unerwünscht, falls dadurch z.B. das Layout zerrissen wird oder eine Größenänderung schlicht und einfach keinen Sinn macht. In diesem Fall sind in den CSS-Defintionen für Textareas das [http://www.w3.org/TR/css3-ui/#resize CSS3-Attribut {{TT|"resize"}}] zu verwenden: ;keine Größenänderung erlauben <pre>textarea { resize:none; }</pre> ;Größenänderung erlauben (default) <pre>textarea { resize:both; }</pre> Die beiden Eigenschaften <pre> resize: vertical; resize: horizontal; </pre> haben hingegen bei mir nicht funktioniert. getestet mit Safari 3.0.4 (Mac OS 10.4) 88cee1abb24535e618b7b0b8e2c5ce600718b924 HFS-Volume bootfähig machen 0 74 288 287 2023-03-08T09:34:39Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Terminal]][[Category:OS]][[Category:Hint]]Um ein Volume z.B. nach der Wiederherstellung aus einem DMG bootfähig zu machen, kann das [[:Category:Terminal|Terminal]]-Programm {{Man|bless|bless}} verwendet werden: ==Informationen über ein Volume abrufen== Allgemeine Informationen ermitteln: bless -info /Volumes/VOLUMENAME Dabei ist VOLUMENAME durch den Partitionsnamen zu ersetzen ==Bootfähigkeit aktivieren== === Mac OS X oder Mac OS 9 === Um ein Volume als bootfähig zu markieren, das entweder Mac OS X oder Mac OS 9 enthält, folgendes im Terminal eingeben: sudo bless --mount "/Volumes/VOLUMENAME" --setBoot === Mac OS X / Darwin === Um ein Volume mit (ausschließlich) Mac OS X als bootfähig zu markieren (erstellt BootX und boot.efi Dateien), folgendes im Terminal eingeben: sudo bless --folder "/Volumes/VOLUMENAME/System/Library/CoreServices" --bootinfo --bootefi Dabei ist VOLUMENAME durch den Partitionsnamen zu ersetzen cc2f01cce83e40c010a481f0757806d8c525866d Hardening macOS 0 75 290 289 2023-03-08T09:34:40Z Hagbard 2 1 revision imported wikitext text/x-wiki #redirect[[Mac_OS_X_absichern_-_Betriebssystemkonfiguration]] cbeb56dc6d5e98d86b7bb1df4885d80cb17dab5e MacOS absichern/Betriebssystemkonfiguration 0 76 292 291 2023-03-08T09:34:42Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:OS]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! style="width:220px;" | Service Name !! ! style="width:60px;" | |-- | Screen Sharing || ✅ || replacement or maybe even in-place update possible |-- | File Sharing || ✅ || replacement or maybe even in-place update possible |-- | Printer Sharing || ✅ || replacement or maybe even in-place update possible |-- | Remote Login || ✅ || replacement or maybe even in-place update possible |-- | Remote Management || ✅ || replacement or maybe even in-place update possible |-- | Remote Apple Events || ❌ || Don't use it, no replacement |-- | Bluetooth Sharing || ❓ || TBD |-- | Internet Sharing || ❓ || TBD |-- | Content Sharing || ❌ || Don't use it, no replacement |-- | Media Sharing<br/>a.k.a. "iTunes Library Sharing" || ❌ || Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] |-- | Web Sharing<br/>''Only in OS X Lion and earlier'' || ✅ || replacement or maybe even in-place update possible |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Drittprogramme absichern== * Das [https://www.privacy-handbuch.de/ Privavy-Handbuch] ** [https://www.privacy-handbuch.de/handbuch_21.htm Spurenarm Surfen mit Firefox] ** [https://www.privacy-handbuch.de/handbuch_21j2.htm Starke Passwörter verwenden] ** [https://www.privacy-handbuch.de/handbuch_21n.htm Überflüssige Funktionen in Firefox deaktivieren] (aus dem o.g. Privacy-Handbuch) ** [https://www.privacy-handbuch.de/handbuch_21i.htm#dnt Kommentar zu "Do-Not-Track"]] (more trouble than it's worth) ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Tools=== * [https://objective-see.org/ Objective-See] source of several amazing and free privacy tools like KnockKnock, Lulu or Oversight * [https://www.murusfirewall.com/murus/ Murus<sup>2</sup>] Firewall, a UI for the builtin macOS packet filter. The free Lite version filters outgoing traffic only, which makes it an ideal companion for LuLu or Little Snitch (Mini). ===Self-hosted Services=== * [https://freshrss.org FreshRSS], a free, self-hostable feeds aggregator * [https://pi-hole.net/ Pi-hole], Network-wide Ad Blocking ===Other Services=== * [https://hostux.network/en/ Hostux] Publicly hosted services such as a public encrypted DNS service, a disposable email inbox, and many more. ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs ===Encrypting/Signing=== * [https://github.com/FiloSottile/age age]: A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability. * [https://jedisct1.github.io/minisign/ minisign]: A dead simple tool to sign files and verify signatures. see also: * [https://nick.groenen.me/notes/stop-using-pgp/ Stop using PGP] 3b73d932dd3875ae007924a6e2f7f68ac869749d Hdiutil 0 77 294 293 2023-03-08T09:34:43Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Terminal]]Mit dem Kommandozeilen-Tool hdiutil können Disk-Images erstellt, bearbeitet und verwendet werden. Für die grundlegenden Anwendungswzecke existiert als graphisches Frondend das Festplatten-Hilfsprogramm, für weitergehende und umfangreichere Operationen bietet sich der Weg über das Terminal an. In Mac OS X Versionen vor 10.3 existierte für die Erstellung Nutzung von DiskImages noch das Hilfsprogramm "DiskCopy.app", dessen Funktionen jedoch mit Version 10.3 auf das Festplatten-Dienstprogramm ([[diskutil|Disk Utility.app]]) und eine neue Hintergrundanwendung namens "DiskImageMounter.app" (zu finden unter /System/Library/CoreServices/") augfgeteilt wurden. Weitere Informationen gibt es auch in der entsprechenden {{Man|hdiutil|manpage von hdiutil}}. ==Syntax== Die grundlegende Syntax von hdiutil ist hdiutil <AKTION> [OPTIONEN] wobei eine Aktion z.B. das Erstellen eines neuen oder das Vergrößern eines existierenden Images sein kann. Mit verschiedenen Optionen lässt sich dabei die Funktionsweise beeinflussen ===Aktionen=== Im Folgenden eine Liste aller möglichen Aktionen mit den zugehörigen Minimalangaben. Weitere Optionen zu den jeweiligen Kommandos sind über die Aktion '''help''' zu erreichen und stehen {{Man|hdiutil|in der manpage}}. {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Aktion || width="400px" | Funktion |---- bgcolor="#FFFFFF" | '''help''' || Zeigt den Hilfetext von hdiutil an |---- bgcolor="#FFFFFF" | '''help''' AKTION -help || Zeigt den die zur angegebenen Aktion gültigen Optionen an |---- bgcolor="#FFFFFF" | '''attach''' image || Registriert das angegebene Image im System als Gerätedatei, z.B. "/dev/disk1" (Synonym: mount) |---- bgcolor="#FFFFFF" | '''detach''' devicename || Entfernt ein mit '''attach''' oder '''mount''' eingebundenes Disk Image (Synonym: eject) |---- bgcolor="#FFFFFF" | '''create''' groesse oder image|| Erstellt ein Image mit der gegebenen Größe oder aus einer angegebenen Imagedatei |---- bgcolor="#FFFFFF" | '''convert''' image -format -o zielimage || Wandelt das Format einer gegeben Imagedatei in ein anderes um und speichert diese in einer Zieldatei (siehe [[Dmg_Images_konvertieren|dmg Images konvertieren]]). |---- bgcolor="#FFFFFF" | '''makehybrid''' -o quellimage || Ermöglicht mit Hilfe des DiscRecording Frameworks die Erstellung eines hybriden Dateisystems (Mac/PC) als schreibgeschütztes Disk-Image. Die zu verwendenden Dateisysteme (iso und/oder hfs) können als Optionen angegeben werden. Angaben wie <nowiki>[yes|no]</nowiki> bedeuten dabei, dass ''entweder'' yes ''oder'' no angegeben werden kann. |---- bgcolor="#FFFFFF" | '''compact''' image || Entfernt nicht benutzte Bereiche aus einem sog. "SPARSE" Image (das sind Images, deren Größe sich dem Inhalt dynamisch anpasst. Sie wachsen also mit). |---- bgcolor="#FFFFFF" | '''info''' || Zeigt Informationen an über das DiskImages.framework, die verwendeten Treiber und alle aktuell eingebundenen (gemounteten) Images. |---- bgcolor="#FFFFFF" | '''load''' || Ermöglicht das manuelle Laden des Disk Image Treibers. Er wird benötigt, um Disk Images überhaupt benutzen zu können. Das erfolgt üblicherweise automatisch, seit 10.2 wird der Treiber auch wieder automatisch entladen, sobald das letzte eingebundene Image ausgeworfen wird. |---- bgcolor="#FFFFFF" | '''checksum''' image -type imagetyp|| Überprüft die Prüfsumme (checksum) eines Images, um eventuelle Fehler zu erkennen (erfolgt standardmäßig immer beim Einbinden von Imagedateien, die sich auf dem lokalen System befinden - also nicht auf Windows- oder AFS-Freigaben) |---- bgcolor="#FFFFFF" | '''unflatten''' image || (?) |---- bgcolor="#FFFFFF" | '''flatten''' image || (?) |---- bgcolor="#FFFFFF" | '''hfsanalyze''' || Gibt Informationen über ein vorhandenes HFS oder HFS+ Dateisystem einer Imagedatei aus. |---- bgcolor="#FFFFFF" | '''imageinfo''' || gibt verschiedenste Informationen über ein Disk Image aus |---- bgcolor="#FFFFFF" | '''mount''' || siehe '''attach''' |---- bgcolor="#FFFFFF" | '''mountvol''' devicename || Bindet ein Dateisystem (z.B. /dev/disk1) als Disk-Image ein, ähnlich dem Befehl "[[diskutil]] mount". |---- bgcolor="#FFFFFF" | '''unmount''' volume || entlädt ein mit '''mountvol''' eingebundenes Dateisystem. |---- bgcolor="#FFFFFF" | '''plugins''' || Gibt Informationen über die verschiedenen PlugIns des DiskImage Frameworks aus, über die selbiges funktionell erweitert werden kann. |---- bgcolor="#FFFFFF" | '''internet-enable''' [-yes|-no|-query] image || (De)Aktivierung des Postprocessing eines Images, z.B. nach dem Herunterladen aus dem Internet. Beim ersten Aktivieren des Images wird dadurch der Inhalt des Images in einen gleichnamigen Ordner im selben Verzeichnis kopiert und die Imagedatei wandert in den Papierkorb. |---- bgcolor="#FFFFFF" | '''resize''' groesse image|| Ermöglicht es, die Größe eines Images zu verändern, um sie beispielsweise anschließend mit "[[hdiutil]] burn" auf CD oder DVD schreiben zu können. |---- bgcolor="#FFFFFF" | '''segment''' || Teilt ein Disk Image in mehrere Teile auf, um beispielsweise große Imagedateien zum Download bereitzustellen. |---- bgcolor="#FFFFFF" | '''pmap''' quellimage || Zeigt die Partitionstabelle eines Disk Images an |---- bgcolor="#FFFFFF" | '''burn''' image || Disk Images mit Hilfe des DiscRecording Frameworks auf CD/DVD brennen |} Das Ausgabeformat vieler Aktionen lässt sich mit Hilfe folgender Parameter entsprechend verändern, beispielsweise werden bei folgendem Kommando die Informationen als XML-Plist ausgegeben, was besonders für Mac-/iOS-Entwickler [[Informationen über ein Disk Image auslesen|sehr praktisch]] ist: hdiutil imageinfo ./MyDiskImage.dmg -plist ===Optionen=== Eine vollständige Liste aller möglichen Optionen würden den Rahmen des Artikels hier sprengen, deswegen sei an dieser Stelle auf die {{Man|hdiutil|manpage von hdiutil}} verwiesen. ==Beispiele== ===erstellen=== ====.dmg Image (HFS+)==== [[hdiutil]] create -volname MeinBackup -srcfolder ./meineWichtigenDaten/ ./backup.dmg Falls im Volumenamen Leerzeichen vorkommen, muss der Name in doppelte Hochkommata (") eingeschlossen werden. ====ISO-Image==== [[hdiutil]] create -format UDTO -srcfolder ./meineWichtigenDaten/ ./backup.dmg ====für Windows lesbares Image==== Dazu wird erst - wie oben beschrieben - ein ganz normales .dmg Image erstellt, das anschließend konvertiert wird: [[hdiutil]] makehybrid -iso -joliet -o ~/Desktop/file.iso ~/Desktop/file.dmg [[hdiutil]] makehybrid -iso -joliet -o ~/Desktop/file.iso /Volumes/Disc mit den folgenden Optionen können noch Volume-Namen festgelegt werden: -joliet-volume-name MeineDaten -iso-volume-name MeineDaten ====Video-DVD-Image aus {{TT|VIDEO_TS}}-Verzeichnis erzeugen==== Um aus einem {{TT|VIDEO_TS}} Verzeichnis ein .ISO Image für das Brennen auf eine DVD zu erstellen, ist folgendes zu tun: # {{TT|VIDEO_TS}} Verzeichnis in ein Unterverzeichnis (z.B. {{TT|MY_DVD}}) verschieben # im [[:Category:Terminal|Terminal]] in dieses Verzeichnis wechseln und folgendes Kommando eingeben: [[hdiutil]] makehybrid -udf -udf-volume-name "<DVD-NAME>" -o <FILENAME>.iso ./ {{TT|<DVD_NAME>}} und {{TT|<FILENAME>}} sind entsprechend zu ersetzen ====Allgemein==== [[hdiutil]] create -type <UDIF|SPARSE> -fs <HFS+|HFS+J|HFSX|HFS|MS-DOS|UFS> -format <UDZO|UDRO|UDRW|UDTO|UDSP|...> -srcfolder<quelle> -volname <name> <image> ====Hybrid-Image==== [[hdiutil]] makehybrid ... ===bearbeiten=== *resize *flatten/unflatten *segment *compact (für sparse images) *chpass ===überprüfen=== *verify *imageinfo *hfsanalyze *checksum *info *pmap ===Freien Speicher freigeben=== Um bei mitwachsenden Images (sog. "Sparse Images", Dateiendung ".sparseimage") freien Speicher wieder freizugeben und somit deren Größe zu reduzieren, ist im Terminal folgende Anweisung zu verwenden: hdiutil compact image.sparsebundle Wenn {{TT|hdiutil}} die Anweisung mit der Meldung "... ist zeitweilig nicht verfügbar" quittiert, ist das Image höchstwahrscheinlich gerade gemountet. ===Disk Images konvertieren=== Mit Hilfe von hdiutil lassen sich Disk Images auch konvertieren, um sie beispielsweise auf einem PC weiterverwenden zu können, hier im Beispiel wird ein .ISO Image in ein .img Image konvertiert (z.B. zum Wiederherstellen auf einen USB-Stick): hdiutil convert -format UDRW -o ziel.img quelle.iso Mehr Informationen dazu gibt es im Artikel "[[Dmg_Images_konvertieren|dmg Images konvertieren]]". ===Disk Images brennnen=== Disk Images lassen sich ganz einfach mit dem folgenden Befehl brennen: '''hdiutil''' burn DiskImage.dmg ====Optionen==== Die wichtigsten Optionen sind dabei: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Option || width="400px" | Funktion |---- bgcolor="#FFFFFF" | '''-speed''' || Angabe der Brenngeschwindigkeit, z.B. 4, 16 oder max |---- bgcolor="#FFFFFF" | '''-device''' || Angabe einer Gerätedatei über den OpenFirmware Pfad, z.B. hd1: oder dvd: |---- bgcolor="#FFFFFF" | '''-list''' || Listet alle im System verfügbaren Brenner auf (für die Verwendung von -device) |---- bgcolor="#FFFFFF" | '''-testburn''' || Nur eine Simulation durchführen |---- bgcolor="#FFFFFF" | '''-sizequery''' || Nur den auf der CD/DVD benötigten Platz berechnen (kann durch ein anderes Dateisystem vom Platzbedarf auf der Festplatte variieren) |---- bgcolor="#FFFFFF" | '''-noeject''' || CD/DVD nach dem Brennen nicht auswerfen |---- bgcolor="#FFFFFF" | '''-noverifyburn''' || Medium nach dem Brennen nicht überprüfen |---- bgcolor="#FFFFFF" | '''-forceclose''' || Medium nach dem Brennen abschließen |---- bgcolor="#FFFFFF" | '''-optimizeimage''' || Disk Image für das brennen auf CD/DVD optimieren (bzw. für Zugriffe auf CD/DVD) |---- bgcolor="#FFFFFF" | '''-nounderrun''' || Buffer Underrun Schutz ausschalten |} Mehr Optionen erhält man durch die Eingabe von '''hdiutil''' burn -help ====DVD/CD-RW löschen==== Wiederbeschreibbare Rohlinge lassen sich mit dem hdiutil auch wahlweise schnell oder volständig löschen, und zwar mit Hilfe von '''hdiutil''' burn -erase oder '''hdiutil''' burn -fullerase ===Images verwenden=== * aktivieren (attach / mountvol) * Deaktivieren (detach / unmount) ==Hinweise== ===Gerätenamen von CD-/DVD-Laufwerken=== Die Gerätenamen ({{TT|/dev/xyz}}) von diesen Laufwerken werden dynamisch erzeugt, und zwar in der Reihenfolge, in der sie beim Systemstart eingebunden werden. Im Normalfall ist also das (erste) interne CD-/DVD-Laufwerk ... /dev/rdisk0 und alle folgenden CD-/DVD-/BD-/Floppy-Laufwerke ... /dev/rdisk1 /dev/rdisk2 ... /dev/rdiskN ==Weitere Informationen== Früher (bis Mac OS 10.2) erfolgte der Zugriff auf HDI Disk Images über die beiden Tools {{Man|hdid|hdid}} und {{Man|disktool|disktool}}, die mittlerweile jedoch nur noch aus Kompatibilitätsgründen verwendet werden. Anstatt dessen wird nun von hdid nur noch das entsprechende Framework aufgerufen, für die übrigen Funktionen und den Zugriff durch den Benutzer ist das Programm hdiutil zu verwenden. Manpages: * {{Man|hdiutil|hdiutil}} * {{Man|hdid|hdid}} (benutzt seit Mac OS X 10.3 das DiskImages.framework) * {{Man|disktool|disktool}} weitere Manpages: * {{Man|hdiutil|hdiutil}} für die Nutzung von .dmg Images * {{Man|drutil|drutil}} für die Verwendung von CD/DVD Brennern (verwendet das DiscRecording framework) Kurztipps: * [[Kurztipp - DVD ISO aus VIDEO TS|DVD ISO aus VIDEO_TS erzeugen]] * [[Dmg_Images_konvertieren|dmg Images konvertieren]] Sonstiges: * [http://dmgcreator.sourceforge.net dmgCreator] - Open Source Programm zum Erzeugen von Disk Images, incl. Hintergrundbild, Lizenztexten uvm. * Ubuntu: [http://www.ubuntu.com/download/help/create-a-usb-stick-on-mac-osx How to create a bootable USB stick on OS X] c210e1b853354689fdb8a311bdc69c94ff177974 Hidden Safari Preferences 0 78 296 295 2023-03-08T09:34:43Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[Versteckte Safari Optionen]] a31f1ae579c6ed05544c082a71ce57e107858bd6 Hidden Features/Safari 0 79 298 297 2023-03-08T09:34:44Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:App]]Einige Funktionen in Safari können nur über die Konfigurationsdatei {{TT|com.apple.safari.plist}} (MacOS X) bzw. {{TT|Preferences.plist}} (Windows) geändert werden, da für sie keine entsprechenden Felder im Einstellungsdialog vorhanden sind. ==Setzen versteckter Konfigurations-Optionen== Die folgenden Optionen müssen allso von Hand in der Konfigurationsdatei von Safari (XML-Datei) geändert werden, die sich je nach Betriebssystem am folgenden Ort befindet: ;MacOS X /Users/USERNAME/Library/Preferences/com.apple.safari.plist ;Windows XP C:\Document and Settings\%USERNAME%\Application Data\Apple Computer\Safari\Preferences.plist C:\Dokumente und Einstellungen\%USERNAME%\Application Data\Apple Computer\Safari\Preferences.plist ;Windows Vista %APPDATA%/Apple Computer/Safari/Preferences.plist Diese Einstellungen können entweder direkt in dieser Datei geändert werden (Hinzufügen von Optionen am Ende der Datei, direkt vor {{TT|<nowiki></dict></plist></nowiki>}}), oder (unter MacOS X) über den Terminal-Befehl {{Man|defaults|defaults}}, z.B.: <pre> defaults write com.apple.Safari <key> defaults delete com.apple.Safari <key> </pre> Letzteres löscht den Eintrag und bewirkt, dass wieder die Standardeinstellung von Safari verwendet wird. {{Information|1=Eine komplette Liste aller standardmäßig gesetzter Optionen ist (unter Mac OS X) innerhalb des Safari Application Bundles ({{TT|/Applications/Safari.app}} rechtsklicken und "Paketinhalte anzeigen" auswählen) in der Datei {{TT|Contents/Resources/Defaults.plist}} zu finden.}} ==Safari Allgemein== ===Verlauf anpassen=== Anzahl der Seiten, die im Verlauf gespeichert werden: <pre> defaults write com.apple.Safari WebKitHistoryItemLimit 200 </pre> Anzahl der Tage, nach denen Einträge im Verlauf gelöscht werden: <pre> defaults write com.apple.Safari WebKitHistoryAgeInDaysLimit 30 </pre> ===Font Anti-Aliasing beeinflussen=== Hiermit kann die Weichzeichnung von Textenbeeinflusst werden <pre> defaults write com.apple.Safari AppleAntiAliasingThreshold -int 8 defaults write com.apple.Safari AppleSmoothFontsSizeThreshold -int 8 defaults write com.apple.Safari AppleAntiAliasingThreshold -int 2 defaults write com.apple.Safari AppleSmoothFontsSizeThreshold -int 2 defaults delete com.apple.Safari AppleAntiAliasingThreshold defaults delete com.apple.Safari AppleSmoothFontsSizeThreshold </pre> ===Debug-Menü aktivieren=== Aktiviert das Debug-Menü mit erweiterten Funktionen wie z.B. UserAgent-Auswahl oder dem Web-Inspector <pre> defaults write com.apple.Safari IncludeDebugMenu 1 </pre> bzw. <pre> <key>IncludeDebugMenu</key> <true/> </pre> ===Web-Inspector=== Den Web-Inspector (ab Safari 3) kann man auch einzeln ohne das Debug-Menü aktivieren. Dieser steht dann im Kontextmenü von Safari zur Verfügung: <pre> defaults write com.apple.Safari WebKitDeveloperExtras -bool true defaults delete com.apple.Safari WebKitDeveloperExtras </pre> {{Information|Dies aktiviert auch den Web-Inspektor innerhalb des Mac App Store und ermöglicht das Herausfinden verschiedener Link-Adressen innerhalb des App Store.}} ===Tooltips (title tags)=== Die als Tooltips angezeigten title-HTML-Tags können über folgende Option (de-)aktiviert werden: <pre> defaults write com.apple.Safari WebKitShowsURLsInToolTips 1 defaults delete com.apple.Safari WebKitShowsURLsInToolTips </pre> ==Safari 4 Beta== Neue Optionen in der Safari 4 Beta, die in der finalen Version wieder entfallen sind (oder zumindest nicht mehr funktionieren): ===Position der Tableiste=== positioniert die Tableiste (wie in Safari 3) unterhalb der Bookmarkleiste: <pre> DebugSafari4TabBarIsOnTop defaults delete com.apple.Safari DebugSafari4TabBarIsOnTop </pre> Neue Optionen in Safari 4 bzw. Optionen, um das Verhalten von Safari 3 wiederherzustellen: ===Ladestatus in der URL-Zeile=== Wenn die folgenden Optionen beide auf "NO" gesetzt sind, erscheint wieder der Ladestatus (Fortschrittsbalken) in der URL-Zeile und das "spinning wheel" innerhalb der Tabs: <pre> DebugSafari4IncludeToolbarRedesign DebugSafari4LoadProgressStyle defaults write com.apple.Safari DebugSafari4IncludeToolbarRedesign -bool NO defaults write com.apple.Safari DebugSafari4IncludeToolbarRedesign -bool YES defaults write com.apple.Safari DebugSafari4LoadProgressStyle -bool NO defaults write com.apple.Safari DebugSafari4LoadProgressStyle -bool YES </pre> ===URL Autovervollständigung=== Diese Option deaktiviert die neue Auto-Vervollständigung von URLs <pre> DebugSafari4IncludeFancyURLCompletionList defaults write com.apple.Safari DebugSafari4IncludeFancyURLCompletionList -bool NO defaults write com.apple.Safari DebugSafari4IncludeFancyURLCompletionList -bool YES </pre> ===Google Suggest Menü=== Diese Option deaktiviert das neue Google Suggest Menü im Suchfeld rechts <pre> DebugSafari4IncludeGoogleSuggest defaults write com.apple.Safari DebugSafari4IncludeGoogleSuggest -bool NO defaults write com.apple.Safari DebugSafari4IncludeGoogleSuggest -bool YES </pre> ===Cover-Flow für Bookmarks=== ... lässt sich über diese Option (de-)aktivieren: <pre> DebugSafari4IncludeFlowViewInBookmarksView defaults write com.apple.Safari DebugSafari4IncludeFlowViewInBookmarksView -bool NO defaults write com.apple.Safari DebugSafari4IncludeFlowViewInBookmarksView -bool YES </pre> ===TopSite-Screenshot-Animation=== Der Überblenden-Effekt bei der Auswahl einer der TopSites lässt sich ebenfalls deaktivieren: <pre> DebugSafari4TopSitesZoomToPageAnimationDimsSnapshot defaults write com.apple.Safari DebugSafari4TopSitesZoomToPageAnimationDimsSnapshot -bool NO defaults write com.apple.Safari DebugSafari4TopSitesZoomToPageAnimationDimsSnapshot -bool YES </pre> ===TopSite Funktion=== ... (wohl v.a. aus Performancegründen) deaktivieren: <pre> DebugSafari4IncludeTopSites defaults write com.apple.Safari DebugSafari4IncludeTopSites -bool NO defaults write com.apple.Safari DebugSafari4IncludeTopSites -bool YES </pre> ==Safari 4== ===TopSite Funktion deaktivieren=== Um die [http://www.apple.com/safari/whats-new.html#topsites TopSite Funktion] in Safari 4.x zu deaktivieren, funktioniert die oben beschriebene Vorgehensweise aus der Betaphase nicht mehr. In aktuellen Versionen ist statt dessen folgende Datei im Property List Editor (Bestandteil von Xcode) oder wahlweise im TextEditor des Vetrauens zu öffnen: ~/Library/Safari/TopSites.plist Dann entweder den Inhalt des XML-Tags "TopSites" löschen oder wahlweise den gesamten Inhalt der Datei, diese speichern und anschließend im Finder Info-Dialog für weitere Änderungen sperren (Abschnitt "Allgemein" > "Geschützt"). Außerdem ist das folgende Verzeichnis zu schützen: ~/Library/Safari/Caches/com.apple.safari/Webpage Previews Damit kann Safari keine weiteren TopSites mehr speichern und die Übersicht bleibt leer. {{Information|Dies ist allerdings nur eine reine Symptombehandlung. Eine Vorgehensweise, um TopSites ''wirklich'' zu deaktivieren (und damit Bandbreite und Speicherplatz zu schonen) ist [[User:Hagbard|mir]] zumindest nicht bekannt. Das ist besonders bei teuren mobilen Internetverbindungen ärgerlich, da Safari dafür im Prinzip unbrauchbar ist.}} ==WebKit Nightly Builds== ===WebGL aktivieren=== Die aktuellen nightly builds von [http://webkit.org WebKit] unterstützen unter Mac OS 10.5 und 10.6 [[wikipedia:en:WebGL|WebGL]] ([[wikipedia:de:OpenGL_ES|OpenGL ES]] im Browser), das sich über das folgende Kommando im [[:Category:Terminal|Terminal]] (de-)aktivieren lässt: defaults write com.apple.Safari WebKitWebGLEnabled -bool YES Anwendungsbeispiel: [http://www.ambiera.com/copperlicht/ Copperlicht Engine] von Ambiera (incl. [http://www.ambiera.com/copperlicht/demos.html Demos]) ==Weitere Informationen== * [http://developer.apple.com/internet/safari/faq.html Safari FAQ] (developer.apple.com) * [http://developer.apple.com/safari/ Safari DevCenter] (developer.apple.com) e30f2f9d2b7421b60dde79113b6b098a9be8a50d IOS-Geräte auf Hardwareeigenschaften prüfen 0 80 300 299 2023-03-08T09:34:46Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Development]]{{Hint|Die hier beschriebene Vorgehensweise ist ebenso für die Abfrage anderer hardwarespezifischer Details zu verwenden - beispielsweise um zu ermitteln, ob das verwendete Gerät ein GPS hat oder telefonieren kann. Als Beispiel wird hier jedoch nur die Existenz einer Kamera abgefragt.}}In manchen iPhone-/iPod touch-Applikationen ist es notwendig, beispielsweise auf die Exitenz einer Kamera zu prüfen damit die Applikation auf beiden Gerätetypen reibungslos funktioniert. Schließlich schmiert die Anwendung auf einem iPod touch (ohne Kamera) sang- und klanglos ab, sobald man einen [[ADC:/{{TT|UIImagePickerController}}] verwendet und Apple weist dann die Applikation im Review-Prozess für den App-Store auch zurück. Um also unnötige Verzögerungen zu vermeiden, kann man wie folgt vorgehen: ==Applikation benötigt zwingend eine Kamera== Wenn eine App unbedingt eine Kamera benötigt (z.B. bei einem Kamera-Tool), kann man die benötigten Hardwarekomponenten als Array oder Dictionary in die {{TT|Info.plist}} eintragen: <pre> UIRequiredDeviceCapabilities = still-camera </pre> ;Array :Hier wird die Eigenschaft "still-camera" als Wert eingetragen, wobei natürlich der Datentyp der Array-Elemente entsprechend auf "String" stehen muss ;Dictionary: :Hier wird das Element als "BOOL" Wert eingetragen mit "still-camera" als Key ;Beispiele: {| style="margin-left:24px; background-color:#f2f2f2; border-spacing:0px; padding:0px;" |-- ! style="width:150px;" | Key || Beschreibung |-- | {{TT|telephony}} || Telefonfunktion (für tel:// Links benötigt) |-- | {{TT|sms}} || SMS-Funktion (für sms:// Links benötigt) |-- | {{TT|still-camera}} || Für die Verwendung des {{TT|UIImagePickerController)), um für Fotos auf eine integrierte Kamera zuzugreifen |-- | {{TT|auto-focus-camera}} || Wenn man die Autofokus-Funktion einer Kamera benötigt |-- | {{TT|video-camera}} || Für die Verwendung des {{TT|UIImagePickerController)), um für Videos auf eine integrierte Kamera zuzugreifen |-- | {{TT|wifi}} || Wenn die Applikation WLAN-Zugang benötigt |-- | {{TT|accelerometer}} || Wenn die App {{TT|UIAccelerometer}} benutzt, um auf solche Events reagieren zu können. Wird für reine Displaydrehungen (Portrait <> Landscape) nicht benötigt. |-- | {{TT|location-services}} || Verwendung des {{TT|Core Location}} Frameworks. '''Hinweis: ''' wenn man explizit ein GPS benötigt, sollte man zusätzlich den folgenden {{TT|gps}} Schlüssel eintragen! |-- | {{TT|gps}} || App benötigt eine vorhandene GPS (odr AGPS) Hardware für die Ortsbestimmung |-- | {{TT|magnetometer}} || Bei Verwendung des {{TT|Core Location}} framework für richtungsbezogene Events |-- | {{TT|microphone}} || ... na, was wohl? |-- | {{TT|opengles-1}} || Bei Verwendung des OpenGL ES 1.1 Interface |-- | {{TT|opengles-2}} || Bei Verwendung des OpenGL ES 2.0 Interface |-- | {{TT|armv6}} || App wurde nur für den armv6 Befehlssatz übersetzt (verfügbar ab iPhone OS v3.1) |-- | {{TT|armv7}} || App wurde nur für den armv7 Befehlssatz übersetzt (verfügbar ab iPhone OS v3.1) |-- | {{TT|peer-peer}} || App benötigt Peer-to-Peer Verbindungen über Bluetooth (verfügbar ab iPhone OS v3.1) |} {{Important|Damit lässt sich die App nur auf Geräten mit diesen Hardwareeigenschaften starten und der App Store erlaubt auch nur auf solchen Geräten die Installation! Wenn die App jedoch mit Einschränkungen trotzdem lauffähig ist, sollte man die folgende Variante verwenden.}} ==In der App auf Existenz einer Eigenschaft abfragen== Alternativ lässt sich in der App selber auch die Kamera abfragen, um beispielsweise den Button, der einen {{TT|UIImagePickerController}} aufruft, auf einem iPod touch einfach zu deaktivieren oder eine entsprechende Meldung anzuzeigen. ===Kamera abfragen=== Die Existenz einer Kamera kann mit Hilfe der Methode [[ADC:/iphone/library/documentation/UIKit/Reference/UIImagePickerController_Class/UIImagePickerController/UIImagePickerController.html#//apple_ref/occ/clm/UIImagePickerController/isSourceTypeAvailable:|isSourceTypeAvailable:]] des {{TT|UIImagePickerController}} abgefragt werden: <source lang="objc"> if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { // Kamera ist verfügbar ... } else { // Keine Kamera } </source> ===GPS und Magnetometer abfragen=== Auf vorhandene GPS-Hardware kann nicht unmittelbar sonndern nur indirekt mit Hilfe des [[ADC:/iphone/library/documentation/CoreLocation/Reference/CLLocationManager_Class/CLLocationManager/CLLocationManager.html#//apple_ref/occ/cl/CLLocationManager|CLLocationManager]] aus dem [[ADC:/iphone/library/documentation/General/Conceptual/DevPedia-CocoaCore/Framework.html#//apple_ref/doc/uid/TP40008195-CH56|Core Location Framework]] geprüft werden. Dazu kann man eine sehr hohe Genauigkeit einstellen und entsprechend reagieren, wenn keine Daten in der gewünschten Genauigkeit vorliegen (siehe auch [[ADC:/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedFeatures/AdvancedFeatures.html#//apple_ref/doc/uid/TP40007072-CH14-SW9|hier]]) Die Verfügbarkeit von Magnetometer-Events testet über die Property {{TT|headingAvailable}} der Klasse {{TT|CLLocationManager}}: <source lang="objc"> if(myLocationManager.headingAvailable) { // ... } </source> {{Important|1='''Wichtig:''' Die Abfrage des Magnetometer ist erst seit iPhone OS Version 3.0 möglich, daher sollte zusätzlich eine entsprechende Abfrage durchgeführt werden, falls die App auch noch unter iPhone OS 2.x laufen soll. Beispiel: <pre>if(myLocationManager.headingAvailable == nil) { /// ... iPhone OS älter als 3.0 ... (headingAvailable ist erst ab 3.0 verfügbar) } </pre> }} ==Siehe auch== * iPhone Dev Center: [http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedFeatures/AdvancedFeatures.html Device Support] (apple.com) * [https://github.com/erica/uidevice-extension uidevice-extension] von Erica Sadun bce4b80fd809ad3901503b36d955137efb8f84b8 341 300 2023-03-08T09:45:22Z Hagbard 2 wikitext text/x-wiki [[Category:Development]][[Category:Translate]]{{Hint|Die hier beschriebene Vorgehensweise ist ebenso für die Abfrage anderer hardwarespezifischer Details zu verwenden - beispielsweise um zu ermitteln, ob das verwendete Gerät ein GPS hat oder telefonieren kann. Als Beispiel wird hier jedoch nur die Existenz einer Kamera abgefragt.}}In manchen iPhone-/iPod touch-Applikationen ist es notwendig, beispielsweise auf die Exitenz einer Kamera zu prüfen damit die Applikation auf beiden Gerätetypen reibungslos funktioniert. Schließlich schmiert die Anwendung auf einem iPod touch (ohne Kamera) sang- und klanglos ab, sobald man einen [[ADC:/{{TT|UIImagePickerController}}] verwendet und Apple weist dann die Applikation im Review-Prozess für den App-Store auch zurück. Um also unnötige Verzögerungen zu vermeiden, kann man wie folgt vorgehen: ==Applikation benötigt zwingend eine Kamera== Wenn eine App unbedingt eine Kamera benötigt (z.B. bei einem Kamera-Tool), kann man die benötigten Hardwarekomponenten als Array oder Dictionary in die {{TT|Info.plist}} eintragen: <pre> UIRequiredDeviceCapabilities = still-camera </pre> ;Array :Hier wird die Eigenschaft "still-camera" als Wert eingetragen, wobei natürlich der Datentyp der Array-Elemente entsprechend auf "String" stehen muss ;Dictionary: :Hier wird das Element als "BOOL" Wert eingetragen mit "still-camera" als Key ;Beispiele: {| style="margin-left:24px; background-color:#f2f2f2; border-spacing:0px; padding:0px;" |-- ! style="width:150px;" | Key || Beschreibung |-- | {{TT|telephony}} || Telefonfunktion (für tel:// Links benötigt) |-- | {{TT|sms}} || SMS-Funktion (für sms:// Links benötigt) |-- | {{TT|still-camera}} || Für die Verwendung des {{TT|UIImagePickerController)), um für Fotos auf eine integrierte Kamera zuzugreifen |-- | {{TT|auto-focus-camera}} || Wenn man die Autofokus-Funktion einer Kamera benötigt |-- | {{TT|video-camera}} || Für die Verwendung des {{TT|UIImagePickerController)), um für Videos auf eine integrierte Kamera zuzugreifen |-- | {{TT|wifi}} || Wenn die Applikation WLAN-Zugang benötigt |-- | {{TT|accelerometer}} || Wenn die App {{TT|UIAccelerometer}} benutzt, um auf solche Events reagieren zu können. Wird für reine Displaydrehungen (Portrait <> Landscape) nicht benötigt. |-- | {{TT|location-services}} || Verwendung des {{TT|Core Location}} Frameworks. '''Hinweis: ''' wenn man explizit ein GPS benötigt, sollte man zusätzlich den folgenden {{TT|gps}} Schlüssel eintragen! |-- | {{TT|gps}} || App benötigt eine vorhandene GPS (odr AGPS) Hardware für die Ortsbestimmung |-- | {{TT|magnetometer}} || Bei Verwendung des {{TT|Core Location}} framework für richtungsbezogene Events |-- | {{TT|microphone}} || ... na, was wohl? |-- | {{TT|opengles-1}} || Bei Verwendung des OpenGL ES 1.1 Interface |-- | {{TT|opengles-2}} || Bei Verwendung des OpenGL ES 2.0 Interface |-- | {{TT|armv6}} || App wurde nur für den armv6 Befehlssatz übersetzt (verfügbar ab iPhone OS v3.1) |-- | {{TT|armv7}} || App wurde nur für den armv7 Befehlssatz übersetzt (verfügbar ab iPhone OS v3.1) |-- | {{TT|peer-peer}} || App benötigt Peer-to-Peer Verbindungen über Bluetooth (verfügbar ab iPhone OS v3.1) |} {{Important|Damit lässt sich die App nur auf Geräten mit diesen Hardwareeigenschaften starten und der App Store erlaubt auch nur auf solchen Geräten die Installation! Wenn die App jedoch mit Einschränkungen trotzdem lauffähig ist, sollte man die folgende Variante verwenden.}} ==In der App auf Existenz einer Eigenschaft abfragen== Alternativ lässt sich in der App selber auch die Kamera abfragen, um beispielsweise den Button, der einen {{TT|UIImagePickerController}} aufruft, auf einem iPod touch einfach zu deaktivieren oder eine entsprechende Meldung anzuzeigen. ===Kamera abfragen=== Die Existenz einer Kamera kann mit Hilfe der Methode [[ADC:/iphone/library/documentation/UIKit/Reference/UIImagePickerController_Class/UIImagePickerController/UIImagePickerController.html#//apple_ref/occ/clm/UIImagePickerController/isSourceTypeAvailable:|isSourceTypeAvailable:]] des {{TT|UIImagePickerController}} abgefragt werden: <source lang="objc"> if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { // Kamera ist verfügbar ... } else { // Keine Kamera } </source> ===GPS und Magnetometer abfragen=== Auf vorhandene GPS-Hardware kann nicht unmittelbar sonndern nur indirekt mit Hilfe des [[ADC:/iphone/library/documentation/CoreLocation/Reference/CLLocationManager_Class/CLLocationManager/CLLocationManager.html#//apple_ref/occ/cl/CLLocationManager|CLLocationManager]] aus dem [[ADC:/iphone/library/documentation/General/Conceptual/DevPedia-CocoaCore/Framework.html#//apple_ref/doc/uid/TP40008195-CH56|Core Location Framework]] geprüft werden. Dazu kann man eine sehr hohe Genauigkeit einstellen und entsprechend reagieren, wenn keine Daten in der gewünschten Genauigkeit vorliegen (siehe auch [[ADC:/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedFeatures/AdvancedFeatures.html#//apple_ref/doc/uid/TP40007072-CH14-SW9|hier]]) Die Verfügbarkeit von Magnetometer-Events testet über die Property {{TT|headingAvailable}} der Klasse {{TT|CLLocationManager}}: <source lang="objc"> if(myLocationManager.headingAvailable) { // ... } </source> {{Important|1='''Wichtig:''' Die Abfrage des Magnetometer ist erst seit iPhone OS Version 3.0 möglich, daher sollte zusätzlich eine entsprechende Abfrage durchgeführt werden, falls die App auch noch unter iPhone OS 2.x laufen soll. Beispiel: <pre>if(myLocationManager.headingAvailable == nil) { /// ... iPhone OS älter als 3.0 ... (headingAvailable ist erst ab 3.0 verfügbar) } </pre> }} ==Siehe auch== * iPhone Dev Center: [http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedFeatures/AdvancedFeatures.html Device Support] (apple.com) * [https://github.com/erica/uidevice-extension uidevice-extension] von Erica Sadun bc261fe556773da5bec8e66c642e0df81af8d093 IPhone Quickies 0 81 302 301 2023-03-08T09:34:47Z Hagbard 2 1 revision imported wikitext text/x-wiki __TOC__ Hier finden sich ein paar (hoffentlich) hilfreiche Tipps & Tricks für den Fall, dass das iPhone zickt, der iPod touch nicht mehr starten will oder beim Jailbreak/Unlock irgendetwas schiefgelaufen ist. ==Synchronisieren== === Apps werden nicht mehr synchronisiert === In diesem Fall hat (falls ein Neustart des iPhone nicht hilft und man nicht gleich das iPhone zurücksetzen will) schon häufiger (allerdings leider nicht immer) die folgende Vorgehensweise geholfen: # Den aktuellen Computer vom iTunes Store abmelden (Menü "Store" > "Diesen Computer deaktivieren ...") # iPhone in iTunes auswerfen und abklemmen # iTunes beenden # Im (versteckten Verzeichnis) {{TT|/Users/Shared/SC Info/}} die beiden dort enthaltenen (ebenfalls versteckten) Dateien {{TT|SC Info.sidb}} und {{TT|SC Info.sidd}} löschen, entweder über das {{Terminal}} oder über die Anzeige versteckter Dateien im Finder, z.B. via [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool] # iTunes erneut beenden und neu starten # Computer wieder aktivieren (Menü "Store" > "Diesen Computer aktivieren ...") # iTunes neu starten und iPhone anschließen Unter Windows müssten sich die genannten Dateien in folgendem Verzeichnis befinden (Vista bzw. XP): :{{TT|C:\ProgramData\Apple Computer\iTunes\SC Info\}} :{{TT|C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Apple Computer\iTunes\SC Info}} ==Starten und Neustarten== [[Bild:IPhone_im_Recovery_Mode.png|thumb|100px|right|iPhone im [[IPhone_Quickies#Recovery_Mode|Recovery Mode]]]] ===Recovery Mode=== # Gerät vom Mac trennen und ausschalten # Home-Button drücken und gedrückt halten # Währenddessen das Gerät mit dem Mac verbinden # Den Home Button erst loslassen, wenn das iTunes-Icon mit einem USB-Stecker auf dem Display erscheint (siehe Abb. rechts) Anschließend sollte iTunes dann das Gerät im Wartungsmodus erkennen. Den Recovery Mode kann man mit einem [[#Reboot/Reset|Reset]] wieder verlassen (s.u.) ===DFU-Mode=== Den DFU-Mode startet man wie folgt, eine idiotensichere Anleitung bietet das Programm [[google:Pwnage|Pwnage]] (eigentlich für Jailbreaks gedacht): # Gerät ausschalten # das Gerät mit dem Computer verbinden und iTunes starten # die Tasten "Home" und "Sleep" (bzw. Power an der Oberseite) zusammen drücken # ca. 10 Sekunden lang gedrückt halten # danach (NUR) den Sleep/Power Button loslassen # den Home Button weitere 5 Sekunden gedrückt halten # Loslassen, sobald iTunes das Gerät im Wartungsmodus erkennt (der Bildschirm bleibt hier im Gegensatz zum [[#Recovery Mode| Recovery Mode]] schwarz). Den DFU-Mode kann man mit einem [[#Reboot/Reset|Reset]] wieder verlassen (s.u.) ===Reboot/Reset=== Um das Gerät nach einem Freeze (oder wenn man es aus Versehen in den DFU-Mode gestartet hat) neu zu booten, ist Folgendes zu tun: # die Tasten "Home" und "Sleep" (bzw. Power an der Oberseite) zusammen drücken # ca. 10 Sekunden lang gedrückt halten bis das Gerät neu startet (bzw. das Apple Logo sichtbar wird) # Dann erst loslassen Wenn dann das Apple-Logo im Display erscheint, war die Operation erfolgreich und das Gerät wird neu gestartet. ==Fehlerbehebung== === Geräte werden nicht mehr erkannt === Dies passiert hin und wieder nach der Installation einer neuen iTunes Version, in diesem Fall werden die Geräte dann auch in allen anderen Programmen (Xcode, iPhone Configuration Utility, ...) nicht mehr erkannt. Hierbei hilft nur eine (vollständige!) Neuinstallation von iTunes, wofür folgende Schritte durchzuführen sind: # Folgende Dateien löschen:<source>/Applications/iTunes.app /System/Library/Extensions/AppleMobileDevice.kext /Library/Receipts/AppleMobileDeviceSupport.pkg</source></div> # Mac neu starten # ggf. Papierkorb leeren # iTunes erneut installieren === iPhone bootet nur bis zum Apple-Logo === Wenn das iPhone nur bis zum Apple Logo bootet, dann hängenbleibt und auch nach einem [[#Reboot/Reset|Reset]] nicht weiter kommt, hilft normalerweise folgende Vorgehensweise: # iTunes starten und iPhone an den Mac anschliessen # iPhone ausschalten und wieder einschalten, danach mindestens 15 Minuten warten -> Rechner und iPhone in dieser Zeit nicht anfassen! Alternativ: # iPhone gewaltsam in den [[#DFU-Mode|DFU-Mode]] booten # an den Mac anschließen und warten, bis iTunes das iPhone im Wartungsmodus erkennt # iPhone Firmware in iTunes wiederherstellen (Vorsicht bei gejailbreaktem iPhone 3G(S))! ===Keine Netzverbindung=== Falls es Probleme mit der Netzverbindung (kein Service über GSM, EDGE oder 3G/UMTS) gibt, können die folgenden Tipps möglicherweise helfen: * Am iPhone: Zurücksetzen der Netzwerkeinstellungen (Einstellungen > Zurücksetzen > Netzwerkeinstellungen) * Einen [[#Reboot/Reset|Reset]] durchführen (s.o.) * Am iPhone: Das Gerät zurücksetzen (Einstellungen > Zurücksetzen > Einstellungen; Achtung: NICHT "Inhalte und Einstellungen"! Dadurch werden alle Daten und alle installierten Apps gelöscht!) * Am iPhone: SIM-Karte überprüfen (richtig eingelegt? Karte reinigen, evtl. mit einer andere Karte testen) * iPhone im [[#DFU-Mode|DFU-Mode]] starten und wiederherstellen (s.o.) * Flugmodus aktivieren und ca. 30 Sekunden aktiviert lassen, anschließend den Flugmodus wieder deaktivieren * iPhone im Flugmodus neu starten * Mobileconfig neu installieren ===iPhone lässt sich nicht mehr einschalten=== Wenn das iPhone tiefentladen war und es sich infolgedessen nicht mehr einschalten lässt und auch nicht mehr vom Computer erkannt wird (wenn man die Akkuwarnungen ignoriert und solange wartet, bis das iPhone sich von selbst ausschaltet, kann das passieren), hat vielen iPhone Nutzern bereits folgende Vorgehensweise geholfen (u.U. muss dazu vorher die SIM-Karte entfernt werden, manchmal sind auch nicht alle Schritte notwendig): # USB-Verbindung trennen (Gerät/Netzteil/Dock/etc.) # Power- und Home-Buttons gleichzeitig 10 Sekunden gedrückt halten # Power-Button loslassen und den Home-Button weitere 10 Sekunden gedrückt halten # USB-Kabel einstecken, iTunes sollte nun das iPhone im Recovery Modus erkennen (falls nicht, Schritte 1-3 nochmals versuchen und ggf. die SIM-Karte entfernen) # [http://code.google.com/p/independence/ Independence] starten, um das iPhone aus dem Recovery Modus zu holen ('''keinen Restore''' mit iTunes machen, das ist nicht notwendig!) In [[User:Hagbard|meinem]] Fall schaltete sich das Gerät bereits bei Schritt 3 wieder ein und startete ordnungsgemäß, das Display sollte also währenddessen laufend beobachtet werden. ===Gerät verlässt den Recovery Mode nicht=== Falls das Gerät beim Neustart (z.B. nach einem Fehlgeschlagenen Restore-Versuch) immer im Wartungszustand landet, kann [http://thefirmwareumbrella.blogspot.com/ TinyUmbrella] Abhilfe schaffen. Dort werden alle Geräte im Wartungszustand unter "Recovery Devices" gelistet, denen man mit einem Klick aus selbigem heraushelfen kann (dort kann man auch Geräte in den Wartungszustand versetzen). ==Telefon-Codes== Folgende Codes einfach in der Telefon-App eingeben und "anrufen": {| |-- style="background-color:#e2e2e2;" | style="width:140px;" | Nummer || Funktion |-- | {{TT|*135#}} || Zeigt die eigene Telefonnummer an |-- | {{TT|*#5005*7672#}} || Zeigt die aktuell verwendete [[wikipedia:de:Short Message Service Centre|SMSC]]-Nummer des iPhones an |-- | {{TT|*3001#12345#*}} || Aktiviert den "Field Test Mode" (ab iOS 4.0) und zeigt die Signalstärke an (zur Fehleranalyse) |-- | {{TT|*#06#}} || Zeigt die [[wikipedia:de:International Mobile Equipment Identity|IMEI]] des iPhones an (z.B. für die Idenfikation bei Diebstahl) |-- | {{TT|*646#}} || Zeigt das aktuelle Gesprächsaufkommen an (muss vom Carrier unterstützt werden) |-- | {{TT|##002#}} || Löscht alle Rufumleitungen inklusive der Weiterleitungen zur Mailbox |} Weitere Codes sind [http://www.iphone-tipps.de/die-apple-iphone-codes/ hier zu finden] ==Informationen der Seriennummer== Einige Stellen der Seriennummer haben eine best. Bedeutung: ;1./2. Stelle :Werk, in dem das Gerät hergestellt wurde (z.B. 84/88 = Shenzhen/China, V5/83/87/9C = China) ;3. Stelle :Herstellungsjahr (8 = 2008, 9 = 2009, 0 = 2010, 1 = 2011 usw.) ;4./5. Stelle :Kalenderwoche der Herstellung ;6.-11. Stelle: :Entweder #xxxx# oder xxxxx# (zur Identifikation des Gerätes) ;Beispiel :88105xxxxxx = Shenzhen/China, 5. Kalenderwoche 2011 (31.1. - 6.2.2011) Eine vollständige Analys der Seriennummer gibt es beispielsweise [http://www.chipmunk.nl/klantenservice/applemodel.html hier] ==Weitere Informationen== * [http://www.macbug.de/2008/02/02/iphone-unterschied-zwischen-dfu-mode-und-restore-mode-anleitung/ Unterschied zwischen DFU Mode und Recovery Mode] * [http://www.apfeltalk.de/forum/iphone-1-hilfe-t229596.html Erste Hilfe Tricks] (apfeltalk.de) * The iPhone Wiki: [http://theiphonewiki.com/wiki/index.php?title=ITunes_Errors iTunes Errors] * Apple: [http://support.apple.com/kb/TS1275?viewlocale=de_DE iOS: Warnmeldungen bei Aktualisierung und Wiederherstellung] (auf [http://support.apple.com/kb/TS1275 englisch]) * Apple: [http://support.apple.com/kb/ts1424?viewlocale=de_DE&locale=de_DE iTunes: Mögliche iTunes Store Fehler] (auf [http://support.apple.com/kb/ts1424 englisch]) == iPhone Tools== ;Allgemeine Tools * [http://supercrazyawesome.com/downloads/iPhone%20Backup%20Extractor.app.zip iPhone Backup Extractor] Downloadlink * [http://www.iphone-explorer.com/ iPhone Explorer] ;PNG-Dateien * [http://atpeek.download.atpurpose.com/PngUncrush.zip PngUncrush] ([[QuickLook]] Plugin) * David Watanabe: [http://www.newsfirex.com/blog/?p=176 iPhone .png Decoding] (Terminal) 1c70380d42816c3413f2e3945c0da1be6e5d593b 343 302 2023-03-08T09:46:24Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]]__TOC__ Hier finden sich ein paar (hoffentlich) hilfreiche Tipps & Tricks für den Fall, dass das iPhone zickt, der iPod touch nicht mehr starten will oder beim Jailbreak/Unlock irgendetwas schiefgelaufen ist. ==Synchronisieren== === Apps werden nicht mehr synchronisiert === In diesem Fall hat (falls ein Neustart des iPhone nicht hilft und man nicht gleich das iPhone zurücksetzen will) schon häufiger (allerdings leider nicht immer) die folgende Vorgehensweise geholfen: # Den aktuellen Computer vom iTunes Store abmelden (Menü "Store" > "Diesen Computer deaktivieren ...") # iPhone in iTunes auswerfen und abklemmen # iTunes beenden # Im (versteckten Verzeichnis) {{TT|/Users/Shared/SC Info/}} die beiden dort enthaltenen (ebenfalls versteckten) Dateien {{TT|SC Info.sidb}} und {{TT|SC Info.sidd}} löschen, entweder über das {{Terminal}} oder über die Anzeige versteckter Dateien im Finder, z.B. via [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool] # iTunes erneut beenden und neu starten # Computer wieder aktivieren (Menü "Store" > "Diesen Computer aktivieren ...") # iTunes neu starten und iPhone anschließen Unter Windows müssten sich die genannten Dateien in folgendem Verzeichnis befinden (Vista bzw. XP): :{{TT|C:\ProgramData\Apple Computer\iTunes\SC Info\}} :{{TT|C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Apple Computer\iTunes\SC Info}} ==Starten und Neustarten== [[Bild:IPhone_im_Recovery_Mode.png|thumb|100px|right|iPhone im [[IPhone_Quickies#Recovery_Mode|Recovery Mode]]]] ===Recovery Mode=== # Gerät vom Mac trennen und ausschalten # Home-Button drücken und gedrückt halten # Währenddessen das Gerät mit dem Mac verbinden # Den Home Button erst loslassen, wenn das iTunes-Icon mit einem USB-Stecker auf dem Display erscheint (siehe Abb. rechts) Anschließend sollte iTunes dann das Gerät im Wartungsmodus erkennen. Den Recovery Mode kann man mit einem [[#Reboot/Reset|Reset]] wieder verlassen (s.u.) ===DFU-Mode=== Den DFU-Mode startet man wie folgt, eine idiotensichere Anleitung bietet das Programm [[google:Pwnage|Pwnage]] (eigentlich für Jailbreaks gedacht): # Gerät ausschalten # das Gerät mit dem Computer verbinden und iTunes starten # die Tasten "Home" und "Sleep" (bzw. Power an der Oberseite) zusammen drücken # ca. 10 Sekunden lang gedrückt halten # danach (NUR) den Sleep/Power Button loslassen # den Home Button weitere 5 Sekunden gedrückt halten # Loslassen, sobald iTunes das Gerät im Wartungsmodus erkennt (der Bildschirm bleibt hier im Gegensatz zum [[#Recovery Mode| Recovery Mode]] schwarz). Den DFU-Mode kann man mit einem [[#Reboot/Reset|Reset]] wieder verlassen (s.u.) ===Reboot/Reset=== Um das Gerät nach einem Freeze (oder wenn man es aus Versehen in den DFU-Mode gestartet hat) neu zu booten, ist Folgendes zu tun: # die Tasten "Home" und "Sleep" (bzw. Power an der Oberseite) zusammen drücken # ca. 10 Sekunden lang gedrückt halten bis das Gerät neu startet (bzw. das Apple Logo sichtbar wird) # Dann erst loslassen Wenn dann das Apple-Logo im Display erscheint, war die Operation erfolgreich und das Gerät wird neu gestartet. ==Fehlerbehebung== === Geräte werden nicht mehr erkannt === Dies passiert hin und wieder nach der Installation einer neuen iTunes Version, in diesem Fall werden die Geräte dann auch in allen anderen Programmen (Xcode, iPhone Configuration Utility, ...) nicht mehr erkannt. Hierbei hilft nur eine (vollständige!) Neuinstallation von iTunes, wofür folgende Schritte durchzuführen sind: # Folgende Dateien löschen:<source>/Applications/iTunes.app /System/Library/Extensions/AppleMobileDevice.kext /Library/Receipts/AppleMobileDeviceSupport.pkg</source></div> # Mac neu starten # ggf. Papierkorb leeren # iTunes erneut installieren === iPhone bootet nur bis zum Apple-Logo === Wenn das iPhone nur bis zum Apple Logo bootet, dann hängenbleibt und auch nach einem [[#Reboot/Reset|Reset]] nicht weiter kommt, hilft normalerweise folgende Vorgehensweise: # iTunes starten und iPhone an den Mac anschliessen # iPhone ausschalten und wieder einschalten, danach mindestens 15 Minuten warten -> Rechner und iPhone in dieser Zeit nicht anfassen! Alternativ: # iPhone gewaltsam in den [[#DFU-Mode|DFU-Mode]] booten # an den Mac anschließen und warten, bis iTunes das iPhone im Wartungsmodus erkennt # iPhone Firmware in iTunes wiederherstellen (Vorsicht bei gejailbreaktem iPhone 3G(S))! ===Keine Netzverbindung=== Falls es Probleme mit der Netzverbindung (kein Service über GSM, EDGE oder 3G/UMTS) gibt, können die folgenden Tipps möglicherweise helfen: * Am iPhone: Zurücksetzen der Netzwerkeinstellungen (Einstellungen > Zurücksetzen > Netzwerkeinstellungen) * Einen [[#Reboot/Reset|Reset]] durchführen (s.o.) * Am iPhone: Das Gerät zurücksetzen (Einstellungen > Zurücksetzen > Einstellungen; Achtung: NICHT "Inhalte und Einstellungen"! Dadurch werden alle Daten und alle installierten Apps gelöscht!) * Am iPhone: SIM-Karte überprüfen (richtig eingelegt? Karte reinigen, evtl. mit einer andere Karte testen) * iPhone im [[#DFU-Mode|DFU-Mode]] starten und wiederherstellen (s.o.) * Flugmodus aktivieren und ca. 30 Sekunden aktiviert lassen, anschließend den Flugmodus wieder deaktivieren * iPhone im Flugmodus neu starten * Mobileconfig neu installieren ===iPhone lässt sich nicht mehr einschalten=== Wenn das iPhone tiefentladen war und es sich infolgedessen nicht mehr einschalten lässt und auch nicht mehr vom Computer erkannt wird (wenn man die Akkuwarnungen ignoriert und solange wartet, bis das iPhone sich von selbst ausschaltet, kann das passieren), hat vielen iPhone Nutzern bereits folgende Vorgehensweise geholfen (u.U. muss dazu vorher die SIM-Karte entfernt werden, manchmal sind auch nicht alle Schritte notwendig): # USB-Verbindung trennen (Gerät/Netzteil/Dock/etc.) # Power- und Home-Buttons gleichzeitig 10 Sekunden gedrückt halten # Power-Button loslassen und den Home-Button weitere 10 Sekunden gedrückt halten # USB-Kabel einstecken, iTunes sollte nun das iPhone im Recovery Modus erkennen (falls nicht, Schritte 1-3 nochmals versuchen und ggf. die SIM-Karte entfernen) # [http://code.google.com/p/independence/ Independence] starten, um das iPhone aus dem Recovery Modus zu holen ('''keinen Restore''' mit iTunes machen, das ist nicht notwendig!) In [[User:Hagbard|meinem]] Fall schaltete sich das Gerät bereits bei Schritt 3 wieder ein und startete ordnungsgemäß, das Display sollte also währenddessen laufend beobachtet werden. ===Gerät verlässt den Recovery Mode nicht=== Falls das Gerät beim Neustart (z.B. nach einem Fehlgeschlagenen Restore-Versuch) immer im Wartungszustand landet, kann [http://thefirmwareumbrella.blogspot.com/ TinyUmbrella] Abhilfe schaffen. Dort werden alle Geräte im Wartungszustand unter "Recovery Devices" gelistet, denen man mit einem Klick aus selbigem heraushelfen kann (dort kann man auch Geräte in den Wartungszustand versetzen). ==Telefon-Codes== Folgende Codes einfach in der Telefon-App eingeben und "anrufen": {| |-- style="background-color:#e2e2e2;" | style="width:140px;" | Nummer || Funktion |-- | {{TT|*135#}} || Zeigt die eigene Telefonnummer an |-- | {{TT|*#5005*7672#}} || Zeigt die aktuell verwendete [[wikipedia:de:Short Message Service Centre|SMSC]]-Nummer des iPhones an |-- | {{TT|*3001#12345#*}} || Aktiviert den "Field Test Mode" (ab iOS 4.0) und zeigt die Signalstärke an (zur Fehleranalyse) |-- | {{TT|*#06#}} || Zeigt die [[wikipedia:de:International Mobile Equipment Identity|IMEI]] des iPhones an (z.B. für die Idenfikation bei Diebstahl) |-- | {{TT|*646#}} || Zeigt das aktuelle Gesprächsaufkommen an (muss vom Carrier unterstützt werden) |-- | {{TT|##002#}} || Löscht alle Rufumleitungen inklusive der Weiterleitungen zur Mailbox |} Weitere Codes sind [http://www.iphone-tipps.de/die-apple-iphone-codes/ hier zu finden] ==Informationen der Seriennummer== Einige Stellen der Seriennummer haben eine best. Bedeutung: ;1./2. Stelle :Werk, in dem das Gerät hergestellt wurde (z.B. 84/88 = Shenzhen/China, V5/83/87/9C = China) ;3. Stelle :Herstellungsjahr (8 = 2008, 9 = 2009, 0 = 2010, 1 = 2011 usw.) ;4./5. Stelle :Kalenderwoche der Herstellung ;6.-11. Stelle: :Entweder #xxxx# oder xxxxx# (zur Identifikation des Gerätes) ;Beispiel :88105xxxxxx = Shenzhen/China, 5. Kalenderwoche 2011 (31.1. - 6.2.2011) Eine vollständige Analys der Seriennummer gibt es beispielsweise [http://www.chipmunk.nl/klantenservice/applemodel.html hier] ==Weitere Informationen== * [http://www.macbug.de/2008/02/02/iphone-unterschied-zwischen-dfu-mode-und-restore-mode-anleitung/ Unterschied zwischen DFU Mode und Recovery Mode] * [http://www.apfeltalk.de/forum/iphone-1-hilfe-t229596.html Erste Hilfe Tricks] (apfeltalk.de) * The iPhone Wiki: [http://theiphonewiki.com/wiki/index.php?title=ITunes_Errors iTunes Errors] * Apple: [http://support.apple.com/kb/TS1275?viewlocale=de_DE iOS: Warnmeldungen bei Aktualisierung und Wiederherstellung] (auf [http://support.apple.com/kb/TS1275 englisch]) * Apple: [http://support.apple.com/kb/ts1424?viewlocale=de_DE&locale=de_DE iTunes: Mögliche iTunes Store Fehler] (auf [http://support.apple.com/kb/ts1424 englisch]) == iPhone Tools== ;Allgemeine Tools * [http://supercrazyawesome.com/downloads/iPhone%20Backup%20Extractor.app.zip iPhone Backup Extractor] Downloadlink * [http://www.iphone-explorer.com/ iPhone Explorer] ;PNG-Dateien * [http://atpeek.download.atpurpose.com/PngUncrush.zip PngUncrush] ([[QuickLook]] Plugin) * David Watanabe: [http://www.newsfirex.com/blog/?p=176 iPhone .png Decoding] (Terminal) 854cda14930aa697ce594f31b18f69ab4fd8a95d 355 343 2023-03-08T09:49:56Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]][[Category:Verify]]__TOC__ Hier finden sich ein paar (hoffentlich) hilfreiche Tipps & Tricks für den Fall, dass das iPhone zickt, der iPod touch nicht mehr starten will oder beim Jailbreak/Unlock irgendetwas schiefgelaufen ist. ==Synchronisieren== === Apps werden nicht mehr synchronisiert === In diesem Fall hat (falls ein Neustart des iPhone nicht hilft und man nicht gleich das iPhone zurücksetzen will) schon häufiger (allerdings leider nicht immer) die folgende Vorgehensweise geholfen: # Den aktuellen Computer vom iTunes Store abmelden (Menü "Store" > "Diesen Computer deaktivieren ...") # iPhone in iTunes auswerfen und abklemmen # iTunes beenden # Im (versteckten Verzeichnis) {{TT|/Users/Shared/SC Info/}} die beiden dort enthaltenen (ebenfalls versteckten) Dateien {{TT|SC Info.sidb}} und {{TT|SC Info.sidd}} löschen, entweder über das {{Terminal}} oder über die Anzeige versteckter Dateien im Finder, z.B. via [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool] # iTunes erneut beenden und neu starten # Computer wieder aktivieren (Menü "Store" > "Diesen Computer aktivieren ...") # iTunes neu starten und iPhone anschließen Unter Windows müssten sich die genannten Dateien in folgendem Verzeichnis befinden (Vista bzw. XP): :{{TT|C:\ProgramData\Apple Computer\iTunes\SC Info\}} :{{TT|C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Apple Computer\iTunes\SC Info}} ==Starten und Neustarten== [[Bild:IPhone_im_Recovery_Mode.png|thumb|100px|right|iPhone im [[IPhone_Quickies#Recovery_Mode|Recovery Mode]]]] ===Recovery Mode=== # Gerät vom Mac trennen und ausschalten # Home-Button drücken und gedrückt halten # Währenddessen das Gerät mit dem Mac verbinden # Den Home Button erst loslassen, wenn das iTunes-Icon mit einem USB-Stecker auf dem Display erscheint (siehe Abb. rechts) Anschließend sollte iTunes dann das Gerät im Wartungsmodus erkennen. Den Recovery Mode kann man mit einem [[#Reboot/Reset|Reset]] wieder verlassen (s.u.) ===DFU-Mode=== Den DFU-Mode startet man wie folgt, eine idiotensichere Anleitung bietet das Programm [[google:Pwnage|Pwnage]] (eigentlich für Jailbreaks gedacht): # Gerät ausschalten # das Gerät mit dem Computer verbinden und iTunes starten # die Tasten "Home" und "Sleep" (bzw. Power an der Oberseite) zusammen drücken # ca. 10 Sekunden lang gedrückt halten # danach (NUR) den Sleep/Power Button loslassen # den Home Button weitere 5 Sekunden gedrückt halten # Loslassen, sobald iTunes das Gerät im Wartungsmodus erkennt (der Bildschirm bleibt hier im Gegensatz zum [[#Recovery Mode| Recovery Mode]] schwarz). Den DFU-Mode kann man mit einem [[#Reboot/Reset|Reset]] wieder verlassen (s.u.) ===Reboot/Reset=== Um das Gerät nach einem Freeze (oder wenn man es aus Versehen in den DFU-Mode gestartet hat) neu zu booten, ist Folgendes zu tun: # die Tasten "Home" und "Sleep" (bzw. Power an der Oberseite) zusammen drücken # ca. 10 Sekunden lang gedrückt halten bis das Gerät neu startet (bzw. das Apple Logo sichtbar wird) # Dann erst loslassen Wenn dann das Apple-Logo im Display erscheint, war die Operation erfolgreich und das Gerät wird neu gestartet. ==Fehlerbehebung== === Geräte werden nicht mehr erkannt === Dies passiert hin und wieder nach der Installation einer neuen iTunes Version, in diesem Fall werden die Geräte dann auch in allen anderen Programmen (Xcode, iPhone Configuration Utility, ...) nicht mehr erkannt. Hierbei hilft nur eine (vollständige!) Neuinstallation von iTunes, wofür folgende Schritte durchzuführen sind: # Folgende Dateien löschen:<source>/Applications/iTunes.app /System/Library/Extensions/AppleMobileDevice.kext /Library/Receipts/AppleMobileDeviceSupport.pkg</source></div> # Mac neu starten # ggf. Papierkorb leeren # iTunes erneut installieren === iPhone bootet nur bis zum Apple-Logo === Wenn das iPhone nur bis zum Apple Logo bootet, dann hängenbleibt und auch nach einem [[#Reboot/Reset|Reset]] nicht weiter kommt, hilft normalerweise folgende Vorgehensweise: # iTunes starten und iPhone an den Mac anschliessen # iPhone ausschalten und wieder einschalten, danach mindestens 15 Minuten warten -> Rechner und iPhone in dieser Zeit nicht anfassen! Alternativ: # iPhone gewaltsam in den [[#DFU-Mode|DFU-Mode]] booten # an den Mac anschließen und warten, bis iTunes das iPhone im Wartungsmodus erkennt # iPhone Firmware in iTunes wiederherstellen (Vorsicht bei gejailbreaktem iPhone 3G(S))! ===Keine Netzverbindung=== Falls es Probleme mit der Netzverbindung (kein Service über GSM, EDGE oder 3G/UMTS) gibt, können die folgenden Tipps möglicherweise helfen: * Am iPhone: Zurücksetzen der Netzwerkeinstellungen (Einstellungen > Zurücksetzen > Netzwerkeinstellungen) * Einen [[#Reboot/Reset|Reset]] durchführen (s.o.) * Am iPhone: Das Gerät zurücksetzen (Einstellungen > Zurücksetzen > Einstellungen; Achtung: NICHT "Inhalte und Einstellungen"! Dadurch werden alle Daten und alle installierten Apps gelöscht!) * Am iPhone: SIM-Karte überprüfen (richtig eingelegt? Karte reinigen, evtl. mit einer andere Karte testen) * iPhone im [[#DFU-Mode|DFU-Mode]] starten und wiederherstellen (s.o.) * Flugmodus aktivieren und ca. 30 Sekunden aktiviert lassen, anschließend den Flugmodus wieder deaktivieren * iPhone im Flugmodus neu starten * Mobileconfig neu installieren ===iPhone lässt sich nicht mehr einschalten=== Wenn das iPhone tiefentladen war und es sich infolgedessen nicht mehr einschalten lässt und auch nicht mehr vom Computer erkannt wird (wenn man die Akkuwarnungen ignoriert und solange wartet, bis das iPhone sich von selbst ausschaltet, kann das passieren), hat vielen iPhone Nutzern bereits folgende Vorgehensweise geholfen (u.U. muss dazu vorher die SIM-Karte entfernt werden, manchmal sind auch nicht alle Schritte notwendig): # USB-Verbindung trennen (Gerät/Netzteil/Dock/etc.) # Power- und Home-Buttons gleichzeitig 10 Sekunden gedrückt halten # Power-Button loslassen und den Home-Button weitere 10 Sekunden gedrückt halten # USB-Kabel einstecken, iTunes sollte nun das iPhone im Recovery Modus erkennen (falls nicht, Schritte 1-3 nochmals versuchen und ggf. die SIM-Karte entfernen) # [http://code.google.com/p/independence/ Independence] starten, um das iPhone aus dem Recovery Modus zu holen ('''keinen Restore''' mit iTunes machen, das ist nicht notwendig!) In [[User:Hagbard|meinem]] Fall schaltete sich das Gerät bereits bei Schritt 3 wieder ein und startete ordnungsgemäß, das Display sollte also währenddessen laufend beobachtet werden. ===Gerät verlässt den Recovery Mode nicht=== Falls das Gerät beim Neustart (z.B. nach einem Fehlgeschlagenen Restore-Versuch) immer im Wartungszustand landet, kann [http://thefirmwareumbrella.blogspot.com/ TinyUmbrella] Abhilfe schaffen. Dort werden alle Geräte im Wartungszustand unter "Recovery Devices" gelistet, denen man mit einem Klick aus selbigem heraushelfen kann (dort kann man auch Geräte in den Wartungszustand versetzen). ==Telefon-Codes== Folgende Codes einfach in der Telefon-App eingeben und "anrufen": {| |-- style="background-color:#e2e2e2;" | style="width:140px;" | Nummer || Funktion |-- | {{TT|*135#}} || Zeigt die eigene Telefonnummer an |-- | {{TT|*#5005*7672#}} || Zeigt die aktuell verwendete [[wikipedia:de:Short Message Service Centre|SMSC]]-Nummer des iPhones an |-- | {{TT|*3001#12345#*}} || Aktiviert den "Field Test Mode" (ab iOS 4.0) und zeigt die Signalstärke an (zur Fehleranalyse) |-- | {{TT|*#06#}} || Zeigt die [[wikipedia:de:International Mobile Equipment Identity|IMEI]] des iPhones an (z.B. für die Idenfikation bei Diebstahl) |-- | {{TT|*646#}} || Zeigt das aktuelle Gesprächsaufkommen an (muss vom Carrier unterstützt werden) |-- | {{TT|##002#}} || Löscht alle Rufumleitungen inklusive der Weiterleitungen zur Mailbox |} Weitere Codes sind [http://www.iphone-tipps.de/die-apple-iphone-codes/ hier zu finden] ==Informationen der Seriennummer== Einige Stellen der Seriennummer haben eine best. Bedeutung: ;1./2. Stelle :Werk, in dem das Gerät hergestellt wurde (z.B. 84/88 = Shenzhen/China, V5/83/87/9C = China) ;3. Stelle :Herstellungsjahr (8 = 2008, 9 = 2009, 0 = 2010, 1 = 2011 usw.) ;4./5. Stelle :Kalenderwoche der Herstellung ;6.-11. Stelle: :Entweder #xxxx# oder xxxxx# (zur Identifikation des Gerätes) ;Beispiel :88105xxxxxx = Shenzhen/China, 5. Kalenderwoche 2011 (31.1. - 6.2.2011) Eine vollständige Analys der Seriennummer gibt es beispielsweise [http://www.chipmunk.nl/klantenservice/applemodel.html hier] ==Weitere Informationen== * [http://www.macbug.de/2008/02/02/iphone-unterschied-zwischen-dfu-mode-und-restore-mode-anleitung/ Unterschied zwischen DFU Mode und Recovery Mode] * [http://www.apfeltalk.de/forum/iphone-1-hilfe-t229596.html Erste Hilfe Tricks] (apfeltalk.de) * The iPhone Wiki: [http://theiphonewiki.com/wiki/index.php?title=ITunes_Errors iTunes Errors] * Apple: [http://support.apple.com/kb/TS1275?viewlocale=de_DE iOS: Warnmeldungen bei Aktualisierung und Wiederherstellung] (auf [http://support.apple.com/kb/TS1275 englisch]) * Apple: [http://support.apple.com/kb/ts1424?viewlocale=de_DE&locale=de_DE iTunes: Mögliche iTunes Store Fehler] (auf [http://support.apple.com/kb/ts1424 englisch]) == iPhone Tools== ;Allgemeine Tools * [http://supercrazyawesome.com/downloads/iPhone%20Backup%20Extractor.app.zip iPhone Backup Extractor] Downloadlink * [http://www.iphone-explorer.com/ iPhone Explorer] ;PNG-Dateien * [http://atpeek.download.atpurpose.com/PngUncrush.zip PngUncrush] ([[QuickLook]] Plugin) * David Watanabe: [http://www.newsfirex.com/blog/?p=176 iPhone .png Decoding] (Terminal) 784b12e8667c80a04fc6ec204ba52005f3060c0a ISDN 0 82 304 303 2023-03-08T09:34:48Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Network]] ==ISDN== ISDN (Integrated Services Digital Network) ist ein Standard für den Zugang zu digitalen Telekommunikationsnetzen. ==ISDN-Technik== ===ISDN-Kanäle=== Bei einem ISDN-Anschluss verläuft die Kommunikation über mehrere Kanäle, wobei unterschieden wird zwischen den '''B-''' und den '''D-Kanälen'''. * '''[http://de.wikipedia.org/wiki/D-Kanal D-Kanal]:''' Steuerkanal, er dient der Übertragung von Steuerinformationen (z.B. Rufnummer, Rufnummer des Anrufers, Gebühreninformationen). Er besitzt eine Bandbreite von 16 kBit/s (Basisanschluss) bzw. 64 kBit/s (Primärmultiplexanschluss) * '''[http://de.wikipedia.org/wiki/B-Kanal B-Kanal]:''' Nutzkanäle, die der Datenübertragung dienen. Sie besitzen eine Bandbreite von jeweils: 64 kBit /s und sind vollduplex (d.h. es können gleichzeitig 64 kBit /s von A nach B und von B nach A übermittelt werden). Dabei existiert immer nur genau ein D-Kanal, die Anzahl der B-Kanäle ist abhängig von verwendeten Anschlusstyp. Wird eine höhere Datenübertragungsgeschwindigkeit gefordert (z.B. für Videokonferenzen), können mehrere B-Kanäle mittels Kanalbündelung wahlfrei zusammengeschaltet werden. Diese Zusammenschaltung mussjedoch bereits beim Verbindungsaufbau geschehen und lässt sich während einer laufenden Verbindung nicht mehr ändern. Ein dynamisches Zuschalten oder Abschalten von Kanälen ist also nicht möglich. ===Basisanschluss=== Beim Basisanschluss stehen die folgenden Kanäle zur Verfügung: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! Kanaltyp || width="200px" | Anzahl |---- bgcolor="#FFFFFF" | D || 1 mit 16 kBit/s |---- bgcolor="#FFFFFF" | B || 2 mit jeweils 64kBit/s |} Durch eine Bündelung aller B-Kanäle lässt sich eine maximale Transferrate von 128 kBit/s erreichen. ===Primärmultiplexanschluss=== Beim Primärmultiplexanschluss stehen die folgenden Kanäle zur Verfügung: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! Kanaltyp || width="200px" | Anzahl |---- bgcolor="#FFFFFF" | D || 1 mit 64 kBit/s |---- bgcolor="#FFFFFF" | B || 30 mit jeweils 64 kBit/s |} Durch eine Bündelung aller B-Kanäle lässt sich eine maximale Transferrate von 1920 kBit/s erreichen. ===ISDN S0-Bus=== ===B-ISDN=== [[Image:CellRelayZelle.png|thumb|150px|right|Zelle aus einem Cell-Relay-Netzwerk mit der Gesamtgröße von 53 Byte]] Beim Breitband-ISDN (B-ISDN) handelt es sich (wie auch bei ATM) um ein Cell-Relay Netzwerk, bei dem die Daten in Form von Zellen (Pakete mit fester Größe) übertragen werden. Die hier verwendeten Protokolle arbeiten auf [[ISO-OSI_Schichtenmodell#Physical_Layer|Physical Layer]] und [[ISO-OSI_Schichtenmodell#Data_Link_Layer|Data Link Layer]]. Dadurch ergeben sich die folgenden Vorteile: * konstante Verzögerungszeit durch feste Paketgröße * deterministisches Verhalten bei Buszugriff und Übertragung * hohe Übertragungsgeschwindigkeiten möglich Beim B-ISDN sieht das Schichtmodell in etwa so aus: '''Layer 1:''' Bitübertragungsschicht [http://de.wikipedia.org/wiki/Sonet SONET] (Synchronous Optical Network) '''Layer 2:''' Vermittlungsschicht [[wikipedia:Asynchronous transfer mode|ATM]] (Asynchronous Transfer Mode) Das Breitband-ISDN bietet mit einer Datenrate von 140Mbit/s gegenüber ISDN zusätzlich die Möglichkeit für folgende Dienste: * Videokonferenz * schnelle Datenübermittlung Allerdings wurden die Pläne der [http://de.wikipedia.org/wiki/Deutsche_Telekom Detuschen Telekom] für B-ISDN zugunsten verschiedener [[wikipedia:Digital_subscriber_line|DSL]]-Formen nie umgesetzt. ==Protokolle== ===Circuit-Switching=== Dieses Verfahren wird bei verbindungsorientierten Protokollen wie ISDN auf den B-Kanälen verwendet (auf dem D-Kanal wird paketorientiert - also mit Packet Switching - gearbeitet). Umgesetzt werden kann dies sowohl mechanisch als auch elektronisch, beispielsweise über einen Crossbar-Switch (Kreuzschienenverteiler): [[Image:ISDNKreuzschienenVerteiler.png|center|thumb|250px|ISDN Circuit-Switching über einen Kreuzschienenverteiler]] Bei ISDN werden nur die B-Kanäle mit Circuit-Switching geswitcht, der D-Kanal (Steuerungskanal) mit Packet-Switching. Der große Vorteil dabei ist die verzögerungsfreie Übertragung und eine konstante Bandbreite. Bei ISDN besteht dabei eine feste Verbindung, die vor dem eigentlichen Datentransfer aufgebaut wird (SDH – Synchrone Digitale Hierarchie). Dabei gibt es im gesamten Netz einen einzigen Taktgeber, auf den sich alle anderen synchonisieren müssen. (Er gibt den Bit-Takt an). Im Gegensatz dazu erfolgt dies beim Cell Switching (wie z.B. bei [[wikipedia:Asynchronous transfer mode|ATM]]) asynchron, es existiert also kein zentraler Taktgeber im ATM-Netz. ===HDLC=== Framing auf Layer 2 (Data Link Layer) ===Q931=== Layer 3 (Network Layer) ==Weiterführende Informationen== Informationen zur Verkabelung von ISDN Installationen sind im Artikel [[Verkabelung]] zu finden. * Wikipedia: ** [http://de.wikipedia.org/wiki/Isdn ISDN] (de) ** [http://de.wikipedia.org/wiki/Breitband-ISDN B-ISDN] (Breitband-ISDN) (de) ** [http://en.wikipedia.org/wiki/Circuit_switching Circuit-Switching] (en) ** [http://en.wikipedia.org/wiki/Cell_switching Cell-Switching] (en) * ISDN-KnowHow im Web: ** [http://www.klaus.franken.de/DE-ISDN-HOWTO/html/DE-ISDN-HOWTO.html Linux ISDN-Howto] (de) ** [http://info.electronicwerkstatt.de/bereiche/uebertragung/telecom/isdn/isdn.html ISDN Grundlagen] (de) ** [http://www.fh-luh.de/~wayne1/ISDN.html ISDN-Technik] FH Lippe/Höxter (de) ** [http://www.netzmafia.de/skripten/telefon/index.html Telefon und ISDN Installation] (Grundlagen, Verkabelung, ...) (de) 659686ba891dba1d32c7422c5c5b41b994f54642 334 304 2023-03-08T09:42:31Z Hagbard 2 wikitext text/x-wiki [[Category:Networking]][[Category:Museum]][[Category:Translate]] ==ISDN== ISDN (Integrated Services Digital Network) ist (oder besser war, da zumindest in Deutschland nicht mehr verfügbar) ein Standard für den Zugang zu digitalen Telekommunikationsnetzen. Besonders in Deutschland recht beliebt und verbreitet wurden ab 2018 keine neuen Anschlüsse mehr angeboten und existierende ab 2016 in mehreren Phasen auf andere Anschlussformen umgestellt. ==ISDN-Technik== ===ISDN-Kanäle=== Bei einem ISDN-Anschluss verläuft die Kommunikation über mehrere Kanäle, wobei unterschieden wird zwischen den '''B-''' und den '''D-Kanälen'''. * '''[http://de.wikipedia.org/wiki/D-Kanal D-Kanal]:''' Steuerkanal, er dient der Übertragung von Steuerinformationen (z.B. Rufnummer, Rufnummer des Anrufers, Gebühreninformationen). Er besitzt eine Bandbreite von 16 kBit/s (Basisanschluss) bzw. 64 kBit/s (Primärmultiplexanschluss) * '''[http://de.wikipedia.org/wiki/B-Kanal B-Kanal]:''' Nutzkanäle, die der Datenübertragung dienen. Sie besitzen eine Bandbreite von jeweils: 64 kBit /s und sind vollduplex (d.h. es können gleichzeitig 64 kBit /s von A nach B und von B nach A übermittelt werden). Dabei existiert immer nur genau ein D-Kanal, die Anzahl der B-Kanäle ist abhängig von verwendeten Anschlusstyp. Wird eine höhere Datenübertragungsgeschwindigkeit gefordert (z.B. für Videokonferenzen), können mehrere B-Kanäle mittels Kanalbündelung wahlfrei zusammengeschaltet werden. Diese Zusammenschaltung mussjedoch bereits beim Verbindungsaufbau geschehen und lässt sich während einer laufenden Verbindung nicht mehr ändern. Ein dynamisches Zuschalten oder Abschalten von Kanälen ist also nicht möglich. ===Basisanschluss=== Beim Basisanschluss stehen die folgenden Kanäle zur Verfügung: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! Kanaltyp || width="200px" | Anzahl |---- bgcolor="#FFFFFF" | D || 1 mit 16 kBit/s |---- bgcolor="#FFFFFF" | B || 2 mit jeweils 64kBit/s |} Durch eine Bündelung aller B-Kanäle lässt sich eine maximale Transferrate von 128 kBit/s erreichen. ===Primärmultiplexanschluss=== Beim Primärmultiplexanschluss stehen die folgenden Kanäle zur Verfügung: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! Kanaltyp || width="200px" | Anzahl |---- bgcolor="#FFFFFF" | D || 1 mit 64 kBit/s |---- bgcolor="#FFFFFF" | B || 30 mit jeweils 64 kBit/s |} Durch eine Bündelung aller B-Kanäle lässt sich eine maximale Transferrate von 1920 kBit/s erreichen. ===ISDN S0-Bus=== ===B-ISDN=== [[Image:CellRelayZelle.png|thumb|150px|right|Zelle aus einem Cell-Relay-Netzwerk mit der Gesamtgröße von 53 Byte]] Beim Breitband-ISDN (B-ISDN) handelt es sich (wie auch bei ATM) um ein Cell-Relay Netzwerk, bei dem die Daten in Form von Zellen (Pakete mit fester Größe) übertragen werden. Die hier verwendeten Protokolle arbeiten auf [[ISO-OSI_Schichtenmodell#Physical_Layer|Physical Layer]] und [[ISO-OSI_Schichtenmodell#Data_Link_Layer|Data Link Layer]]. Dadurch ergeben sich die folgenden Vorteile: * konstante Verzögerungszeit durch feste Paketgröße * deterministisches Verhalten bei Buszugriff und Übertragung * hohe Übertragungsgeschwindigkeiten möglich Beim B-ISDN sieht das Schichtmodell in etwa so aus: '''Layer 1:''' Bitübertragungsschicht [http://de.wikipedia.org/wiki/Sonet SONET] (Synchronous Optical Network) '''Layer 2:''' Vermittlungsschicht [[wikipedia:Asynchronous transfer mode|ATM]] (Asynchronous Transfer Mode) Das Breitband-ISDN bietet mit einer Datenrate von 140Mbit/s gegenüber ISDN zusätzlich die Möglichkeit für folgende Dienste: * Videokonferenz * schnelle Datenübermittlung Allerdings wurden die Pläne der [http://de.wikipedia.org/wiki/Deutsche_Telekom Detuschen Telekom] für B-ISDN zugunsten verschiedener [[wikipedia:Digital_subscriber_line|DSL]]-Formen nie umgesetzt. ==Protokolle== ===Circuit-Switching=== Dieses Verfahren wird bei verbindungsorientierten Protokollen wie ISDN auf den B-Kanälen verwendet (auf dem D-Kanal wird paketorientiert - also mit Packet Switching - gearbeitet). Umgesetzt werden kann dies sowohl mechanisch als auch elektronisch, beispielsweise über einen Crossbar-Switch (Kreuzschienenverteiler): [[Image:ISDNKreuzschienenVerteiler.png|center|thumb|250px|ISDN Circuit-Switching über einen Kreuzschienenverteiler]] Bei ISDN werden nur die B-Kanäle mit Circuit-Switching geswitcht, der D-Kanal (Steuerungskanal) mit Packet-Switching. Der große Vorteil dabei ist die verzögerungsfreie Übertragung und eine konstante Bandbreite. Bei ISDN besteht dabei eine feste Verbindung, die vor dem eigentlichen Datentransfer aufgebaut wird (SDH – Synchrone Digitale Hierarchie). Dabei gibt es im gesamten Netz einen einzigen Taktgeber, auf den sich alle anderen synchonisieren müssen. (Er gibt den Bit-Takt an). Im Gegensatz dazu erfolgt dies beim Cell Switching (wie z.B. bei [[wikipedia:Asynchronous transfer mode|ATM]]) asynchron, es existiert also kein zentraler Taktgeber im ATM-Netz. ===HDLC=== Framing auf Layer 2 (Data Link Layer) ===Q931=== Layer 3 (Network Layer) ==Weiterführende Informationen== Informationen zur Verkabelung von ISDN Installationen sind im Artikel [[Verkabelung]] zu finden. * Wikipedia: ** [http://de.wikipedia.org/wiki/Isdn ISDN] (de) ** [http://de.wikipedia.org/wiki/Breitband-ISDN B-ISDN] (Breitband-ISDN) (de) ** [http://en.wikipedia.org/wiki/Circuit_switching Circuit-Switching] (en) ** [http://en.wikipedia.org/wiki/Cell_switching Cell-Switching] (en) * ISDN-KnowHow im Web: ** [http://www.klaus.franken.de/DE-ISDN-HOWTO/html/DE-ISDN-HOWTO.html Linux ISDN-Howto] (de) ** [http://info.electronicwerkstatt.de/bereiche/uebertragung/telecom/isdn/isdn.html ISDN Grundlagen] (de) ** [http://www.fh-luh.de/~wayne1/ISDN.html ISDN-Technik] FH Lippe/Höxter (de) ** [http://www.netzmafia.de/skripten/telefon/index.html Telefon und ISDN Installation] (Grundlagen, Verkabelung, ...) (de) 289baef3681a517577961d388efb39416655b7fb ISO-OSI Schichtenmodell 0 83 306 305 2023-03-08T09:34:48Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Network]] ==Das Schichtenmodell== Das ISO-OSI Schichtenmodell visualisiert die Vorgänge in einem Netzwerk mit Hilfe einer abstahierten schichtweisen Ansicht. Dabei baut jede Schicht auf den darunterliegenden über sog. ''Service Acess Points (SAP)'' auf und kann deren Dienste nutzen: [[Image:ISO-OSI-Schichtenmodell.png|center|300px]] Die Kommunikation in vielen Computernetzen ist nach dem OSI-Schichten-Modell strukturiert. Es beinhaltet sieben Schichten, die aufeinander aufbauen. Dabei nutzt es ein Konzept, in dem eine Schicht Dienste der unter ihr liegenden Schicht in Anspruch nimmt und durch eigene Funktionalität erweiterte Dienste der über ihr liegenden Schicht zu Verfügung stellt. Die wichtigsten Protokolle der Paketvermittlung sind X.25, [[wikipedia:TCP-IP|TCP/IP]], Frame Relay und SMDS (Switched Multimegabit Data Service) beziehungsweise Datex-M. ==Unterschiede der Schichtenmodelle== ==Die einzelnen Schichten== Die unteren drei Schichten bilden die wesentlichen Funktionen eines Netzwerkes. Die physikalische Schicht 1 beschreibt die Kabel und die Bitkodierung. Darauf aufsetzend bietet die Schicht 2 der über ihr liegenden Schicht die Möglichkeit, Datenpakete zwischen zwei Systemen zu senden und zu empfangen. Die Netzwerkschicht wiederum realisiert einen Dienst zur Übertragung mehrerer Datenpakete über mehrere Netzwerkknoten hinweg. Dies nutzt dann die Transportschicht 4 dazu, eine Ende-zu-Ende-Verbindung herzustellen und zu gewährleisten. Die darauf aufsetzenden Schichten werden in der Regel zusammengefaßt und beinhalten Dienste oder Anwendungen auf den Endsystemen, die das darunterliegende Transportmedium nutzen. ===Physical Layer=== zuständig für den Transport des Datenstroms: * elektrische Darstellung der Datenbits (Kodierung, Modulation) * optische Darstellung der Datenbits * Übertragungsgeschwindigkeit (Baud), Synchronisierung * Vollduplex / Halbduplex / ... (CSMADT = Collision Detection) * Physikalischer Anschluss, z.B.: Twisted Pair / Kupfer '''Belegung der Leitungen:''' [[Image:Ethernet_Verkabelung.png|thumb|right|250px|Leitungsbelegung bei Ethernet]] Bei einer Direktverbindung zweier Teilnehmer müssen die Adernpaare 1,2 und 3,6 vertrauscht werden (Cross-Over oder Cross-Linked Verbindung). Bei Gigabit Ethernet wird über jedes der 4 Leitungspaare gleichzeitig mit 250Mbit/s gesendet und empfangen, und zwar mit einer Frequenz von 125MHz (2Bit pro Takt). Daher müssen für 1GB-Ethernet Verbindungen 8adrige Kabel verwendet werden (Kat. 5 reicht jedoch auch hier für den Hausgebrauch meistens aus). Bei [[wikipedia:Asynchronous Transfer Mode|ATM]] sind die 4 Leitungen 1,2 & 7,8 belegt, bei [[ISDN]] die Leitungen 3,6 & 4,5 . Protokolle, die auf dem Physical Layer arbeiten, sind beispielsweise * [[Ethernet]] (Repeating) * [[ISDN]] (Integrated Services Digital Network) ===Data Link Layer=== Der Data Link Layer (auch: Link Local Layer) ist zuständig für eine fehlerfreie, gesicherte Übertragung der Daten: * Fehlererkennung: *# Prüfsumme (reines Addieren der Werte, ein Vertauschen von Bytes wird nicht erkannt) *#CRC (Polynomdivision), das Vertauschen von Bytes wird erkannt und es erfolgt ein erneutes Verschicken der Daten * Fehlerkorrektur: Aufgabe der DLC-Protokolle * Framing: *# '''Bitstuffing:''' Aufteilen der Daten in Frames, die durch Start- und Stop-Sequenzen voeinander getrennt werden. Diese Sequenzen du&#776;rfen in den Daten nicht vorkommen, weshalb nach 5 vorkommenden 1en von Sender eine 0 eingefügt wird, die der Empfänger wieder verwirft. *# '''Bildung von Frames:''' Transparente Übertragung der Daten über die Leitung mittels Framing und Bit-/Bytestuffing * DLC-Protokolle: *# HDLC, SDLC, ... *# LAPB, LAPD, ... Protokolle, die auf dem Data Link Layer arbeiten, sind beispielsweise * [[Ethernet]] (Switching) * [[wikipedia:Asynchronous Transfer Mode|ATM]] (Asynchronous Transfer Mode) * [[wikipedia:Serial Line Internet Protocol|SLIP]] (Serial Line IP) * [[wikipedia:Point-to-Point Protocol|PPP]] (Point-to-Point Protocol) ===Network Layer=== Transport der Daten im Netzwerk zum richtigen Ziel: * Verbindungsauf- & -abbbau * "Wegfindung" im Netz * "Wegfindung" in andere Netze * Anpassung der Daten an die darunterliegende Netzstruktur * Accounting (Statistik) * Fragmentierung der Pakete: Dynamische Anpassung der Paketgrößen an MTU und Geschwindigkeit * Wichtigste Protokolle: ** X.25 (Datex-P) ** Q 931 ([[ISDN]]) ** Q 2931 (ATM) ** [[wikipedia:TCP-IP|IP]] (Internet Protocol) ===Transport Layer=== Abstraktionsschicht zum Netzwerk: * eindeutiger, globaler Adressraum * Datagramservice ([[wikipedia:User Datagram Protocol|UDP]]) * Logische Verbindungen ([[wikipedia:Transmission Control Protocol|TCP]]) * Fehlerfreier Message- / Bytetransport von Endpunkt zu Endpunkt ** '''[[wikipedia:Transmission Control Protocol|TCP]]:''' nur fehlerfreier Bytetransport, da streamorientiertes Protokoll ** '''[[wikipedia:User Datagram Protocol|UDP]]:''' nur fehlerfreier Messagetransport, da messageorientiertes Protokoll; Fehlerkorr.: meist über [[wikipedia:Domain Name System|DNS]] * Multiplexen auf eine Netzwerkverbindung * Flusskontrolle: Anpassung der Geschwindigkeit (auch im [[Ethernet]]: über Multicast-Ethernet-Pakete von einem Switch) ===Session Layer=== ===Presentation Layer=== ===Application Layer=== ==Weiterführende Informationen== 84380a5c4ad386d725e508ac5fdffc63dcf8bab4 333 306 2023-03-08T09:39:53Z Hagbard 2 wikitext text/x-wiki [[Category:Networking]][[Category:Translate]] ==Das Schichtenmodell== Das ISO-OSI Schichtenmodell visualisiert die Vorgänge in einem Netzwerk mit Hilfe einer abstahierten schichtweisen Ansicht. Dabei baut jede Schicht auf den darunterliegenden über sog. ''Service Acess Points (SAP)'' auf und kann deren Dienste nutzen: [[Image:ISO-OSI-Schichtenmodell.png|center|300px]] Die Kommunikation in vielen Computernetzen ist nach dem OSI-Schichten-Modell strukturiert. Es beinhaltet sieben Schichten, die aufeinander aufbauen. Dabei nutzt es ein Konzept, in dem eine Schicht Dienste der unter ihr liegenden Schicht in Anspruch nimmt und durch eigene Funktionalität erweiterte Dienste der über ihr liegenden Schicht zu Verfügung stellt. Die wichtigsten Protokolle der Paketvermittlung sind X.25, [[wikipedia:TCP-IP|TCP/IP]], Frame Relay und SMDS (Switched Multimegabit Data Service) beziehungsweise Datex-M. ==Unterschiede der Schichtenmodelle== ==Die einzelnen Schichten== Die unteren drei Schichten bilden die wesentlichen Funktionen eines Netzwerkes. Die physikalische Schicht 1 beschreibt die Kabel und die Bitkodierung. Darauf aufsetzend bietet die Schicht 2 der über ihr liegenden Schicht die Möglichkeit, Datenpakete zwischen zwei Systemen zu senden und zu empfangen. Die Netzwerkschicht wiederum realisiert einen Dienst zur Übertragung mehrerer Datenpakete über mehrere Netzwerkknoten hinweg. Dies nutzt dann die Transportschicht 4 dazu, eine Ende-zu-Ende-Verbindung herzustellen und zu gewährleisten. Die darauf aufsetzenden Schichten werden in der Regel zusammengefaßt und beinhalten Dienste oder Anwendungen auf den Endsystemen, die das darunterliegende Transportmedium nutzen. ===Physical Layer=== zuständig für den Transport des Datenstroms: * elektrische Darstellung der Datenbits (Kodierung, Modulation) * optische Darstellung der Datenbits * Übertragungsgeschwindigkeit (Baud), Synchronisierung * Vollduplex / Halbduplex / ... (CSMADT = Collision Detection) * Physikalischer Anschluss, z.B.: Twisted Pair / Kupfer '''Belegung der Leitungen:''' [[Image:Ethernet_Verkabelung.png|thumb|right|250px|Leitungsbelegung bei Ethernet]] Bei einer Direktverbindung zweier Teilnehmer müssen die Adernpaare 1,2 und 3,6 vertrauscht werden (Cross-Over oder Cross-Linked Verbindung). Bei Gigabit Ethernet wird über jedes der 4 Leitungspaare gleichzeitig mit 250Mbit/s gesendet und empfangen, und zwar mit einer Frequenz von 125MHz (2Bit pro Takt). Daher müssen für 1GB-Ethernet Verbindungen 8adrige Kabel verwendet werden (Kat. 5 reicht jedoch auch hier für den Hausgebrauch meistens aus). Bei [[wikipedia:Asynchronous Transfer Mode|ATM]] sind die 4 Leitungen 1,2 & 7,8 belegt, bei [[ISDN]] die Leitungen 3,6 & 4,5 . Protokolle, die auf dem Physical Layer arbeiten, sind beispielsweise * [[Ethernet]] (Repeating) * [[ISDN]] (Integrated Services Digital Network) ===Data Link Layer=== Der Data Link Layer (auch: Link Local Layer) ist zuständig für eine fehlerfreie, gesicherte Übertragung der Daten: * Fehlererkennung: *# Prüfsumme (reines Addieren der Werte, ein Vertauschen von Bytes wird nicht erkannt) *#CRC (Polynomdivision), das Vertauschen von Bytes wird erkannt und es erfolgt ein erneutes Verschicken der Daten * Fehlerkorrektur: Aufgabe der DLC-Protokolle * Framing: *# '''Bitstuffing:''' Aufteilen der Daten in Frames, die durch Start- und Stop-Sequenzen voeinander getrennt werden. Diese Sequenzen du&#776;rfen in den Daten nicht vorkommen, weshalb nach 5 vorkommenden 1en von Sender eine 0 eingefügt wird, die der Empfänger wieder verwirft. *# '''Bildung von Frames:''' Transparente Übertragung der Daten über die Leitung mittels Framing und Bit-/Bytestuffing * DLC-Protokolle: *# HDLC, SDLC, ... *# LAPB, LAPD, ... Protokolle, die auf dem Data Link Layer arbeiten, sind beispielsweise * [[Ethernet]] (Switching) * [[wikipedia:Asynchronous Transfer Mode|ATM]] (Asynchronous Transfer Mode) * [[wikipedia:Serial Line Internet Protocol|SLIP]] (Serial Line IP) * [[wikipedia:Point-to-Point Protocol|PPP]] (Point-to-Point Protocol) ===Network Layer=== Transport der Daten im Netzwerk zum richtigen Ziel: * Verbindungsauf- & -abbbau * "Wegfindung" im Netz * "Wegfindung" in andere Netze * Anpassung der Daten an die darunterliegende Netzstruktur * Accounting (Statistik) * Fragmentierung der Pakete: Dynamische Anpassung der Paketgrößen an MTU und Geschwindigkeit * Wichtigste Protokolle: ** X.25 (Datex-P) ** Q 931 ([[ISDN]]) ** Q 2931 (ATM) ** [[wikipedia:TCP-IP|IP]] (Internet Protocol) ===Transport Layer=== Abstraktionsschicht zum Netzwerk: * eindeutiger, globaler Adressraum * Datagramservice ([[wikipedia:User Datagram Protocol|UDP]]) * Logische Verbindungen ([[wikipedia:Transmission Control Protocol|TCP]]) * Fehlerfreier Message- / Bytetransport von Endpunkt zu Endpunkt ** '''[[wikipedia:Transmission Control Protocol|TCP]]:''' nur fehlerfreier Bytetransport, da streamorientiertes Protokoll ** '''[[wikipedia:User Datagram Protocol|UDP]]:''' nur fehlerfreier Messagetransport, da messageorientiertes Protokoll; Fehlerkorr.: meist über [[wikipedia:Domain Name System|DNS]] * Multiplexen auf eine Netzwerkverbindung * Flusskontrolle: Anpassung der Geschwindigkeit (auch im [[Ethernet]]: über Multicast-Ethernet-Pakete von einem Switch) ===Session Layer=== ===Presentation Layer=== ===Application Layer=== ==Weiterführende Informationen== 2bcefbfad7b383a2280b409a1aaa65375b6f7b29 ISPConfig Quickies 0 84 308 307 2023-03-08T09:34:49Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Hint]] [[Category:Development]] Various tips for running and maintaining ISPConfig, which I have running on a local VirtualBox linux guest for testing [[MAMP Quickies|MAMP PRO]] remote stuff ==Website== ===Disable open_basedir for a specific website=== Just enter {{TT|none}} into the respective text field for open_basedir and you're all set. Just leaving it empty won't work since it would just fall back to the global setting instead thus keeping it active. The global open_basedir configuration is to be found under System > Server Config > [server name] > Web > PHP Settings [admin permissions provided] 55430f898609e79bb1b69b02bbb55ea5180a1058 342 308 2023-03-08T09:46:04Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]] [[Category:Development]][[Category:Translate]] Various tips for running and maintaining ISPConfig, which I have running on a local VirtualBox linux guest for testing [[MAMP Quickies|MAMP PRO]] remote stuff ==Website== ===Disable open_basedir for a specific website=== Just enter {{TT|none}} into the respective text field for open_basedir and you're all set. Just leaving it empty won't work since it would just fall back to the global setting instead thus keeping it active. The global open_basedir configuration is to be found under System > Server Config > [server name] > Web > PHP Settings [admin permissions provided] 091b663bf2bfb6567a841154bea11d426f106aea ITunes-Suche nach Netzbetreibereinstellungen verhindern 0 85 310 309 2023-03-08T09:34:50Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Hint]]Um unter iTunes die automatische Suche nach Netzbetreibereinstellungen beim Anschließen eines iPhone zu unterbinden (besonders lästig bei Betreibern, für die es keine offiziellen gibt; hier muss man jedes Mal das Fenster bestätigen), ist im {{Terminal}} über folgendes Kommando zu (de-)aktivieren: ==Mac OS X== defaults write com.apple.iTunes carrier-testing -bool TRUE defaults delete com.apple.iTunes carrier-testing ==Windows== %ProgramFiles%\iTunes\iTunes.exe" /setPrefInt carrier-testing 1 %ProgramFiles%\iTunes\iTunes.exe" /setPrefInt carrier-testing 0 ==Siehe auch== * Apple Support: [http://support.apple.com/kb/HT1970?viewlocale=de_DE Updates für die Netzbetreibereinstellungen in iTunes] * Macworld: [http://www.macworld.com/article/138715/2009/02/iphonecarriersettings.html Behind the iPhone’s carrrier-settings update message] * about.com: [http://pcworld.about.com/od/phones/IPhone-Under-the-Hood-Carrier.htm iPhone Under the Hood: Carrier Settings] * MosMyi: [http://modmyi.com/wiki/index.php/Carrier_settings_for_iPhone Carrier settings for iPhone] * iphone-notes.de: [http://www.iphone-notes.de/mobileconfig/ .mobileconfig Generator] 496f22e620bb55989eff00836f75fbf067ccc7fb 344 310 2023-03-08T09:47:15Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Translate]]Um unter iTunes die automatische Suche nach Netzbetreibereinstellungen beim Anschließen eines iPhone zu unterbinden (besonders lästig bei Betreibern, für die es keine offiziellen gibt; hier muss man jedes Mal das Fenster bestätigen), ist im {{Terminal}} über folgendes Kommando zu (de-)aktivieren: ==Mac OS X== defaults write com.apple.iTunes carrier-testing -bool TRUE defaults delete com.apple.iTunes carrier-testing ==Windows== %ProgramFiles%\iTunes\iTunes.exe" /setPrefInt carrier-testing 1 %ProgramFiles%\iTunes\iTunes.exe" /setPrefInt carrier-testing 0 ==Siehe auch== * Apple Support: [http://support.apple.com/kb/HT1970?viewlocale=de_DE Updates für die Netzbetreibereinstellungen in iTunes] * Macworld: [http://www.macworld.com/article/138715/2009/02/iphonecarriersettings.html Behind the iPhone’s carrrier-settings update message] * about.com: [http://pcworld.about.com/od/phones/IPhone-Under-the-Hood-Carrier.htm iPhone Under the Hood: Carrier Settings] * MosMyi: [http://modmyi.com/wiki/index.php/Carrier_settings_for_iPhone Carrier settings for iPhone] * iphone-notes.de: [http://www.iphone-notes.de/mobileconfig/ .mobileconfig Generator] e659f058d5fb8524c94c75cab027c2b83980eee0 351 344 2023-03-08T09:48:31Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Translate]][[Category:Museum]]Um unter iTunes die automatische Suche nach Netzbetreibereinstellungen beim Anschließen eines iPhone zu unterbinden (besonders lästig bei Betreibern, für die es keine offiziellen gibt; hier muss man jedes Mal das Fenster bestätigen), ist im {{Terminal}} über folgendes Kommando zu (de-)aktivieren: ==Mac OS X== defaults write com.apple.iTunes carrier-testing -bool TRUE defaults delete com.apple.iTunes carrier-testing ==Windows== %ProgramFiles%\iTunes\iTunes.exe" /setPrefInt carrier-testing 1 %ProgramFiles%\iTunes\iTunes.exe" /setPrefInt carrier-testing 0 ==Siehe auch== * Apple Support: [http://support.apple.com/kb/HT1970?viewlocale=de_DE Updates für die Netzbetreibereinstellungen in iTunes] * Macworld: [http://www.macworld.com/article/138715/2009/02/iphonecarriersettings.html Behind the iPhone’s carrrier-settings update message] * about.com: [http://pcworld.about.com/od/phones/IPhone-Under-the-Hood-Carrier.htm iPhone Under the Hood: Carrier Settings] * MosMyi: [http://modmyi.com/wiki/index.php/Carrier_settings_for_iPhone Carrier settings for iPhone] * iphone-notes.de: [http://www.iphone-notes.de/mobileconfig/ .mobileconfig Generator] c312cbfbb7bc5d718e1f6ad6cbb72d680f141e60 ITunes Rechnungen mit ausgewiesener USt 0 86 312 311 2023-03-08T09:34:51Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Misc]]<div style="float:right">{{Contentbox|content= '''iTunes SARL'''<br /> 8 rue Heinrich Heine<br /> L-1720 Luxembourg<br /> VAT: LU 20165772 ---- '''Apple Sales International'''<br /> Hollyhill Instustrial Estate<br /> Hollyhill, Cork<br /> Ireland<br /> VAT: IE 6554690W}}</div> ==iTunes Rechnungen== Wie vielleicht der eine oder andere weiß, verkauft Apple via iTunes (aus deren Sicht) ausschließlich an Privatkunden und nicht an Unternehmer (trotz der eigentlich anderslautenden Rechtslage, siehe beispielsweise [http://carta.info/28290/apple-finanzministerium-moniert-mehrwertsteuerpraxis-des-itunes-store/ hier]). Das hat zur Folge, das '''Rechnungen des iTunes Store aus Luxemburg''' (dem Sitz der iTunes S.A.R.L.) kommen und damit nach luxemburgischem Recht versteuert werden, derzeit also mit 15% MwSt. In diesen per E-Mail verschickten Belegen ist jedoch - da sie ja für Privatkunden gedacht sind - die luxemburgische MwSt. nicht explizit ausgewiesen sondern lediglich der Brutto-Betrag. Der Mac App Store sitzt abweichend davon übrigens in Irland, dort beläuft sich die MwSt./Ust. derzeit auf 21%. Das restliche Vorgehen ist aber dasselbe ... Da aber auch iOS Apps durchaus gewerblich genutzt werden können – das iPad wird ja schließlich explizit [http://www.apple.com/de/ipad/business/ für den Unternehmenseinsatz beworben] – fällt auch die direkte Vorsteuervergütung flach, zumal sich Apple auch im "normalen" Business Store (zumindest bei mir) beharrlich weigert, Netto-Rechnungen zu stellen. Einen "Business iTunes Store" gibt es erst gar nicht ... {{Information|'''Da iTunes Guthabenkarten'''<br /><br /> Da iTunes Guthabenkarten mehrwertsteuerfrei sind (wie z.B. Prepaid Handy-Guthabenkarten und vermutlich auch allen anderen derartigen Guthabenkarten, das sieht man dann spätestens auf dem Kassenzettel), ist hierüber also auch kein Vorsteuerabzug möglich. Schließlich fällt die Mehrwertsteuer/Umsatzsteuer erst bei Leistungserbringung an.}} Für den iTunes Store ist also für Unternehmer aus Deutschland offenbar folgende Vorgehensweise nötig, um wieder an die USt. zu kommen: {{Information|'''Info:''' die "Express Lane" ist neuerdings ganz unten links in der Übersicht der Supportseite zu finden und trägt den Namen "Support kontaktieren"}} # '''Eine Rechnung mit MwSt. anfordern:''' im [http://www.apple.com/de/support/itunes/account/ Apple iTunes Support] unter "Account & Abrechnung" via "Express Lane" eine Anfrage stellen (dazu den Punkt "Express Lane Support für Ihren Account" unter "Account-Sicherheit" verwenden). Dort kann man dann eine E-Mail Anfrage stellen, z.B. mit dem Thema "Rechnung mit ausgewiesener USt." ("Sonstiges Tema" auswählen): ## [https://expresslane.apple.com/ Express Lane] im Browser öffnen ## Ganz oben links den richtigen Store auswählen ## '''iTunes Store:''' Express Lane > iTunes > iTunes Store > Einkauf, Abrechnung & Rückzahlung ## '''Mac App Store:''' Express Lane > Weitere Produkte & Dienste > Mac Appp Store > Einkauf, Abrechnung & Rückzahlung ## Angaben zur Anfrage: ##*Problembeschreibung: "Mein Thema wird nicht aufgeführt" ##* Thema: "Rechnung mit ausgewiesener USt" ##* Weitere Angaben nach Bedarf, Bestellnummer ist dem iTunes Beleg zu entnehmen ## Eine Anmeldung ist empfehlenswert (scheint die Bearbeitung zu beschleunigen) ## Kontaktinformationen: ##* Apple ID eintragen ##* {{MARK}} '''Wichtig:''' nicht vergessen, im Feld "Weitere Angaben" die eigene USt.-ID anzugeben! # '''[http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Inlaendische_Unternehmer.html Umsatzsteuervergütung]''' an inländische Unternehmer in anderen EU-Mitgliedstaaten: via BZSt kann man sich dann die USt. vom luxemburgischen bzw. irischen Fiskus wieder zurückholen. #* {{MARK}} Für die Erstattung ist eine zeitliche Frist zu beachten: Der Vergütungsantrag ist '''bis zum 30. September des Folgejahres''' zu stellen. Danach ist keine Erstattung mehr möglich. #* Die Anmeldung beim BZSt (Bundeszentralamt für Steuern) erfolgt dabei über [https://www.elsteronline.de/bportal/ BZStOnline] via Elster (Login derzeit nur mit Softwarezertifikat). #* Luxemburg und Irland erfordern es (zumindest derzeit) nicht, die Rechnungen dem Antrag beizulegen. Eine aktuelle Präferenzliste der EU-Mitgliedstaaten ist [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Hilfsmittel/Praeferenzliste_EU_Mitgliedstaaten.html beim BZSt] zu bekommen. #* Für die Umsatzsteuervergütung existieren '''länderspezifische Grenzwerte''' (in nationaler Währung), diese sind ebenfalls obiger Präferenzliste zu entnehmen. Der Vergütungsbetrag muss '''mindestens € 50,-''' betragen oder einem entsprechend in Landeswährung umgerechneten Betrag entsprechen. Außerdem existieren u.U. weitere Unterschiede bzgl. des Zeitraumes der Rückvergütungen (monatlich, quartalsweise, jährlich etc.) # Der Rest hängt dann vom jeweiligen Land ab. Die Iren scheinen generell etwas länger zu brauchen als unsere westlichen Nachbarn aus Luxemburg ... Weitere Informationen zur Vorsteuervergütung sind [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Vorschriften_Merkblaetter/Vorschriften_Merkblaetter_node.html beim BZSt erhältlich]. Das bedeutet, dass man für jede Rechnung einzeln ein Exemplar mit ausgewiesener MwSt. anfordern muss. Bisher lief das aber immer recht problemlos und ich bekam innerhalb von 10-15 Minuten (tagsüber, werktags) die neuen Rechnungen per E-Mail zugestellt. Da das Finanzamt seit 2010 auch keine signierten PDFs mehr verlangt, sollten diese E-Mail Rechnungen für diesen Zweck auch vollkommen ausreichend sein. Die einzige Alternative ist, auf die Vorsteuer zu verzichten und den Bruttobetrag am Jahresende als Betriebsausgabe geltend zu machen. Da die gekauften Apps wert- und funktionsmäßig wohl in den meisten Fällen als sog. "Trivialsoftware" durchgehen dürften, sollte das also in der Regel keine größeren Probleme verursachen. Höherpreisige Apps sind dann jedoch u.U. über mehrere Jahre abzuschreiben oder als GWG abzusetzen. {{Important|'''Rechnungsempfänger in iTunes Rechnungen'''<br /><br /> Bei Artikeln mit einem Wert von mehr als € 150,- ist jedoch zu beachten, dass als Rechnungsempfänger der Inhaber des jeweiligen iTunes-Kontos aufgeführt wird. Das bedeutet, dass bei teureren Artikeln wie beispielsweise FinalCut X u.U. Probleme mit dem Finanzamt zu erwarten sind, falls die Rechnung einen abweichenden Rechnungsempfänger ausweist. Für Unternehmen, in denen mehrere Personen Zugriff auf den iTunes Store haben, ist es also dringend anzuraten, für alle Einkäufe ein eigenes iTunes-Konto samt AppleID anzulegen, um anschließend Rechnungen mit korrektem Rechnungsempfänger zu erhalten.}} ==Developer Program Rechnungen== Wie die Belege des Mac App Store kommen auch die Rechnungen des '''iOS/Mac Developer Program aus Irland''' und werden demzufolge nach irischem Recht versteuert (derzeit 21% VAT) – wie übrigens auch alles, was an nicht-materiellem (Software etc.) über den herkömmlichen Online Store verkauft wird. Hardware-Rechnungen kommen zwar auch aus Irland, weisen aber (zumindest war es bei [[User:Hagbard|mir]] bisher immer so) explizit die deutsche MwSt. aus. Wenn bei der Beantragung eines Developer Program (genauer beim "Einkauf" desselbigen) die USt.-ID angegeben wurde, sollte die Rechnung nun direkt die irische Mehrwertsteuer ausweisen. Diese kann auf oben beschriebenem Weg über das BZSt zurückgeholt werden. Andernfalls ist eine [http://developer.apple.com/contact/ Anfrage beim Apple Developer Support] nowendig, um eine neue Rechnung mit ausgewiesener Mehrwertsteuer (VAT) zu erhalten. Einigen iOS Entwicklern ist es wohl auch schon gelungen, über eine telefonische Anfrage beim Developer Support eine Rückerstattung der MwSt. zu erwirken. Ob das aber immer und reibungslos funktioniert, sei einmal dahingestellt. ==Links== * Apple: ** [http://www.apple.com/de/support/itunes/account/ iTunes Support - Account & Abrechnung] ** [https://expresslane.apple.com/GetproductgroupList.do?&PRKEYS=131629&category_id=SC0002&symptom_id=20182 Express Lane Support für Ihren Account] ** [http://developer.apple.com/contact/ Apple Developer Support] * Bundeszentralamt für Steuern (BZSt): ** [https://www.elsteronline.de/bportal/ BZStOnline] (www.elsteronline.de/bportal/) ** [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Inlaendische_Unternehmer.html Umsatzsteuervergütung an inländische Unternehmer in anderen EU-Mitgliedstaaten] ** [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Hilfsmittel/Praeferenzliste_EU_Mitgliedstaaten.html Präferenzen der EU-Mitgliedstaaten] (PDF) ** [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Vorschriften_Merkblaetter/vorStVergVerfahren_ab20100101.pdf Vorsteuer-Vergütungsverfahren ab 01.01.2010] (PDF) ** [http://www.bzst.de/DE/Steuern_International/USt_im_In_und_Ausland/Merkblatt_USt_Inland_Ausland.pdf Merkblatt Umsatzsteuer im In- und Ausland] (PDF) ** [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Vorschriften_Merkblaetter/Merkblatt_USt_EU.pdf Merkblatt EU-Umsatzsteuersätze] (PDF) 93a28a66c731fd015838bd7188ae6669a3c93ed8 345 312 2023-03-08T09:47:18Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]][[Category:Translate]]<div style="float:right">{{Contentbox|content= '''iTunes SARL'''<br /> 8 rue Heinrich Heine<br /> L-1720 Luxembourg<br /> VAT: LU 20165772 ---- '''Apple Sales International'''<br /> Hollyhill Instustrial Estate<br /> Hollyhill, Cork<br /> Ireland<br /> VAT: IE 6554690W}}</div> ==iTunes Rechnungen== Wie vielleicht der eine oder andere weiß, verkauft Apple via iTunes (aus deren Sicht) ausschließlich an Privatkunden und nicht an Unternehmer (trotz der eigentlich anderslautenden Rechtslage, siehe beispielsweise [http://carta.info/28290/apple-finanzministerium-moniert-mehrwertsteuerpraxis-des-itunes-store/ hier]). Das hat zur Folge, das '''Rechnungen des iTunes Store aus Luxemburg''' (dem Sitz der iTunes S.A.R.L.) kommen und damit nach luxemburgischem Recht versteuert werden, derzeit also mit 15% MwSt. In diesen per E-Mail verschickten Belegen ist jedoch - da sie ja für Privatkunden gedacht sind - die luxemburgische MwSt. nicht explizit ausgewiesen sondern lediglich der Brutto-Betrag. Der Mac App Store sitzt abweichend davon übrigens in Irland, dort beläuft sich die MwSt./Ust. derzeit auf 21%. Das restliche Vorgehen ist aber dasselbe ... Da aber auch iOS Apps durchaus gewerblich genutzt werden können – das iPad wird ja schließlich explizit [http://www.apple.com/de/ipad/business/ für den Unternehmenseinsatz beworben] – fällt auch die direkte Vorsteuervergütung flach, zumal sich Apple auch im "normalen" Business Store (zumindest bei mir) beharrlich weigert, Netto-Rechnungen zu stellen. Einen "Business iTunes Store" gibt es erst gar nicht ... {{Information|'''Da iTunes Guthabenkarten'''<br /><br /> Da iTunes Guthabenkarten mehrwertsteuerfrei sind (wie z.B. Prepaid Handy-Guthabenkarten und vermutlich auch allen anderen derartigen Guthabenkarten, das sieht man dann spätestens auf dem Kassenzettel), ist hierüber also auch kein Vorsteuerabzug möglich. Schließlich fällt die Mehrwertsteuer/Umsatzsteuer erst bei Leistungserbringung an.}} Für den iTunes Store ist also für Unternehmer aus Deutschland offenbar folgende Vorgehensweise nötig, um wieder an die USt. zu kommen: {{Information|'''Info:''' die "Express Lane" ist neuerdings ganz unten links in der Übersicht der Supportseite zu finden und trägt den Namen "Support kontaktieren"}} # '''Eine Rechnung mit MwSt. anfordern:''' im [http://www.apple.com/de/support/itunes/account/ Apple iTunes Support] unter "Account & Abrechnung" via "Express Lane" eine Anfrage stellen (dazu den Punkt "Express Lane Support für Ihren Account" unter "Account-Sicherheit" verwenden). Dort kann man dann eine E-Mail Anfrage stellen, z.B. mit dem Thema "Rechnung mit ausgewiesener USt." ("Sonstiges Tema" auswählen): ## [https://expresslane.apple.com/ Express Lane] im Browser öffnen ## Ganz oben links den richtigen Store auswählen ## '''iTunes Store:''' Express Lane > iTunes > iTunes Store > Einkauf, Abrechnung & Rückzahlung ## '''Mac App Store:''' Express Lane > Weitere Produkte & Dienste > Mac Appp Store > Einkauf, Abrechnung & Rückzahlung ## Angaben zur Anfrage: ##*Problembeschreibung: "Mein Thema wird nicht aufgeführt" ##* Thema: "Rechnung mit ausgewiesener USt" ##* Weitere Angaben nach Bedarf, Bestellnummer ist dem iTunes Beleg zu entnehmen ## Eine Anmeldung ist empfehlenswert (scheint die Bearbeitung zu beschleunigen) ## Kontaktinformationen: ##* Apple ID eintragen ##* {{MARK}} '''Wichtig:''' nicht vergessen, im Feld "Weitere Angaben" die eigene USt.-ID anzugeben! # '''[http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Inlaendische_Unternehmer.html Umsatzsteuervergütung]''' an inländische Unternehmer in anderen EU-Mitgliedstaaten: via BZSt kann man sich dann die USt. vom luxemburgischen bzw. irischen Fiskus wieder zurückholen. #* {{MARK}} Für die Erstattung ist eine zeitliche Frist zu beachten: Der Vergütungsantrag ist '''bis zum 30. September des Folgejahres''' zu stellen. Danach ist keine Erstattung mehr möglich. #* Die Anmeldung beim BZSt (Bundeszentralamt für Steuern) erfolgt dabei über [https://www.elsteronline.de/bportal/ BZStOnline] via Elster (Login derzeit nur mit Softwarezertifikat). #* Luxemburg und Irland erfordern es (zumindest derzeit) nicht, die Rechnungen dem Antrag beizulegen. Eine aktuelle Präferenzliste der EU-Mitgliedstaaten ist [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Hilfsmittel/Praeferenzliste_EU_Mitgliedstaaten.html beim BZSt] zu bekommen. #* Für die Umsatzsteuervergütung existieren '''länderspezifische Grenzwerte''' (in nationaler Währung), diese sind ebenfalls obiger Präferenzliste zu entnehmen. Der Vergütungsbetrag muss '''mindestens € 50,-''' betragen oder einem entsprechend in Landeswährung umgerechneten Betrag entsprechen. Außerdem existieren u.U. weitere Unterschiede bzgl. des Zeitraumes der Rückvergütungen (monatlich, quartalsweise, jährlich etc.) # Der Rest hängt dann vom jeweiligen Land ab. Die Iren scheinen generell etwas länger zu brauchen als unsere westlichen Nachbarn aus Luxemburg ... Weitere Informationen zur Vorsteuervergütung sind [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Vorschriften_Merkblaetter/Vorschriften_Merkblaetter_node.html beim BZSt erhältlich]. Das bedeutet, dass man für jede Rechnung einzeln ein Exemplar mit ausgewiesener MwSt. anfordern muss. Bisher lief das aber immer recht problemlos und ich bekam innerhalb von 10-15 Minuten (tagsüber, werktags) die neuen Rechnungen per E-Mail zugestellt. Da das Finanzamt seit 2010 auch keine signierten PDFs mehr verlangt, sollten diese E-Mail Rechnungen für diesen Zweck auch vollkommen ausreichend sein. Die einzige Alternative ist, auf die Vorsteuer zu verzichten und den Bruttobetrag am Jahresende als Betriebsausgabe geltend zu machen. Da die gekauften Apps wert- und funktionsmäßig wohl in den meisten Fällen als sog. "Trivialsoftware" durchgehen dürften, sollte das also in der Regel keine größeren Probleme verursachen. Höherpreisige Apps sind dann jedoch u.U. über mehrere Jahre abzuschreiben oder als GWG abzusetzen. {{Important|'''Rechnungsempfänger in iTunes Rechnungen'''<br /><br /> Bei Artikeln mit einem Wert von mehr als € 150,- ist jedoch zu beachten, dass als Rechnungsempfänger der Inhaber des jeweiligen iTunes-Kontos aufgeführt wird. Das bedeutet, dass bei teureren Artikeln wie beispielsweise FinalCut X u.U. Probleme mit dem Finanzamt zu erwarten sind, falls die Rechnung einen abweichenden Rechnungsempfänger ausweist. Für Unternehmen, in denen mehrere Personen Zugriff auf den iTunes Store haben, ist es also dringend anzuraten, für alle Einkäufe ein eigenes iTunes-Konto samt AppleID anzulegen, um anschließend Rechnungen mit korrektem Rechnungsempfänger zu erhalten.}} ==Developer Program Rechnungen== Wie die Belege des Mac App Store kommen auch die Rechnungen des '''iOS/Mac Developer Program aus Irland''' und werden demzufolge nach irischem Recht versteuert (derzeit 21% VAT) – wie übrigens auch alles, was an nicht-materiellem (Software etc.) über den herkömmlichen Online Store verkauft wird. Hardware-Rechnungen kommen zwar auch aus Irland, weisen aber (zumindest war es bei [[User:Hagbard|mir]] bisher immer so) explizit die deutsche MwSt. aus. Wenn bei der Beantragung eines Developer Program (genauer beim "Einkauf" desselbigen) die USt.-ID angegeben wurde, sollte die Rechnung nun direkt die irische Mehrwertsteuer ausweisen. Diese kann auf oben beschriebenem Weg über das BZSt zurückgeholt werden. Andernfalls ist eine [http://developer.apple.com/contact/ Anfrage beim Apple Developer Support] nowendig, um eine neue Rechnung mit ausgewiesener Mehrwertsteuer (VAT) zu erhalten. Einigen iOS Entwicklern ist es wohl auch schon gelungen, über eine telefonische Anfrage beim Developer Support eine Rückerstattung der MwSt. zu erwirken. Ob das aber immer und reibungslos funktioniert, sei einmal dahingestellt. ==Links== * Apple: ** [http://www.apple.com/de/support/itunes/account/ iTunes Support - Account & Abrechnung] ** [https://expresslane.apple.com/GetproductgroupList.do?&PRKEYS=131629&category_id=SC0002&symptom_id=20182 Express Lane Support für Ihren Account] ** [http://developer.apple.com/contact/ Apple Developer Support] * Bundeszentralamt für Steuern (BZSt): ** [https://www.elsteronline.de/bportal/ BZStOnline] (www.elsteronline.de/bportal/) ** [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Inlaendische_Unternehmer.html Umsatzsteuervergütung an inländische Unternehmer in anderen EU-Mitgliedstaaten] ** [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Hilfsmittel/Praeferenzliste_EU_Mitgliedstaaten.html Präferenzen der EU-Mitgliedstaaten] (PDF) ** [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Vorschriften_Merkblaetter/vorStVergVerfahren_ab20100101.pdf Vorsteuer-Vergütungsverfahren ab 01.01.2010] (PDF) ** [http://www.bzst.de/DE/Steuern_International/USt_im_In_und_Ausland/Merkblatt_USt_Inland_Ausland.pdf Merkblatt Umsatzsteuer im In- und Ausland] (PDF) ** [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Vorschriften_Merkblaetter/Merkblatt_USt_EU.pdf Merkblatt EU-Umsatzsteuersätze] (PDF) c5c5364fcb4191f5da1f961d18715f1c378f8118 352 345 2023-03-08T09:48:41Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]][[Category:Translate]][[Category:Museum]]<div style="float:right">{{Contentbox|content= '''iTunes SARL'''<br /> 8 rue Heinrich Heine<br /> L-1720 Luxembourg<br /> VAT: LU 20165772 ---- '''Apple Sales International'''<br /> Hollyhill Instustrial Estate<br /> Hollyhill, Cork<br /> Ireland<br /> VAT: IE 6554690W}}</div> ==iTunes Rechnungen== Wie vielleicht der eine oder andere weiß, verkauft Apple via iTunes (aus deren Sicht) ausschließlich an Privatkunden und nicht an Unternehmer (trotz der eigentlich anderslautenden Rechtslage, siehe beispielsweise [http://carta.info/28290/apple-finanzministerium-moniert-mehrwertsteuerpraxis-des-itunes-store/ hier]). Das hat zur Folge, das '''Rechnungen des iTunes Store aus Luxemburg''' (dem Sitz der iTunes S.A.R.L.) kommen und damit nach luxemburgischem Recht versteuert werden, derzeit also mit 15% MwSt. In diesen per E-Mail verschickten Belegen ist jedoch - da sie ja für Privatkunden gedacht sind - die luxemburgische MwSt. nicht explizit ausgewiesen sondern lediglich der Brutto-Betrag. Der Mac App Store sitzt abweichend davon übrigens in Irland, dort beläuft sich die MwSt./Ust. derzeit auf 21%. Das restliche Vorgehen ist aber dasselbe ... Da aber auch iOS Apps durchaus gewerblich genutzt werden können – das iPad wird ja schließlich explizit [http://www.apple.com/de/ipad/business/ für den Unternehmenseinsatz beworben] – fällt auch die direkte Vorsteuervergütung flach, zumal sich Apple auch im "normalen" Business Store (zumindest bei mir) beharrlich weigert, Netto-Rechnungen zu stellen. Einen "Business iTunes Store" gibt es erst gar nicht ... {{Information|'''Da iTunes Guthabenkarten'''<br /><br /> Da iTunes Guthabenkarten mehrwertsteuerfrei sind (wie z.B. Prepaid Handy-Guthabenkarten und vermutlich auch allen anderen derartigen Guthabenkarten, das sieht man dann spätestens auf dem Kassenzettel), ist hierüber also auch kein Vorsteuerabzug möglich. Schließlich fällt die Mehrwertsteuer/Umsatzsteuer erst bei Leistungserbringung an.}} Für den iTunes Store ist also für Unternehmer aus Deutschland offenbar folgende Vorgehensweise nötig, um wieder an die USt. zu kommen: {{Information|'''Info:''' die "Express Lane" ist neuerdings ganz unten links in der Übersicht der Supportseite zu finden und trägt den Namen "Support kontaktieren"}} # '''Eine Rechnung mit MwSt. anfordern:''' im [http://www.apple.com/de/support/itunes/account/ Apple iTunes Support] unter "Account & Abrechnung" via "Express Lane" eine Anfrage stellen (dazu den Punkt "Express Lane Support für Ihren Account" unter "Account-Sicherheit" verwenden). Dort kann man dann eine E-Mail Anfrage stellen, z.B. mit dem Thema "Rechnung mit ausgewiesener USt." ("Sonstiges Tema" auswählen): ## [https://expresslane.apple.com/ Express Lane] im Browser öffnen ## Ganz oben links den richtigen Store auswählen ## '''iTunes Store:''' Express Lane > iTunes > iTunes Store > Einkauf, Abrechnung & Rückzahlung ## '''Mac App Store:''' Express Lane > Weitere Produkte & Dienste > Mac Appp Store > Einkauf, Abrechnung & Rückzahlung ## Angaben zur Anfrage: ##*Problembeschreibung: "Mein Thema wird nicht aufgeführt" ##* Thema: "Rechnung mit ausgewiesener USt" ##* Weitere Angaben nach Bedarf, Bestellnummer ist dem iTunes Beleg zu entnehmen ## Eine Anmeldung ist empfehlenswert (scheint die Bearbeitung zu beschleunigen) ## Kontaktinformationen: ##* Apple ID eintragen ##* {{MARK}} '''Wichtig:''' nicht vergessen, im Feld "Weitere Angaben" die eigene USt.-ID anzugeben! # '''[http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Inlaendische_Unternehmer.html Umsatzsteuervergütung]''' an inländische Unternehmer in anderen EU-Mitgliedstaaten: via BZSt kann man sich dann die USt. vom luxemburgischen bzw. irischen Fiskus wieder zurückholen. #* {{MARK}} Für die Erstattung ist eine zeitliche Frist zu beachten: Der Vergütungsantrag ist '''bis zum 30. September des Folgejahres''' zu stellen. Danach ist keine Erstattung mehr möglich. #* Die Anmeldung beim BZSt (Bundeszentralamt für Steuern) erfolgt dabei über [https://www.elsteronline.de/bportal/ BZStOnline] via Elster (Login derzeit nur mit Softwarezertifikat). #* Luxemburg und Irland erfordern es (zumindest derzeit) nicht, die Rechnungen dem Antrag beizulegen. Eine aktuelle Präferenzliste der EU-Mitgliedstaaten ist [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Hilfsmittel/Praeferenzliste_EU_Mitgliedstaaten.html beim BZSt] zu bekommen. #* Für die Umsatzsteuervergütung existieren '''länderspezifische Grenzwerte''' (in nationaler Währung), diese sind ebenfalls obiger Präferenzliste zu entnehmen. Der Vergütungsbetrag muss '''mindestens € 50,-''' betragen oder einem entsprechend in Landeswährung umgerechneten Betrag entsprechen. Außerdem existieren u.U. weitere Unterschiede bzgl. des Zeitraumes der Rückvergütungen (monatlich, quartalsweise, jährlich etc.) # Der Rest hängt dann vom jeweiligen Land ab. Die Iren scheinen generell etwas länger zu brauchen als unsere westlichen Nachbarn aus Luxemburg ... Weitere Informationen zur Vorsteuervergütung sind [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Vorschriften_Merkblaetter/Vorschriften_Merkblaetter_node.html beim BZSt erhältlich]. Das bedeutet, dass man für jede Rechnung einzeln ein Exemplar mit ausgewiesener MwSt. anfordern muss. Bisher lief das aber immer recht problemlos und ich bekam innerhalb von 10-15 Minuten (tagsüber, werktags) die neuen Rechnungen per E-Mail zugestellt. Da das Finanzamt seit 2010 auch keine signierten PDFs mehr verlangt, sollten diese E-Mail Rechnungen für diesen Zweck auch vollkommen ausreichend sein. Die einzige Alternative ist, auf die Vorsteuer zu verzichten und den Bruttobetrag am Jahresende als Betriebsausgabe geltend zu machen. Da die gekauften Apps wert- und funktionsmäßig wohl in den meisten Fällen als sog. "Trivialsoftware" durchgehen dürften, sollte das also in der Regel keine größeren Probleme verursachen. Höherpreisige Apps sind dann jedoch u.U. über mehrere Jahre abzuschreiben oder als GWG abzusetzen. {{Important|'''Rechnungsempfänger in iTunes Rechnungen'''<br /><br /> Bei Artikeln mit einem Wert von mehr als € 150,- ist jedoch zu beachten, dass als Rechnungsempfänger der Inhaber des jeweiligen iTunes-Kontos aufgeführt wird. Das bedeutet, dass bei teureren Artikeln wie beispielsweise FinalCut X u.U. Probleme mit dem Finanzamt zu erwarten sind, falls die Rechnung einen abweichenden Rechnungsempfänger ausweist. Für Unternehmen, in denen mehrere Personen Zugriff auf den iTunes Store haben, ist es also dringend anzuraten, für alle Einkäufe ein eigenes iTunes-Konto samt AppleID anzulegen, um anschließend Rechnungen mit korrektem Rechnungsempfänger zu erhalten.}} ==Developer Program Rechnungen== Wie die Belege des Mac App Store kommen auch die Rechnungen des '''iOS/Mac Developer Program aus Irland''' und werden demzufolge nach irischem Recht versteuert (derzeit 21% VAT) – wie übrigens auch alles, was an nicht-materiellem (Software etc.) über den herkömmlichen Online Store verkauft wird. Hardware-Rechnungen kommen zwar auch aus Irland, weisen aber (zumindest war es bei [[User:Hagbard|mir]] bisher immer so) explizit die deutsche MwSt. aus. Wenn bei der Beantragung eines Developer Program (genauer beim "Einkauf" desselbigen) die USt.-ID angegeben wurde, sollte die Rechnung nun direkt die irische Mehrwertsteuer ausweisen. Diese kann auf oben beschriebenem Weg über das BZSt zurückgeholt werden. Andernfalls ist eine [http://developer.apple.com/contact/ Anfrage beim Apple Developer Support] nowendig, um eine neue Rechnung mit ausgewiesener Mehrwertsteuer (VAT) zu erhalten. Einigen iOS Entwicklern ist es wohl auch schon gelungen, über eine telefonische Anfrage beim Developer Support eine Rückerstattung der MwSt. zu erwirken. Ob das aber immer und reibungslos funktioniert, sei einmal dahingestellt. ==Links== * Apple: ** [http://www.apple.com/de/support/itunes/account/ iTunes Support - Account & Abrechnung] ** [https://expresslane.apple.com/GetproductgroupList.do?&PRKEYS=131629&category_id=SC0002&symptom_id=20182 Express Lane Support für Ihren Account] ** [http://developer.apple.com/contact/ Apple Developer Support] * Bundeszentralamt für Steuern (BZSt): ** [https://www.elsteronline.de/bportal/ BZStOnline] (www.elsteronline.de/bportal/) ** [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Inlaendische_Unternehmer.html Umsatzsteuervergütung an inländische Unternehmer in anderen EU-Mitgliedstaaten] ** [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Hilfsmittel/Praeferenzliste_EU_Mitgliedstaaten.html Präferenzen der EU-Mitgliedstaaten] (PDF) ** [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Vorschriften_Merkblaetter/vorStVergVerfahren_ab20100101.pdf Vorsteuer-Vergütungsverfahren ab 01.01.2010] (PDF) ** [http://www.bzst.de/DE/Steuern_International/USt_im_In_und_Ausland/Merkblatt_USt_Inland_Ausland.pdf Merkblatt Umsatzsteuer im In- und Ausland] (PDF) ** [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Vorschriften_Merkblaetter/Merkblatt_USt_EU.pdf Merkblatt EU-Umsatzsteuersätze] (PDF) 1dfc229cbf91ff2bcb2221e5d883a42e3c1d86cb ITunes Ping-Buttons ausblenden 0 87 314 313 2023-03-08T09:34:51Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Hint]] In iTunes wurde mit Version 10 bekanntermaßen die später wieder eingestellte Social-Networking-Plattform "[[wikipedia:de:ITunes#Ping|Ping]]" eingeführt, die auch in der Wiedergabeliste ihre Spuren hinterlässt. Diese [[Image:ITunes_10_Ping_Button.png]] Buttons lassen sich seit iTunes 10.1 recht einfach in den iTunes-Einstellungen deaktivieren, in iTunes 10.0.x muss dies jedoch über eine {{Terminal}}-Anweisung erfolgen: defaults write com.apple.iTunes hide-ping-dropdown -bool TRUE Anschließend musss iTunes neu gestartet werden, damit diese Änderung wirksam wird. Sie lässt sich mit folgendem Kommando auch wieder rückgängig machen: defaults delete com.apple.iTunes hide-ping-dropdown Unter Windows sieht das Kommando übrigens so aus (der Pfad ist ggf. anzupassen): "C:\Program Files\iTunes\iTunes.exe" /setPrefInt hide-ping-dropdown 1 48bbed67276d069ce146d388bf8b3bac7a7bbee6 346 314 2023-03-08T09:47:21Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Translate]] In iTunes wurde mit Version 10 bekanntermaßen die später wieder eingestellte Social-Networking-Plattform "[[wikipedia:de:ITunes#Ping|Ping]]" eingeführt, die auch in der Wiedergabeliste ihre Spuren hinterlässt. Diese [[Image:ITunes_10_Ping_Button.png]] Buttons lassen sich seit iTunes 10.1 recht einfach in den iTunes-Einstellungen deaktivieren, in iTunes 10.0.x muss dies jedoch über eine {{Terminal}}-Anweisung erfolgen: defaults write com.apple.iTunes hide-ping-dropdown -bool TRUE Anschließend musss iTunes neu gestartet werden, damit diese Änderung wirksam wird. Sie lässt sich mit folgendem Kommando auch wieder rückgängig machen: defaults delete com.apple.iTunes hide-ping-dropdown Unter Windows sieht das Kommando übrigens so aus (der Pfad ist ggf. anzupassen): "C:\Program Files\iTunes\iTunes.exe" /setPrefInt hide-ping-dropdown 1 f966466c673c5b6700375614dd0caf21d17aec50 353 346 2023-03-08T09:48:49Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Translate]][[Category:Museum]] In iTunes wurde mit Version 10 bekanntermaßen die später wieder eingestellte Social-Networking-Plattform "[[wikipedia:de:ITunes#Ping|Ping]]" eingeführt, die auch in der Wiedergabeliste ihre Spuren hinterlässt. Diese [[Image:ITunes_10_Ping_Button.png]] Buttons lassen sich seit iTunes 10.1 recht einfach in den iTunes-Einstellungen deaktivieren, in iTunes 10.0.x muss dies jedoch über eine {{Terminal}}-Anweisung erfolgen: defaults write com.apple.iTunes hide-ping-dropdown -bool TRUE Anschließend musss iTunes neu gestartet werden, damit diese Änderung wirksam wird. Sie lässt sich mit folgendem Kommando auch wieder rückgängig machen: defaults delete com.apple.iTunes hide-ping-dropdown Unter Windows sieht das Kommando übrigens so aus (der Pfad ist ggf. anzupassen): "C:\Program Files\iTunes\iTunes.exe" /setPrefInt hide-ping-dropdown 1 32d93848ae4f425acb1ae33001a4c73ff0063b20 Icon-Dateien von Mac OS X 0 88 316 315 2023-03-08T09:34:52Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:OS]]Dieser Artikel dient als Sammelstelle für die Pfade und Ordnernamen, an denen Systemicons sowie die Icon-Dateien der in Mac OS X enthaltenen Applikationen und Hilfsprogramme zu finden sind. Dadurch ist es theoretisch möglich, diese zu ersetzen (ändern) oder auch für andere Dateien und Verzeichnisse zu verwenden (z.B. für via OSXFuse gemountete Dateisysteme). ==Dienstprogramme== Viele Hilfs- und Dienstprogramme (wie z.B. das Dock, Exposé oder der Finder) sind im Verzeichnis {{TT|/System/Library/CoreServices}} zu finden, andere im Verzeichnis {{TT|/Applications/Utilities/}} (dt.: {{TT|/Applications/Dienstpogramme/}}). * '''Dashboard, Dock:'''<br />{{TT|/System/Library/CoreServices/Dock.app/Contents/Resources/}} ==Dateien, Ordner und Laufwerke== * '''Festplatten und Images:'''<br />{{TT|/System/Library/Extensions/IOStorageFamily.kext/Contents/Resources/}} * '''Software RAID''':<br />{{TT|/System/Library/Extensions/SoftRAID.kext/Contents/Resources/}} * '''BDs''':<br />{{TT|/System/Library/Extensions/IOBDStorageFamily.kext/Contents/Resources/}} * '''DVDs''':<br />{{TT|/System/Library/Extensions/IODVDStorageFamily.kext/Contents/Resources/}} * '''CDs''':<br />{{TT|/System/Library/Extensions/IOCDStorageFamily.kext/Contents/Resources/}} ==Dateitypen== 17f5fa060e0695e0582372446dea11d5b2651303 347 316 2023-03-08T09:47:24Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]]Dieser Artikel dient als Sammelstelle für die Pfade und Ordnernamen, an denen Systemicons sowie die Icon-Dateien der in Mac OS X enthaltenen Applikationen und Hilfsprogramme zu finden sind. Dadurch ist es theoretisch möglich, diese zu ersetzen (ändern) oder auch für andere Dateien und Verzeichnisse zu verwenden (z.B. für via OSXFuse gemountete Dateisysteme). ==Dienstprogramme== Viele Hilfs- und Dienstprogramme (wie z.B. das Dock, Exposé oder der Finder) sind im Verzeichnis {{TT|/System/Library/CoreServices}} zu finden, andere im Verzeichnis {{TT|/Applications/Utilities/}} (dt.: {{TT|/Applications/Dienstpogramme/}}). * '''Dashboard, Dock:'''<br />{{TT|/System/Library/CoreServices/Dock.app/Contents/Resources/}} ==Dateien, Ordner und Laufwerke== * '''Festplatten und Images:'''<br />{{TT|/System/Library/Extensions/IOStorageFamily.kext/Contents/Resources/}} * '''Software RAID''':<br />{{TT|/System/Library/Extensions/SoftRAID.kext/Contents/Resources/}} * '''BDs''':<br />{{TT|/System/Library/Extensions/IOBDStorageFamily.kext/Contents/Resources/}} * '''DVDs''':<br />{{TT|/System/Library/Extensions/IODVDStorageFamily.kext/Contents/Resources/}} * '''CDs''':<br />{{TT|/System/Library/Extensions/IOCDStorageFamily.kext/Contents/Resources/}} ==Dateitypen== 5c8960b4fc6ea477786c645f11eb39801f4c0873 Informationen über ein Disk Image auslesen 0 89 318 317 2023-03-08T09:34:53Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Hint]][[Category:Development]] Um diverse Informationen eines Disk Image auszulesen, kann folgendes Stückchen Quellcode verwendet werden. Dies ruft in einem NSTask das Kommandozeilendienstprogramm "[[Hdiutil|{{TT|hdiutil}}]]" auf, um an diese Informationen zu gelangen: <source lang="objc"> NSArray *args = [NSArray arrayWithObjects:@"imageinfo", @"-plist", @"/path/to/disk/image.dmg", nil]; NSTask *task = [[NSTask alloc] init]; [task setLaunchPath:@"/usr/bin/hdiutil"]; [task setArguments:args]; NSPipe *pipe = [NSPipe pipe]; [task setStandardOutput:pipe]; [task launch]; NSData *data = [[pipe fileHandleForReading] readDataToEndOfFile]; [task waitUntilExit]; //int result = [task terminationStatus]; // falls benoetigt einkommentieren [task release]; NSString *errorStr = nil; NSDictionary *imageinfo = (NSDictionary *)[NSPropertyListSerialization propertyListFromData:data mutabilityOption:NSPropertyListImmutable format:NULL errorDescription:&errorStr]; </source> e293b711d6b6d86ded0579569a2637cbe21d4700 348 318 2023-03-08T09:47:27Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Development]][[Category:Translate]] Um diverse Informationen eines Disk Image auszulesen, kann folgendes Stückchen Quellcode verwendet werden. Dies ruft in einem NSTask das Kommandozeilendienstprogramm "[[Hdiutil|{{TT|hdiutil}}]]" auf, um an diese Informationen zu gelangen: <source lang="objc"> NSArray *args = [NSArray arrayWithObjects:@"imageinfo", @"-plist", @"/path/to/disk/image.dmg", nil]; NSTask *task = [[NSTask alloc] init]; [task setLaunchPath:@"/usr/bin/hdiutil"]; [task setArguments:args]; NSPipe *pipe = [NSPipe pipe]; [task setStandardOutput:pipe]; [task launch]; NSData *data = [[pipe fileHandleForReading] readDataToEndOfFile]; [task waitUntilExit]; //int result = [task terminationStatus]; // falls benoetigt einkommentieren [task release]; NSString *errorStr = nil; NSDictionary *imageinfo = (NSDictionary *)[NSPropertyListSerialization propertyListFromData:data mutabilityOption:NSPropertyListImmutable format:NULL errorDescription:&errorStr]; </source> b52f0ac1632a6d164dd6ebb721cd5a27e13b7133 JavaScript Quickies für Einsteiger 0 90 320 319 2023-03-08T09:34:54Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Development]] In diesem Artikel sollen (sowohl für den Einstieg dieser Sprache als auch zum Nachschlagen) die wichtigsten Eigenheiten von JavaScript, Unterschiede zu anderen Programmiersprachen sowie wichtige Funktionen und Operatoren gesammelt werden. Weitere Links und Infos zu JavaScript sind im Artikel [[Webentwicklungs-Ressourcen]] zu finden. ==Datentypen und ihre Wertebereiche== Da die Typisierung in JavaScript (wie auch in PHP) nicht besonders streng (genau genommen: nicht existent) ist, kann damit eigentlich recht lasch umgegangen werden - eine Unterscheidung in float, int usw. wie in anderen Programmiersprachen existiert praktisch nicht Es gibt jedoch einige weitere Datentypen, die in der folgenden Übersicht aufgelistet werden: ===Übersicht der Datentypen=== {| |-- bgcolor="#e2e2e2" ! width="120px" | Datentyp || Beschreibung |-- | {{TT|number}} || Zahlenwerte, es existiert bei der Deklaration/Initialisierung keine explizite Unterscheidung in int, float etc. |-- | {{TT|boolean}} || Wahrheitswert, entweder "true" oder "false" |-- | {{TT|null}} || Nullwert, enthält den wert "null" (sonst nix, eigentlich kein "[[wikipedia:de:Datentyp|Datentyp]]" im eigentlichen Sinne, da jer ja keinen Wert oder Wertebereich hat) |-- | {{TT|object}} || Enthält die einem Objekt untergeordnete Menge an Attributen (Eigenschaften) |} Die Typumwandlung (Typecasting) erfolgt mit Hilfe verschiedener, [[#Objektunabhängige_Funktionen|objektunabhängiger Funktionen]]. Weitere Informationen über die verschiedenen, gebräuchlichen Datentypen gibts [[wikipedia:de:Datentyp|in der Wikipedia]], ===Besondere Datentypen=== In JavaScript gibt es noch 2 weitere, besonders erwähnenswerte Datentypen: {| |-- bgcolor="#e2e2e2" ! width="120px" | Datentyp || Beschreibung |-- | {{TT|NaN}} || "Not a Number", d.h. es handelt sich um keinen gültgen Wert des jeweiligen Wertebereiches. Das passiert beispielsweise, falls Operationen solche Ergebnisse liefern (Beispiel: Rückgabewert einer Qudrawurzelfunktion ist ein Integer). Kann mit der Funktion {{TT|[[#Objektunabhängige_Funktionen|IsNaN()]]}} abgefragt werden |-- | {{TT|Infinity}} || Beschreibt eine Überschreitung des Wertebereiches (Pufferüberlauf) bei numerischen Operationen |-- | {{TT|undefined}} || wird für nicht initialisierte Variablen und nicht existierende Objekteigenschafte (Attribute) zurückgegeben |} ==Operatoren== ===Rechenoperatoren=== {| |-- bgcolor="#e2e2e2" ! width="120px" | Operator || width="120px" | Datentyp || Beschreibung |-- |<nowiki>+</nowiki> || Zahlen || Addition |-- |<nowiki>–</nowiki> || Zahlen || Subtraktion |-- |<nowiki>*</nowiki> || Zahlen || Multiplikation |-- |<nowiki>/</nowiki> || Zahlen || Division |-- |<nowiki>%</nowiki> || Zahlen ||Modulo (Restangabe) |} ===Inkrement und Dekrement=== {| |-- bgcolor="#e2e2e2" ! width="120px" | Operator || width="120px" | Datentyp || Beschreibung |-- |<nowiki>++</nowiki> || Zahl / Variable || Inkrement |-- |<nowiki>––</nowiki> || Zahl / Variable || Dekrement |} ===Zuweisungsoperatoren=== {| |-- bgcolor="#e2e2e2" ! width="120px" | Operator || Beschreibung |-- |<nowiki>+=</nowiki> || Addition eines Wertes zu einer Variablen |-- |<nowiki>–=</nowiki> || Subtraktion eines Wertes von einer Variablen |-- |<nowiki>*=</nowiki> || Multiplikation einer Variable mit einem Wert |-- |<nowiki>/=</nowiki> || Division einer Variablen durch einen Wert |-- |<nowiki>%=</nowiki> || Restwert der Division einer Variablen durch einen Wert |} ===Weitere wichtige Operatoren=== {| |-- bgcolor="#e2e2e2" ! width="120px" | Operator || Beschreibung |-- | {{TT|<nowiki>.</nowiki>}} || Punktoperator für den Zugriff auf Objekteigenschaften (z.B. meinObjekt.Eigenschaft1) und Collections (z.B. document.meinFormular.eingabeFeld.value) |-- | {{TT|<nowiki> + </nowiki>}} || Operator zur Verkettung (Verknüpfung) von Zeichenketten |-- | {{TT|typeof}} || Ermittlung des Datentyps, z.B.: {{TT|alert(typeof MeineVariable);}} |-- | {{TT|void}} || Wird verwendet wenn verhindert werden soll, dass ein Rückgabewert erzeugt wird.<br />Beispiel: {{TT|void meinInteger++;}} |-- | {{TT|delete}} || dient dem Löschen von Objekten, z.B.: {{TT|delete meinObjekt;}} |} Weitere Operatoren und detailliertere Beschreibungen sind [http://de.selfhtml.org/javascript/sprache/operatoren.htm hier zu finden]. ==Wichtige Funktionen== ===Objektunabhängige Funktionen=== {| |-- bgcolor="#e2e2e2" ! width="120px" | Funktionsname || Beschreibung |-- | {{TT|eval()}} || Übergabewert wird als JavaScript-Code interpretiert und ausgeführt |-- | {{TT|parseInt()}} || Umwandlung (Typecasting) in eine Ganzzahl ([[wikipedia:de:Integer_(Datentyp)|integer]]) |-- | {{TT|parseFloat()}} || Umwandlung (Typecasting) in eine Gleitkommazahl ([[wikipedia:de:Gleitkommazahl|float]]) |-- | {{TT|isNaN()}} || Überprüft den Variableninhalt daraufhin, ob er nicht-numerisch ist. |-- | {{TT|isFinite()}} || Überprüft einen Wert auf Endlichkeit bzw. Gültigkeit (z.B. bei Pufferüberläufen oder einer Division durch 0), steht seit Javascript 1.3 zur Verfügung |-- | {{TT|Number()}} || Überprüft den Variableninhalt auf einen numerischen Wert |-- | {{TT| String()}} || Wandelt den Wert in einen String (alphanumerische Zeichenkette) um |-- | {{TT|escape()}} || Umwandlung von ASCII-Zeichen in Zahlenwerte |-- | {{TT|unescape()}} || Mit escape() kodierte Zahlenwerte in ASCII-Werte umwandeln |-- | {{TT|encodeURI()}} || [[wikipedia:de:Uniform_Resource_Identifier|URI]] für die Weiterverarbeitung kodieren (Sonderzeichen werden umgewandelt). Alle außer den folgenden Zeichen werden umgewandelt: {{TT|0 - 9}}, {{TT|A - Z}}, {{TT|a bis z}} sowie {{TT|<nowiki>- _ . ! ~ * ' ( ) / ? : @ & = + $</nowiki>}} |-- | {{TT|encodeURIComponent()}} || vergleichbar mit {{TT|encodeURI}}, es werden jedoch auch die folgenden Zeichen umgewandelt: {{TT|<nowiki>, / ? : @ & = + $</nowiki>}} |-- | {{TT|decodeURI()}} || decodiert einen mittels {{TT|encodeURI}} erzeugten URI |-- | {{TT|decodeURIComponent()}} || decodiert einen mittels {{TT|encodeURIComponent}} erzeugten URI und sollte auch nur auf diese URIs angewendet werden. |} Eine detailliertere Beschreibung dieser Funktionen mitsamt Beispielen ist [http://de.selfhtml.org/javascript/objekte/unabhaengig.htm hier zu finden]. ==Weitere Informationen== ... sind im Artikel [[Webentwicklungs-Ressourcen#JavaScript_/_ECMAScript|Webentwicklungs-Ressourcen]] zu finden. 4347a848ce754d60d8b7cf8c9a36eb5e7daa620f 349 320 2023-03-08T09:47:30Z Hagbard 2 wikitext text/x-wiki [[Category:Development]][[Category:Translate]] In diesem Artikel sollen (sowohl für den Einstieg dieser Sprache als auch zum Nachschlagen) die wichtigsten Eigenheiten von JavaScript, Unterschiede zu anderen Programmiersprachen sowie wichtige Funktionen und Operatoren gesammelt werden. Weitere Links und Infos zu JavaScript sind im Artikel [[Webentwicklungs-Ressourcen]] zu finden. ==Datentypen und ihre Wertebereiche== Da die Typisierung in JavaScript (wie auch in PHP) nicht besonders streng (genau genommen: nicht existent) ist, kann damit eigentlich recht lasch umgegangen werden - eine Unterscheidung in float, int usw. wie in anderen Programmiersprachen existiert praktisch nicht Es gibt jedoch einige weitere Datentypen, die in der folgenden Übersicht aufgelistet werden: ===Übersicht der Datentypen=== {| |-- bgcolor="#e2e2e2" ! width="120px" | Datentyp || Beschreibung |-- | {{TT|number}} || Zahlenwerte, es existiert bei der Deklaration/Initialisierung keine explizite Unterscheidung in int, float etc. |-- | {{TT|boolean}} || Wahrheitswert, entweder "true" oder "false" |-- | {{TT|null}} || Nullwert, enthält den wert "null" (sonst nix, eigentlich kein "[[wikipedia:de:Datentyp|Datentyp]]" im eigentlichen Sinne, da jer ja keinen Wert oder Wertebereich hat) |-- | {{TT|object}} || Enthält die einem Objekt untergeordnete Menge an Attributen (Eigenschaften) |} Die Typumwandlung (Typecasting) erfolgt mit Hilfe verschiedener, [[#Objektunabhängige_Funktionen|objektunabhängiger Funktionen]]. Weitere Informationen über die verschiedenen, gebräuchlichen Datentypen gibts [[wikipedia:de:Datentyp|in der Wikipedia]], ===Besondere Datentypen=== In JavaScript gibt es noch 2 weitere, besonders erwähnenswerte Datentypen: {| |-- bgcolor="#e2e2e2" ! width="120px" | Datentyp || Beschreibung |-- | {{TT|NaN}} || "Not a Number", d.h. es handelt sich um keinen gültgen Wert des jeweiligen Wertebereiches. Das passiert beispielsweise, falls Operationen solche Ergebnisse liefern (Beispiel: Rückgabewert einer Qudrawurzelfunktion ist ein Integer). Kann mit der Funktion {{TT|[[#Objektunabhängige_Funktionen|IsNaN()]]}} abgefragt werden |-- | {{TT|Infinity}} || Beschreibt eine Überschreitung des Wertebereiches (Pufferüberlauf) bei numerischen Operationen |-- | {{TT|undefined}} || wird für nicht initialisierte Variablen und nicht existierende Objekteigenschafte (Attribute) zurückgegeben |} ==Operatoren== ===Rechenoperatoren=== {| |-- bgcolor="#e2e2e2" ! width="120px" | Operator || width="120px" | Datentyp || Beschreibung |-- |<nowiki>+</nowiki> || Zahlen || Addition |-- |<nowiki>–</nowiki> || Zahlen || Subtraktion |-- |<nowiki>*</nowiki> || Zahlen || Multiplikation |-- |<nowiki>/</nowiki> || Zahlen || Division |-- |<nowiki>%</nowiki> || Zahlen ||Modulo (Restangabe) |} ===Inkrement und Dekrement=== {| |-- bgcolor="#e2e2e2" ! width="120px" | Operator || width="120px" | Datentyp || Beschreibung |-- |<nowiki>++</nowiki> || Zahl / Variable || Inkrement |-- |<nowiki>––</nowiki> || Zahl / Variable || Dekrement |} ===Zuweisungsoperatoren=== {| |-- bgcolor="#e2e2e2" ! width="120px" | Operator || Beschreibung |-- |<nowiki>+=</nowiki> || Addition eines Wertes zu einer Variablen |-- |<nowiki>–=</nowiki> || Subtraktion eines Wertes von einer Variablen |-- |<nowiki>*=</nowiki> || Multiplikation einer Variable mit einem Wert |-- |<nowiki>/=</nowiki> || Division einer Variablen durch einen Wert |-- |<nowiki>%=</nowiki> || Restwert der Division einer Variablen durch einen Wert |} ===Weitere wichtige Operatoren=== {| |-- bgcolor="#e2e2e2" ! width="120px" | Operator || Beschreibung |-- | {{TT|<nowiki>.</nowiki>}} || Punktoperator für den Zugriff auf Objekteigenschaften (z.B. meinObjekt.Eigenschaft1) und Collections (z.B. document.meinFormular.eingabeFeld.value) |-- | {{TT|<nowiki> + </nowiki>}} || Operator zur Verkettung (Verknüpfung) von Zeichenketten |-- | {{TT|typeof}} || Ermittlung des Datentyps, z.B.: {{TT|alert(typeof MeineVariable);}} |-- | {{TT|void}} || Wird verwendet wenn verhindert werden soll, dass ein Rückgabewert erzeugt wird.<br />Beispiel: {{TT|void meinInteger++;}} |-- | {{TT|delete}} || dient dem Löschen von Objekten, z.B.: {{TT|delete meinObjekt;}} |} Weitere Operatoren und detailliertere Beschreibungen sind [http://de.selfhtml.org/javascript/sprache/operatoren.htm hier zu finden]. ==Wichtige Funktionen== ===Objektunabhängige Funktionen=== {| |-- bgcolor="#e2e2e2" ! width="120px" | Funktionsname || Beschreibung |-- | {{TT|eval()}} || Übergabewert wird als JavaScript-Code interpretiert und ausgeführt |-- | {{TT|parseInt()}} || Umwandlung (Typecasting) in eine Ganzzahl ([[wikipedia:de:Integer_(Datentyp)|integer]]) |-- | {{TT|parseFloat()}} || Umwandlung (Typecasting) in eine Gleitkommazahl ([[wikipedia:de:Gleitkommazahl|float]]) |-- | {{TT|isNaN()}} || Überprüft den Variableninhalt daraufhin, ob er nicht-numerisch ist. |-- | {{TT|isFinite()}} || Überprüft einen Wert auf Endlichkeit bzw. Gültigkeit (z.B. bei Pufferüberläufen oder einer Division durch 0), steht seit Javascript 1.3 zur Verfügung |-- | {{TT|Number()}} || Überprüft den Variableninhalt auf einen numerischen Wert |-- | {{TT| String()}} || Wandelt den Wert in einen String (alphanumerische Zeichenkette) um |-- | {{TT|escape()}} || Umwandlung von ASCII-Zeichen in Zahlenwerte |-- | {{TT|unescape()}} || Mit escape() kodierte Zahlenwerte in ASCII-Werte umwandeln |-- | {{TT|encodeURI()}} || [[wikipedia:de:Uniform_Resource_Identifier|URI]] für die Weiterverarbeitung kodieren (Sonderzeichen werden umgewandelt). Alle außer den folgenden Zeichen werden umgewandelt: {{TT|0 - 9}}, {{TT|A - Z}}, {{TT|a bis z}} sowie {{TT|<nowiki>- _ . ! ~ * ' ( ) / ? : @ & = + $</nowiki>}} |-- | {{TT|encodeURIComponent()}} || vergleichbar mit {{TT|encodeURI}}, es werden jedoch auch die folgenden Zeichen umgewandelt: {{TT|<nowiki>, / ? : @ & = + $</nowiki>}} |-- | {{TT|decodeURI()}} || decodiert einen mittels {{TT|encodeURI}} erzeugten URI |-- | {{TT|decodeURIComponent()}} || decodiert einen mittels {{TT|encodeURIComponent}} erzeugten URI und sollte auch nur auf diese URIs angewendet werden. |} Eine detailliertere Beschreibung dieser Funktionen mitsamt Beispielen ist [http://de.selfhtml.org/javascript/objekte/unabhaengig.htm hier zu finden]. ==Weitere Informationen== ... sind im Artikel [[Webentwicklungs-Ressourcen#JavaScript_/_ECMAScript|Webentwicklungs-Ressourcen]] zu finden. eebe6ec38c9e4ef16023e35889464f1bd6aeff42 Template:ContentboxWithIconAndTitle 10 91 322 321 2023-03-08T09:34:56Z Hagbard 2 1 revision imported wikitext text/x-wiki <noinclude>Vorlage für eine Inhaltsbox mit Titel und Titelicon. '''Hinweis:''' Das Symbol wird immer auf 32 Pixel Breite herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIconText"> <td id="topleftIcon">&nbsp;</td> <td id="topIconText">[[Image:{{{icon}}}|32px]]</td> <td id="topIconTitleText">{{{title}}}</td> <td id="topIconText"></td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td colspan="3" id="content"> {{{content}}} </td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td colspan="3" id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> d16caa003bd1a92ca7b6a87f20a268f0dd5ef26b Template:Hint 10 92 324 323 2023-03-08T09:34:57Z Hagbard 2 1 revision imported wikitext text/x-wiki <noinclude>Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für hilfreiche Tipps & Tricks zu einem gerade behandelten Thema. ;Beispiel: <nowiki>{{Hint|Text}}</nowiki> ;Ausgabe: {{Hint|Text}} </noinclude><includeonly> {{InfoboxWithIconAndTitle|title=Tipp|icon=Light bulb icon tips.svg|width=100%|content={{{1}}}}}</includeonly> 304de9b4a3cc803efae581960d232758a029b6de Template:InfoboxWithIconAndTitle 10 93 326 325 2023-03-08T09:34:57Z Hagbard 2 1 revision imported wikitext text/x-wiki <noinclude>Diese Vorlage dient der Erzeugung verschiedener Artikelbausteine, wie z.B. zur Kennzeichnung * ausbaufähiger Artikel * unvollständiger Artikel * unverständlicher Artikel * Löschkandidaten usw. Die Vorlage sollte '''nicht direkt verwendet werden''' sondern nur innerhalb der obigen Artikelbausteine zum Einsatz kommen. Für die Verwendung der Vorlage ohne Icon ist die Vorlage [[Vorlage:Infobox|Infobox]] zu verwenden. </noinclude><includeonly>{{ContentboxWithIconAndTitle|title={{{title}}}|icon={{{icon}}}|width={{{width}}}|content= {{{content}}}}}</includeonly> 74fbe7b7986226416727181a96b9af5fbd276c74 Template:Contentbox 10 94 328 327 2023-03-08T09:34:58Z Hagbard 2 1 revision imported wikitext text/x-wiki <noinclude>Vorlage für eine Inhaltsbox ohne Titel</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="top"> <td id="topleft">&nbsp;</td> <td id="top"></td> <td id="topright"></td> </tr> <tr id="content> <td id="left"></td> <td id="content"> {{{content}}} </td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> e6b723adfd944499b93175239501beea67b8fd55 Template:MARK 10 95 330 329 2023-03-08T09:34:58Z Hagbard 2 1 revision imported wikitext text/x-wiki <noinclude> ;Verwendung: <nowiki>{{MARK}}</nowiki> ;Vorschau: {{MARK}} </noinclude><includeonly>[[Image:Gefahrenzeichen_16.svg|16px]]</includeonly> f85d67946eafd2c9adc6f5be5ebff7cf9b75bf18 Ethernet 0 69 331 278 2023-03-08T09:37:01Z Hagbard 2 wikitext text/x-wiki [[Category:Networking]][[Category:Translate]] ==Ethernet== Ethernet stellt eine verbindungslose Kommunikation dar, da zwischen zwei Kommunikationspartnern keine dedizierte Verbindung aufgebaut wird sondern die Pakete (mindestens 1500 Byte groß) mit Adressinformationen versehen über einen Bus geschickt werden (wurde von Xerox entwickelt). Ethernet verwendet dabei das CSMA/CD (Carrier Sense Multiple Access/Collision Detection) Verfahren, um bestimmte Zugriffsverfahren auf diesen Bus zu vereinbaren. Es bedeutet, dass nur einer gleichzeitig auf den Bus zugreifen kann. Wenn dies mehrere Teilnehmer gleichzeitig versuchen (Collision), warten diese eine unterschiedliche Zeit lang aufeinander und versuchen es dann erneut (Collision Detection). Dieser Zeitraum wird nach jeder Collision länger. Eine Collision Rate von 10% ist dabei grenzwertig und bedeutet eine Vollauslastung des Netzwerks. '''Vorteile:''' * Statisches Zugriffsverfahren * Einfache Handhabung (Verkabelung, Technik – 50&#937; Koax-Kabel) * bei 50&#937; Koax-Kabel: maximal 150m Leitungslänge * bei 75&#937; Koax-Kabel: maximal 500m Leitungslänge '''Nachteile:''' * keine Kollisionsvorbeugung, nur Kollisionserkennung (CSMACD) * dadurch relativ undeterministisches Verhalten * nur sehr kurze Strecken können ohne Repeater / Verstärker überbrückt werden ===Verschiedene Formen des Ethernet=== * Thin (Wire) Ethernet - 10Base2 (Bus, Koaxialkabel) * Thick Ethernet - 10Base5 (Bus, Koaxialkabel) * 10BaseT (Stern, TP/LWL) * Fast-Ethernet - 100Base* (Stern, TP) * Gigabit-Ethernet - 1000Base* (Stern, TP/LWL) * 10 Gigabit-Ethernet - 1000Base* (Stern, TP/LWL) ''Mehr dazu im Ethernet-Artikel der [http://de.wikipedia.org/wiki/Ethernet Wikipedia]'' ===100BaseVG=== Der Standard [[wikipedia:100BaseVG|100BaseVG]] ([[wikipedia:de:IEEE_802.12|IEEE 802.12]], VG steht für "Voice Grade") wurde (in erster Linie von Hewlett-Packard) als zukünftiger Nachfolger des Ethernet entwickelt, um über Kategorie 3 Kabel sowohl Token Ring als auch Ethernet Teilnehmer zu verbinden. Diese Netzwerkkarten können nicht direkt an einen handelsüblichen 100BaseT [[#Ethernet_Repeating|Hub]] oder [[#Ethernet_Switching|Switch]] angeschlossen werden, da hier keine [[#Kollisionserkennung|Kollisionserkennung]] mittels [[wikipedia:de:CSMA/CD|CSMA/CD]] zum Einsatz kommt sondern ein Zugriffsverfahren namens "demand priority polling" - in erster Linie, um ein deterministischeres Verfahren für den Netzwerkzugriff zu verwenden und damit andauernde Kollisionen zu verhindern. Ein solcher Adapter ist beispielsweise der [http://h41111.www4.hp.com/procurve/includes/faqs/index.php?cc=de&lc=de&content=lan_adapters#question3 J2585A von Hewlett Packard], der 2 RJ45-Buchsen besitzt: eine für 10BaseT und eine für 100BaseVG. ==Ethernet-Paketheader== Ein Ethernet-Paket besteht aus 7 möglichen Feldern und sieht in etwa so aus: [[Image:EthernetPacketHeader.png|thumb|center|667px|Schematischer Aufbau eines Ethernet-Paketheaders (802.3 mit 802.1q Tag)]] Die einzelnen Felder beinhalten dabei die folgenden Informationen: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="120px" | Feld || width="500px" | Beschreibung |---- bgcolor="#FFFFFF" | Präambel: || sie dient der Synchronisierung von Netzwerkteilnehmern und besteht aus einer alternierenden Bitfolge aus 1 und 0 |---- bgcolor="#FFFFFF" | SFD: || -?- |---- bgcolor="#FFFFFF" | MAC-Adressen: || Die MAC-Adressen (Quelle/Sender und Ziel/Empfänger) stellen eine eindeutige Kennzeichnung für die Teilnehmer eines Ethernet dar und werden durch den Hersteller fest vorgegeben (die ersten 3 Byte beschreiben den Hersteller, z.B.: <font face="courier">00:0d:93</font> für Apple Computer). Sie sind 6 Byte lang und werden üblicherweise in hexadezimaler Schreibweise dargestellt.<br />Die Zieladresse kann dabei auch eine Multicast- oder Broadcast-Adresse sein <br /><small>''(mehr dazu im [http://de.wikipedia.org/wiki/MAC-Adresse Wikipedia-Artikel]])''</small> |---- bgcolor="#FFFFFF" | VLAN-Tag: || ... |---- bgcolor="#FFFFFF" | Typ: || hier steht eine ID, die das in der darüberliegenden Schicht verwendete Protokoll kennzeichnet, z.B.:<br />&bull;<font face="courier">0x0800</font> für IPv4<br />&bull;<font face="courier">0x86dd</font> für IPv6<br />&bull;<font face="courier">0x809b</font> für Appletalk<br /> |---- bgcolor="#FFFFFF" | Daten: || Der Umfang der Nutzdaten liegt zwischen 0 und 1500 Byte. Falls die Datenmenge kleiner als 46 Byte ist, muss ein 46 Byte langes PAD-Feld angehängt werden um die Korrektheit des Pakets zu gewährleisten, da ein Ethernet-Frame eine Mindestgröße von 64 Byte haben muss |---- bgcolor="#FFFFFF" | Pad-Füllfeld: || 0 bis 46 Byte lang, wird ggf. angehängt, falls das Datenfeld weniger als 46 Byte Nutzdaten enthält |---- bgcolor="#FFFFFF" | CRC Prüfsumme: || enthält eine 32 Bit CRC-Prüfsumme ([http://de.wikipedia.org/wiki/Cyclic_Redundancy_Check Cyclic Redundancy Check]) über die gesamte Bitfolge des Pakets (außer dem Prüfsummenfeld selber, logisch). Wenn die Überprüfung fehlschlägt, wird das Paket vom Empfänger verworfen |} ==Ethernet Repeating== Durch die begrenzten Kabellängen bei Ethernet ist es zur Überbrückung größerer Distanzen notwendig, das Signal zu verstärken. Dies geschieht auf dem [[ISO-OSI_Schichtenmodell#Physical_Layer|Physical Layer]] des ISO-OSI Schichtenmodells (daher auch als Layer 1 Switching bezeichnet) mit Repeatern oder sog. ''Hubs''. Das Signal wird lediglich physikalisch verstärkt und gegebenenfalls auf mehrere Anschlüsse verteilt (vervielfältigt), daher muss der Repeater dafür kein Protokoll kennen und ist daher technisch gesehen sehr einfach aufgebaut. Bei der Verstärkung benötigt der Repeater jedoch Zeit zur Synchronisation - dazu werden am Anfang jedes Ethernet-Paketes 2 Bit von der Präambel abgeschnitten, die der Repeater wieder hinten an das Paket anfügt. Die 2 Byte braucht der Repeater jedoch für die Synchronisation und zur Erkennung des Paketendes. Dabei erkennt er das letzte vollständige Byte als Paketende an. Nach mehr als 4 Repeatern ist also am Ende des Paketes mehr als ein komplettes Byte zufällig generierter Daten (also keine Nutzdaten) angehängt worden. Das Paket wird also für ungültig erklärt und verworfen. Zusätzlich ist noch die Laufzeit des Paketes beschränkt, um die Funktion der Collision Detection zu gewährleisten. ===Kaskadierung von Hubs=== [[Image:EthernetHub.png|Schematischer Aufbau eines 4-Port Ethernet Hubs|thumb|right|200px]]Aus diesem Grunde ergibt sich eine maximale Anzahl von 4 Repeatern (=Verstärkungsstufen) hintereinander (= in Reihe). In der Praxis ergibt sich also eine empfehlenswerte Anzahl von 3 Verstärkern in Reihe. Die einfachste Form eines Repeaters ist ein Ethernet-Hub. Hierbei gilt ebenso, daß maximal 4 Hubs in Reihe geschaltet werden dürfen, daher ist auch hier die (physikalische) Größe bzw. Ausdehnung des Netzwerkes noch sehr eingeschränkt (4x150m = 600m bei 50&#937; Koax-Kabel). Damit sind die Möglichkeiten auf dem Layer 1 (Physical Layer) voll ausgereizt. Hierbei ergibt sich auch der Nachteil, daß die Netzwerkgeschwindigkeiten überall gleich sein muss, lediglich die Verkabelungsart auf der Signalebene kann unterschiedlich sein (TP, Koax oder Optisch, auch ein großer Nachteil bzgl. der Lastverteilung). Eine weitere Vergrößerung der Netzwerkausdehnung ist nur auf höheren Layern des OSI-Schichtenmodells möglich (ab [[ISO-OSI_Schichtenmodell#Data_Link_Layer|Layer 2]] aufwärts), hier geschieht keine physikalische Betrachtung des Signals mehr sondern eine Betrachtung auf Protokollebene, d.h. das eingesetzte Gerät muss die verwendeten Protokolle kennen und verstehen, um arbeiten zu können. Ein Hub bzw. Repeater repräsentiert genau eine Kollisionsdomäne, womit nur ein Teilnehmer gleichzeitig auf den Bus zugreifen kann. ===Netzwerksniffer=== Ein weiterer Nachteil ist, dass der Netzwerkverkehr an einem Hub nur vervielfältigt wird. Somit muss der Teilnehmer diejenigen Pakete herausfiltern, die an für ihn bestimmt sind. Dies erfolgt automatisch über den Netzwerkstack des Betriebssystems, mit einem Netzwerksniffer (wie z.B. [http://www.tcpdump.org tcpdump], [http://ettercap.sourceforge.net/ ettercap] oder [http://personalpages.tds.net/~brian_hill/macsniffer.html MacSniffer]) jedoch kann das Interface in den sog. ''promiscous mode'' versetzt werdne, in dem das Interface alle Pakete entgegennimmt. Somit kann ein Netzwerkteilnehmer den gesamten über den Hub laufenden Verkehr sehr einfach abhören und gegenenfalls auch verändern. ==Ethernet Switching== {| align="right" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#ffffff; border:1px dotted #e3e3e3; align:right;" |- | [[Image:EthernetBridge.png|center|thumb|200px|Schematische Darstellung einer Ethernet Bridge in einem Bussystem]] |- | [[Image:EthernetBridgeNet.png|center|thumb|200px|Schematische Darstellung einer Ethernet Bridge zwischen zwei Netzwerken]] |} Das Ethernet Switching erfolgt auf dem [[ISO-OSI_Schichtenmodell#Data_Link_Layer|Data Link Layer]], wobei zwischen ''Bridging'' und ''Switching'' unterschieden werden kann. Eine Ethernet-Bridge ist dabei der einfachste Fall eines Switches mit genau 2 Anschlüssen. Ein Switch kann also auch als Erweiterung einer Bridge beschrieben werden. ===Warum Switching?=== Ethernet Switches werden hauptsächlich aus den folgenden Gründen eingesetzt: * Vergrößerung des Netzwerkes: theoretisch sind beliebig viele Stationen und Switches in einer Reihe möglich und somit beliebige Ausdehnung von Netzwerken * Trennung der Kollisionsdomäne (jeder Port eines Switches hat eine eigene Kollisionsdomäne) * Geschwindigkeitsanpassung der verschiedenen an den Switch angeschlossenen Teilnetzwerke (ein Switch kann z.B. zwischen 10MBit und 100MBit Teilnetzen bridgen) * Vermischen verschiedener Netzwerktechniken bzw. –topologien (z.B. Token Ring und Ethernet). Problem: Die interne Darstellung der MAC-Adresse erfolgt bei diesen beiden Techniken in einer anderen Bitordnung. * ARP-Spoofing wird schwieriger, abhängig vom verwendeten Switch / Protokoll. Mit Hilfe von ARP kann der Traffic zwar abgehört und umgeleitet werden, dazu ist aber eine Man-in-the-Middle Attacke nötig mit Propagierung falscher MAC-Adressen. Einfache Netzwerksniffer funktionieren nicht mehr, da sie auf den promiscous Mode angewiesen sind ===Funktionsweise eines Ethernet-Switches=== [[Image:EthernetSwitchConstruction.png|thumb|right|200px|Schematischer Aufbau eines Ethernet Switches]]Jeder Anschluss des Switches hat eine eigene Netzwerk- (MAC-) Adresse und eine eigene Kollisionsdomäne. Dies bedeutet, dass - wenn A und B kommunizieren - gleichzeitig auch die Stationen C und D miteinander kommunizieren können. Wenn nun beispielsweise aber die Stationen B und D mit A kommunizieren möchten, ist eine Zwischenspeicherung der Pakete im Switch notwendig. '''Beispiel:''' :10 Clients, 1 Server: :Wenn alle Rechner mit 10MBit arbeiten, ist kein Performancegewinn dadurch zu verzeichnen. Wenn der Server hingegen eine 100MBit Anbindung an das Netzwerk hat, schon. Für eine korrekte Verbindung und Kommunikation der Rechner muss der Switch eine Verbindungstabelle aufbauen. Direkt nach dem Einschalten ist diese noch leer, d.h. der Switch schickt ankommende Pakete an alle weiter (er verhält sich also wie ein Hub). Durch entsprechende Rückmeldungen der Clients erkennt der Switch die Rechner an den zugehörigen Ports und trägt die Adressen mit Port-Zuweisung in seine Tabelle ein (MAC-Adresse und Port-Nummer, meistens im zentralen Memory-Pool): {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="70px" | || width="150px" | A || width="150px" | B || width="150px" | C || width="150px" | D |---- bgcolor="#FFFFFF" | Port || 3 || 1 || 2 || 4 |---- bgcolor="#FFFFFF" | MAC || 00:0a:95:69:e2:a2 || || || |} Broadcast-Messages (Messages an die Broadcast-MAC-Adresse) werden weitergeleitet, das Paket muss aber für jeden Abschnitt dupliziert werden (Performanceverlust!). Der Nachteil gegenüber dem Hub oder direkter Verbindung ist ein Performanceverlust, dies gilt auch für Multicast-Protokolle ( wie z.B. NetBEUI, Appletalk, ... ). :''<small>Anm.: (IP-Multicast Adresse: 224.*.*.*, in Layer 2 auf Ethernet / MAC-Multicast abgebildet) </small>'' Wenn nur zwei Rechner angschlossen sind, kommunizieren diese über einen Hub schneller als über einen Switch (durch das größere Delay beim Switch durch die Zwischenspeicherung der Daten im Data Pool sowie die Entscheidungszeit, das gesuchte Ziel zu finden). Dies ist insbesondere bei Latenzempfindlichen Anwendungen von Bedeutung. ===Round-Trip Zeit eines Paketes=== Die Round-Trip-Zeit eines Paketes zwischen den Stationen A und B über einen Ethernet Switch kann wie folgt errechnet werden: [[Image:EthernetSwitchRTT.png|Round-Trip-Zeit eines Paketes durch einen Ethernet Switch|center|thumb|258px]] 1500 ist dabei die MTU ([http://de.wikipedia.org/wiki/Maximum_Transfer_Unit Maximum Transfer Unit], maximale unfragmentiert übertragbare Datenmenge) eines Ethernet-Pakets ===Packet Switching=== Das Switching in einem paketorientierten Netzwerk wie Ethernet läuft nach dem Modell des ''Packet Switching'' ab, bei dem die Größe der übertragenen Pakete unterschiedlich sein kann. Bei Ethernet existiert beispielsweise eine Obergrenze von 1500 Byte, eine feste Größe wie beispielsweise bei Cell-Relay Netzwerken wird dabei jedoch nicht vorgeschrieben. Beim Packet Switching kann zwischen zwei Vorgehensweisen unterschieden werden: * '''Cut-Through:''' Pakete werden direkt zum Ziel durchgeleitet, ohne Zwischenspeicherung in einem internen Cache-Speicher * '''Store-and-Forward:''' Verwendung eines internen Zwischenspeichers (Puffers) ====Cut-Through==== Die Pakete gehen direkt durch den Switch, ohne im sog. ''Data Pool'' (Pufferspeicher im Switch) zwischengespeichert zu werden. Aufgrund der MAC-Adresse (in den ersten 6 Byte des Pakets enthalten) kann der Switch direkt erkennen, wohin das Paket weitergeleitet werden soll. Dafür muss allerdings der Ausgang des Switches und die Leitung frei sein, es funktioniert auch nicht bei unterschiedlichen Netzwerkgeschwindigkeiten. '''Vorteile:''' * Geschwindigkeitsvorteil (kleine RTT) * geringe Latenz (Übertragungsverzögerung im Switch) '''Nachteile:''' * Keine Geschwindigkeitsanpassung und Bandbreitenumsetzung im Switch möglich (z.B. 10BaseT -> 100BaseT) * Geräte müssen immer sofort ansprechbar sein * Der Bus muss immer frei sein Daher wird dieses Verfahren kaum eingesetzt. ====Store-and-Forward==== Das meistens eingesetzte Verfahren verwendet ein Data Pool, um die Pakete im Switch zwischenzuspeichern. Dadurch ergibt sich zwar eine höhere Verzögerung bei der Weiterleitung, die Fehleranfälligkeit und Kollisionsgefahr ist hier jedoch wesentlich geringer, das Netzwerk arbeitet zuverlässiger. ===Weitere Arten des Switchings=== Es existieren weitere Arten des Switchings, abhängig von Layer-1 Protokoll und Netzwerktopologie. Die wichtigsten dabei sind * '''Cell-Switching:''' Packet-Switching mit fester Paketgröße (sog. ''Zellen'') * '''Circuit-Switching:''' Switching von Verbindungsorientierten Protokollen (z.B. [[ISDN]]) ====Cell-Switching==== Dieses Verfahren wird in Cell-Relay Netzwerken wie beispielsweise ATM oder B-ISDN verwendet. Mehr zu Cell-Relay Netzwerken in den Artikeln * [[ISDN#B-ISDN|B-ISDN]] (Breitband-ISDN) * [[wikipedia:Asynchronous transfer mode|ATM]] (Asynchronous Transfer Mode) ====Circuit-Switching==== Dieses Verfahren wird bei verbindungsorientierten Protokollen wie z.B. den [[ISDN#ISDN-Kanäle|ISDN B-Kanälen]] verwendet (auf dem D-Kanal wird paketorientiert gearbeitet). Weitere Informationen im [[ISDN#Circuit-Switching|ISDN-Artikel]]. ====Frame-Relay==== ==Protokolle== ===Kollisionserkennung=== Bei Ethernet existieren sogenannte ''Kollisionsdomänen'', innerhalb derer immer nur genau ein Teilnehmer auf den Bus ("schreibend") zugreifen darf. Kollisionen treten dann auf, wenn mehrere Teilnehmer gleichzeitig auf den Bus zugreifen möchten. Für die Erkennung dieser Kollisionen wird ein CSMA/CD-Verfahren eingesetzt ('''C'''arrier '''S'''ense '''M'''ultiple '''A'''ccess with '''C'''ollision '''D'''etection, siehe [http://de.wikipedia.org/wiki/Carrier_Sense_Multiple_Access_/_Collision_Detection Wikipedia]) im Gegensatz zu CSMA/CA (Collision Avoidance, siehe [http://de.wikipedia.org/wiki/Carrier_Sense_Multiple_Access_/_Collision_Avoidance Wikipedia]) Dabei wird laufen das Medium überwacht (Carrier Sense), auf das mehrer Teilnehmer Zugriff haben um miteinander zu kommunizieren (Multiple Access). Wenn ein Teilnehmer nun eine Datenübertragung starten möchte, sieht er nach ob das Medium frei ist. Falls ja, startet er seine Übertragung. Wenn nun eine Kollision entdeckt wird (mehrere versuchen gleichzeitig, auf das Medium zuzugreifen) wird ein definiertes Störsignal auf die Leitung gesetzt, um die anderen Teilnehmer von der Kollision zu informieren. Andernfalls muss der Teilnehmer warten, bis die Leitung wieder frei wird. Dabei wird eine Backoff Zeit gesetzt, da ansonsten unmittelbar erneut zu einem Konflikt käme. Mit jedem Konflikt wird dieser Wert erhöht, bis schließlich ein Maxmialwert erreicht wurde und der Zugriffsversuch abgebrochen wird. Pro Kollisionsdomäne kann also genau ein einziger Teilnehmer auf den Bus zugreifen. ===Spanning Tree Protocol=== Spanning Tree (802.1d) ist das von Ethernet-Switches auf dem [[ISO-OSI_Schichtenmodell#Data_Link_Layer|Data Link Layer]] verwendete Kommunikationsprotokoll und dient in erster Linie der Verhinderung von doppelten Frames (durch mehrere parallele Verbindungen zwischen Sender und Empfänger). Dies erfolgt durch die Generierung eines logischen Netzwerkabbilds in Form eines Baumes, in dem immer nur genau eine einzige, optimale Verbindung zwischen zwei Teilnehmern priorisiert und verwendet wird. Ausgetauscht werden diese Informationen zwischen Switches/Bridges in Form sogenannter '''BPDUs (Bridge Protocol Data Units)''' über Ethernet-Multicasts an die Adresse 01-80-C2-00-00-10 Sie werden alle 2 Sekunden an die in der nächstunteren Baumebene befindlichen Geräte gesendet. Damit werden Strecken incl. ihrer Wegekosten (Berücksichtigung von Datenrate und Entfernung) erfasst und die optimale Strecke ermittelt. Fällt eine Verbindung aus, so fehlt auch die entsprechende BPDU und das Netzwerk wird reorganisiert. Unter Umständen kann eine komplette Neuorganisation des Netzwerks jedoch relativ lange dauern, insbesondere bei komplizierten Verschachtelungen und größeren Netzwerkstrukturen. Zusätzlich dazu besitzen viele Geräde eine einfache Funktion zur Erkennung von Schleifen in der Kommunikation vom Sender zum Empfänger. Dabei sendet das Gerät in regelmäßigen Abständen einen Frame an die Adresse eines Gerätes. Wenn es ein solches Paket mit seiner eigenen MAC-Adresse empfängt, signalisiert das Gerät dies beispielsweise mit einer LED. ===Ethernet Multicast=== ===Ethernet Broadcast=== ===Adressauflösung=== ARP-Relay und ARP-Proxies kurz ansprechen (ARP als extra Artikel) ==Anwendungen== ===Class-of-Service=== Manche Dienste erfordern eine gewisse Verbindungs- und Netzqualität, um einen Nutzwert zu haben (z.B. VoIP - Voice-over-IP). Dafür eistiert diese Ethernet Erweiterung (802.1q), bei der es sich um eine ''Class-of-Service'' Erweiterung handelt. Im Gegensatz zu ''Quality-of-Service'' (das mit Packet Switching kaum realisierbar ist) werden hier den Diensten keine Verbindungsqualitäten zugesichert sondern es erfolgt eine Prioritätsvergabe der Kommunikation für einzelne Dienste. Die Vergabe dieser Prioritäten erfolgt dabei nicht durch das Endgerät sondern durch den Switch anhand der verwendeten Protokolle, Dienste, etc. Dazu muss er direkt am Eingang das Paket verifizieren (z.B. anhand von Pakettyp, IP/MAC-Adressen und Port-Informationen, ...). Solche Switches werden auch oft als sog. '''Layer-n-Switches''' bezeichnet, da sie - abhängig vom Einsatzgebiet - auch auf höheren Ebenen des ISO-OSI Schichtenmodells arbeiten. In der Regel beherrschen solche Geräte die Protokolle der Ebene 3 (Netzwerkebene), Layer 4 würde eine Auswertung der Daten umfassen. Je nach Gerät ist die Prioritätsverteilung statisch oder dynamisch, ebenso ist auch die Genauigkeit der Abstufungen (auch in Abhängigkeit von der Bandbreite) stark vom verwendeten Gerät abhängig. [[Image:EthernetCoS.png|thumb|right|300px|Ethernet Class-of-Service-Paket mit gesetztem Q-Tag]] Auf Layer 2 beinhaltet das Protokoll 802.1Q auch CoS Priorisierungen und VLANs (siehe unten). Hier geschieht dies durch Erweitern des Ethernet-Paketes um ein Q-Tag. Dabei ist 1111 die höchste Priorität, 0000 die niedrigste. Das Problem dabei ist, dass das Q-Paket 4 Byte länger als ein normales Ethernet-Paket ist. '''TO DO: Folgen?''' ===VLAN=== VLANs sind virtuelle LANs zur logischen Organisation der Anschlüsse und Verkabelung von Switches in Netzwerken. Normalerweise wird für jede Gruppierung ein physikalisches Gerät verwendet. Mit VLANs kann ein Physikalischer Switch in 2 logische Bereiche aufgeteilt werden. Dies geschieht mittels der ''VLAN-ID''. Dadurch entstehen am Switch auch 2 Broadcast-Domains, eine für jedes VLAN und es ist sehr flexibel in der Handhabung. Es ist auch möglich, VLANs anhand von IP Adressen und Subnetzmasken (mit Hilfe von ARP) zuzuordnen, oder in Form einer Kombination aus beiden Faktoren. Dabei ist die Zuordnung eines physikalischen Anschlusses zu einem VLAN (siehe 802.1Q- Spezifikation) am praktikabelsten. Es können auch verschiedene Service sin Form von VLANs organisiert werden, z.B. ein VLAN ausschließlich für Voice-over-IP Traffic o.ä. Dabei ist es auch denkbar, verschiedene Prioritäten für die Services in VLANs zu vergeben. Bei manchen Geräten können VLANs physikalisch getrennt verkabelt werden. Des weiteren können VLANs auch erstellt werden, indem Switches mit sog. ''Trunks'' verbunden werden. Dabei werden keine normalen Ethernet-Pakete sondern Pakete mit gesetztem Q-Tag (siehe oben) verschickt. Es können auch VLAN-fähige Netzwerkkarten verwendet werden. Somit wird dem Endgerät die Prioritätsvergabe der Pakete überlassen. '''Beispiel:''' :Rechner, der sich in mehreren unterschiedlichen Netzen befinden soll: :* mehrere Netzwerkkarten :* eine VLAN-fähige Netzwerkkarte :Auch möglich bei Teilnahme an nicht gerouteten Netzen '''Fazit:''' VLANs entsprechen prinzipiell der Idee der [[wikipedia:Virtual private network|VPN]]s (Virtual Private Networks), jedoch auf Layer 2. Dabei sind theoretisch bis zu 4094 verschiedene VLANs möglich: :4096 IDs, zwei davon sind jedoch reserviert: :0 wird nicht vergeben :1 Default-VLAN In großen Netzen muss die Verteilung gut kommentiert werden, insbesondere bei automatischen Zuordnungen (anhand von IP-Adressen, Protokollen, etc.) !!! ==Weiterführende Informationen== * Liste aller MAC-Herstellercodes auf der [http://www.ethereal.com/distribution/manuf.txt ethereal Webseite] oder unter Linux in der Datei <font face="courier">/etc/manuf</font> * [[wikipedia:de:Ethernet|Ethernet-Artikel]] in der [[wikipedia:de:Hauptseite|Wikipedia]] * Informationen über die Verkabelung gibts im Artikel [[Verkabelung]] * Kapitel [http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/ethernet.htm "Ethernet"] im [http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/index.htm Cisco Internetworking Technology Handbook] * Cisco [http://nova.zonengoere.net/doku.php?id=cisco:networking1mal1 Networking 1x1] * IBM Redbook: [http://www.redbooks.ibm.com/Redbooks.nsf/RedbookAbstracts/gg244338.html?OpenDocument Introduction to Networking Technologies] efa267d1c9abdf3e64c35f6fd77ad916753c98ed Category:Networking 14 96 332 2023-03-08T09:39:35Z Hagbard 2 Created page with "Basic knowledge and in-depth informations about local and wide area networking. The articles may need to be updated here and there since I wrote them during my time at university where I studied Computer Science with a focus on Computer Networking." wikitext text/x-wiki Basic knowledge and in-depth informations about local and wide area networking. The articles may need to be updated here and there since I wrote them during my time at university where I studied Computer Science with a focus on Computer Networking. 7fc80cd33c918c0f1b314159d136c44e8c74f30b Google Programme ohne Updater nutzen 0 71 335 282 2023-03-08T09:43:17Z Hagbard 2 wikitext text/x-wiki [[Category:App]][[Category:App]][[Category:Translate]]Bei der Installation von Google Software wie beispielsweise Google Earth oder Chrome wird der Nutzer mittlerweile gezwungen (oder erst gar nicht gefragt), den Google Updater auf der Festplatte zu dulden was nicht unbedingt jeder bereit ist zu tun. Wenn man dies in rechts abgebildetem Dialog ablehnt, lässt sich das Programm nicht nutzen und beendet sich sofort wieder. Eine nachträgliche Deinstallation des Google Updater ist auch keine Lösung, da dieser bei jedem Start von Google Earth (und vermutlich auch bei anderen Google Programmen) erneut installiert wird. Zusätzlich wird bereits vor der Installation noch mit [https://www.keyhole.com {{TT|keyhole.com:443}}] kommuniziert, vermutlich zwecks Updates des Google Updaters. Der einzig wirksame Weg ist also, den Updater innerhalb des Application Bundle "{{TT|Google Earth.app}}" zu eliminieren, damit dieser erst gar nicht installiert wird. ==Google Earth== Dazu im Finder das Bundle rechtsklicken und via "Paketinhalt zeigen" dessen Inhalt anzeigen. In folgendem Unterverzeichnis findet sich nun der Updater: Contents/Frameworks/KeystoneRegistration.framework/Resources/ Der Inhalt des Archivs {{TT|Keystone.tbz}}: GoogleSoftwareUpdate.bundle Theoretisch dürfte es auch genügen, das Installationsskript "{{TT|install.py}}" im selben Verzeichnis entsprechend zu modifizieren, damit eine Installation nicht erfolgt. '''Das Löschen des Archivs {{TT|Keystone.tbz}}''' bewirkt letztendlich dasselbe und ist vermutlich die sicherere Variante. Je ein weiteres Exemplar befindet sich an folgenden Orten innerhalb des Application Bundle, diese werden jedoch scheinbar nicht für die Installation verwendet: Contents/Frameworks/KeystoneRegistration.framework/Versions/Current/Resources Contents/Frameworks/KeystoneRegistration.framework/Versions/A/Resources ==Google Chrome== Bei Google Chrome ist das Vorgehen dasselbe, der Pfad relativ zum Application Bundle ist jedoch ein anderer: <source>Contents/Versions/<Chrome Versionsnummer>/Google\ Chrome\ Framework.framework/Frameworks/KeystoneRegistration.framework/Resources/</source> Also beispielsweise <source>Contents/Versions/16.0.912.75/Google\ Chrome\ Framework.framework/Frameworks/KeystoneRegistration.framework/Resources/</source> ==Siehe auch== * [[Google Updater deinstallieren]] a27ccb277bb73ea6b99b2dd04912207cfac0eafe Google Updater deinstallieren 0 72 336 284 2023-03-08T09:43:28Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Translate]] Selbst nach der Deinstallation von Google Apps wie Picasa oder Chrome bleibt oft der Google Updater (Google Software Update Agent) zurück und nervt mit laufenden Verbindungsversuchen. Da [http://tools.google.com/mac/updaterfaq.html diese Anleitung von Google] allerdings ins Leere läuft (bei [[User:Hagbard|mir]] hat noch nie eine Applikation namens "Google Update.app" existiert), hier also eine Kurzanleitung zur Deinstallation (Quelle: [http://www.google.com/support/installer/bin/answer.py?answer=100386 Google Support Dokument]): ;Für den aktuellen Benutzer ... folgendes im Terminal eingeben: sudo ~/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/GoogleSoftwareUpdateAgent.app/Contents/Resources/install.py --uninstall ;Für alle Benutzer ... folgendes im Terminal eingeben (root-Rechte benötigt): sudo /Users/<username>/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/GoogleSoftwareUpdateAgent.app/Contents/Resources/install.py --uninstall ==Siehe auch== * [[Google Programme ohne Updater nutzen]] 993d355376bb6c0e455d8dc5a7b208f5f04ca102 Größenänderung von Textareas in Safari 3 verhindern 0 73 337 286 2023-03-08T09:43:41Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Translate]] Standardmäßig sind HTML-Textareas in Safari ab der Version 3 in der Größe veränderbar, ohne dass dies extra (z.B. mit Javascript) implementiert werden muss. Manchmal jedoch ist diese Funktion eher unerwünscht, falls dadurch z.B. das Layout zerrissen wird oder eine Größenänderung schlicht und einfach keinen Sinn macht. In diesem Fall sind in den CSS-Defintionen für Textareas das [http://www.w3.org/TR/css3-ui/#resize CSS3-Attribut {{TT|"resize"}}] zu verwenden: ;keine Größenänderung erlauben <pre>textarea { resize:none; }</pre> ;Größenänderung erlauben (default) <pre>textarea { resize:both; }</pre> Die beiden Eigenschaften <pre> resize: vertical; resize: horizontal; </pre> haben hingegen bei mir nicht funktioniert. getestet mit Safari 3.0.4 (Mac OS 10.4) bf67152d7ea922636acf0d225eaf536edebab561 HFS-Volume bootfähig machen 0 74 338 288 2023-03-08T09:43:58Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]][[Category:OS]][[Category:Hint]][[Category:Museum]][[Category:Translate]]Um ein Volume z.B. nach der Wiederherstellung aus einem DMG bootfähig zu machen, kann das [[:Category:Terminal|Terminal]]-Programm {{Man|bless|bless}} verwendet werden: ==Informationen über ein Volume abrufen== Allgemeine Informationen ermitteln: bless -info /Volumes/VOLUMENAME Dabei ist VOLUMENAME durch den Partitionsnamen zu ersetzen ==Bootfähigkeit aktivieren== === Mac OS X oder Mac OS 9 === Um ein Volume als bootfähig zu markieren, das entweder Mac OS X oder Mac OS 9 enthält, folgendes im Terminal eingeben: sudo bless --mount "/Volumes/VOLUMENAME" --setBoot === Mac OS X / Darwin === Um ein Volume mit (ausschließlich) Mac OS X als bootfähig zu markieren (erstellt BootX und boot.efi Dateien), folgendes im Terminal eingeben: sudo bless --folder "/Volumes/VOLUMENAME/System/Library/CoreServices" --bootinfo --bootefi Dabei ist VOLUMENAME durch den Partitionsnamen zu ersetzen dac0e12a1c6c7c583bec1e1d7735e73b64dd8972 MacOS absichern/Betriebssystemkonfiguration 0 76 339 292 2023-03-08T09:44:19Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! style="width:220px;" | Service Name !! ! style="width:60px;" | |-- | Screen Sharing || ✅ || replacement or maybe even in-place update possible |-- | File Sharing || ✅ || replacement or maybe even in-place update possible |-- | Printer Sharing || ✅ || replacement or maybe even in-place update possible |-- | Remote Login || ✅ || replacement or maybe even in-place update possible |-- | Remote Management || ✅ || replacement or maybe even in-place update possible |-- | Remote Apple Events || ❌ || Don't use it, no replacement |-- | Bluetooth Sharing || ❓ || TBD |-- | Internet Sharing || ❓ || TBD |-- | Content Sharing || ❌ || Don't use it, no replacement |-- | Media Sharing<br/>a.k.a. "iTunes Library Sharing" || ❌ || Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] |-- | Web Sharing<br/>''Only in OS X Lion and earlier'' || ✅ || replacement or maybe even in-place update possible |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Drittprogramme absichern== * Das [https://www.privacy-handbuch.de/ Privavy-Handbuch] ** [https://www.privacy-handbuch.de/handbuch_21.htm Spurenarm Surfen mit Firefox] ** [https://www.privacy-handbuch.de/handbuch_21j2.htm Starke Passwörter verwenden] ** [https://www.privacy-handbuch.de/handbuch_21n.htm Überflüssige Funktionen in Firefox deaktivieren] (aus dem o.g. Privacy-Handbuch) ** [https://www.privacy-handbuch.de/handbuch_21i.htm#dnt Kommentar zu "Do-Not-Track"]] (more trouble than it's worth) ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Tools=== * [https://objective-see.org/ Objective-See] source of several amazing and free privacy tools like KnockKnock, Lulu or Oversight * [https://www.murusfirewall.com/murus/ Murus<sup>2</sup>] Firewall, a UI for the builtin macOS packet filter. The free Lite version filters outgoing traffic only, which makes it an ideal companion for LuLu or Little Snitch (Mini). ===Self-hosted Services=== * [https://freshrss.org FreshRSS], a free, self-hostable feeds aggregator * [https://pi-hole.net/ Pi-hole], Network-wide Ad Blocking ===Other Services=== * [https://hostux.network/en/ Hostux] Publicly hosted services such as a public encrypted DNS service, a disposable email inbox, and many more. ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs ===Encrypting/Signing=== * [https://github.com/FiloSottile/age age]: A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability. * [https://jedisct1.github.io/minisign/ minisign]: A dead simple tool to sign files and verify signatures. see also: * [https://nick.groenen.me/notes/stop-using-pgp/ Stop using PGP] f93ebfb577a08ac66a03af5882ff1d7e518936b4 Hdiutil 0 77 340 294 2023-03-08T09:44:36Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]]Mit dem Kommandozeilen-Tool hdiutil können Disk-Images erstellt, bearbeitet und verwendet werden. Für die grundlegenden Anwendungswzecke existiert als graphisches Frondend das Festplatten-Hilfsprogramm, für weitergehende und umfangreichere Operationen bietet sich der Weg über das Terminal an. In Mac OS X Versionen vor 10.3 existierte für die Erstellung Nutzung von DiskImages noch das Hilfsprogramm "DiskCopy.app", dessen Funktionen jedoch mit Version 10.3 auf das Festplatten-Dienstprogramm ([[diskutil|Disk Utility.app]]) und eine neue Hintergrundanwendung namens "DiskImageMounter.app" (zu finden unter /System/Library/CoreServices/") augfgeteilt wurden. Weitere Informationen gibt es auch in der entsprechenden {{Man|hdiutil|manpage von hdiutil}}. ==Syntax== Die grundlegende Syntax von hdiutil ist hdiutil <AKTION> [OPTIONEN] wobei eine Aktion z.B. das Erstellen eines neuen oder das Vergrößern eines existierenden Images sein kann. Mit verschiedenen Optionen lässt sich dabei die Funktionsweise beeinflussen ===Aktionen=== Im Folgenden eine Liste aller möglichen Aktionen mit den zugehörigen Minimalangaben. Weitere Optionen zu den jeweiligen Kommandos sind über die Aktion '''help''' zu erreichen und stehen {{Man|hdiutil|in der manpage}}. {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Aktion || width="400px" | Funktion |---- bgcolor="#FFFFFF" | '''help''' || Zeigt den Hilfetext von hdiutil an |---- bgcolor="#FFFFFF" | '''help''' AKTION -help || Zeigt den die zur angegebenen Aktion gültigen Optionen an |---- bgcolor="#FFFFFF" | '''attach''' image || Registriert das angegebene Image im System als Gerätedatei, z.B. "/dev/disk1" (Synonym: mount) |---- bgcolor="#FFFFFF" | '''detach''' devicename || Entfernt ein mit '''attach''' oder '''mount''' eingebundenes Disk Image (Synonym: eject) |---- bgcolor="#FFFFFF" | '''create''' groesse oder image|| Erstellt ein Image mit der gegebenen Größe oder aus einer angegebenen Imagedatei |---- bgcolor="#FFFFFF" | '''convert''' image -format -o zielimage || Wandelt das Format einer gegeben Imagedatei in ein anderes um und speichert diese in einer Zieldatei (siehe [[Dmg_Images_konvertieren|dmg Images konvertieren]]). |---- bgcolor="#FFFFFF" | '''makehybrid''' -o quellimage || Ermöglicht mit Hilfe des DiscRecording Frameworks die Erstellung eines hybriden Dateisystems (Mac/PC) als schreibgeschütztes Disk-Image. Die zu verwendenden Dateisysteme (iso und/oder hfs) können als Optionen angegeben werden. Angaben wie <nowiki>[yes|no]</nowiki> bedeuten dabei, dass ''entweder'' yes ''oder'' no angegeben werden kann. |---- bgcolor="#FFFFFF" | '''compact''' image || Entfernt nicht benutzte Bereiche aus einem sog. "SPARSE" Image (das sind Images, deren Größe sich dem Inhalt dynamisch anpasst. Sie wachsen also mit). |---- bgcolor="#FFFFFF" | '''info''' || Zeigt Informationen an über das DiskImages.framework, die verwendeten Treiber und alle aktuell eingebundenen (gemounteten) Images. |---- bgcolor="#FFFFFF" | '''load''' || Ermöglicht das manuelle Laden des Disk Image Treibers. Er wird benötigt, um Disk Images überhaupt benutzen zu können. Das erfolgt üblicherweise automatisch, seit 10.2 wird der Treiber auch wieder automatisch entladen, sobald das letzte eingebundene Image ausgeworfen wird. |---- bgcolor="#FFFFFF" | '''checksum''' image -type imagetyp|| Überprüft die Prüfsumme (checksum) eines Images, um eventuelle Fehler zu erkennen (erfolgt standardmäßig immer beim Einbinden von Imagedateien, die sich auf dem lokalen System befinden - also nicht auf Windows- oder AFS-Freigaben) |---- bgcolor="#FFFFFF" | '''unflatten''' image || (?) |---- bgcolor="#FFFFFF" | '''flatten''' image || (?) |---- bgcolor="#FFFFFF" | '''hfsanalyze''' || Gibt Informationen über ein vorhandenes HFS oder HFS+ Dateisystem einer Imagedatei aus. |---- bgcolor="#FFFFFF" | '''imageinfo''' || gibt verschiedenste Informationen über ein Disk Image aus |---- bgcolor="#FFFFFF" | '''mount''' || siehe '''attach''' |---- bgcolor="#FFFFFF" | '''mountvol''' devicename || Bindet ein Dateisystem (z.B. /dev/disk1) als Disk-Image ein, ähnlich dem Befehl "[[diskutil]] mount". |---- bgcolor="#FFFFFF" | '''unmount''' volume || entlädt ein mit '''mountvol''' eingebundenes Dateisystem. |---- bgcolor="#FFFFFF" | '''plugins''' || Gibt Informationen über die verschiedenen PlugIns des DiskImage Frameworks aus, über die selbiges funktionell erweitert werden kann. |---- bgcolor="#FFFFFF" | '''internet-enable''' [-yes|-no|-query] image || (De)Aktivierung des Postprocessing eines Images, z.B. nach dem Herunterladen aus dem Internet. Beim ersten Aktivieren des Images wird dadurch der Inhalt des Images in einen gleichnamigen Ordner im selben Verzeichnis kopiert und die Imagedatei wandert in den Papierkorb. |---- bgcolor="#FFFFFF" | '''resize''' groesse image|| Ermöglicht es, die Größe eines Images zu verändern, um sie beispielsweise anschließend mit "[[hdiutil]] burn" auf CD oder DVD schreiben zu können. |---- bgcolor="#FFFFFF" | '''segment''' || Teilt ein Disk Image in mehrere Teile auf, um beispielsweise große Imagedateien zum Download bereitzustellen. |---- bgcolor="#FFFFFF" | '''pmap''' quellimage || Zeigt die Partitionstabelle eines Disk Images an |---- bgcolor="#FFFFFF" | '''burn''' image || Disk Images mit Hilfe des DiscRecording Frameworks auf CD/DVD brennen |} Das Ausgabeformat vieler Aktionen lässt sich mit Hilfe folgender Parameter entsprechend verändern, beispielsweise werden bei folgendem Kommando die Informationen als XML-Plist ausgegeben, was besonders für Mac-/iOS-Entwickler [[Informationen über ein Disk Image auslesen|sehr praktisch]] ist: hdiutil imageinfo ./MyDiskImage.dmg -plist ===Optionen=== Eine vollständige Liste aller möglichen Optionen würden den Rahmen des Artikels hier sprengen, deswegen sei an dieser Stelle auf die {{Man|hdiutil|manpage von hdiutil}} verwiesen. ==Beispiele== ===erstellen=== ====.dmg Image (HFS+)==== [[hdiutil]] create -volname MeinBackup -srcfolder ./meineWichtigenDaten/ ./backup.dmg Falls im Volumenamen Leerzeichen vorkommen, muss der Name in doppelte Hochkommata (") eingeschlossen werden. ====ISO-Image==== [[hdiutil]] create -format UDTO -srcfolder ./meineWichtigenDaten/ ./backup.dmg ====für Windows lesbares Image==== Dazu wird erst - wie oben beschrieben - ein ganz normales .dmg Image erstellt, das anschließend konvertiert wird: [[hdiutil]] makehybrid -iso -joliet -o ~/Desktop/file.iso ~/Desktop/file.dmg [[hdiutil]] makehybrid -iso -joliet -o ~/Desktop/file.iso /Volumes/Disc mit den folgenden Optionen können noch Volume-Namen festgelegt werden: -joliet-volume-name MeineDaten -iso-volume-name MeineDaten ====Video-DVD-Image aus {{TT|VIDEO_TS}}-Verzeichnis erzeugen==== Um aus einem {{TT|VIDEO_TS}} Verzeichnis ein .ISO Image für das Brennen auf eine DVD zu erstellen, ist folgendes zu tun: # {{TT|VIDEO_TS}} Verzeichnis in ein Unterverzeichnis (z.B. {{TT|MY_DVD}}) verschieben # im [[:Category:Terminal|Terminal]] in dieses Verzeichnis wechseln und folgendes Kommando eingeben: [[hdiutil]] makehybrid -udf -udf-volume-name "<DVD-NAME>" -o <FILENAME>.iso ./ {{TT|<DVD_NAME>}} und {{TT|<FILENAME>}} sind entsprechend zu ersetzen ====Allgemein==== [[hdiutil]] create -type <UDIF|SPARSE> -fs <HFS+|HFS+J|HFSX|HFS|MS-DOS|UFS> -format <UDZO|UDRO|UDRW|UDTO|UDSP|...> -srcfolder<quelle> -volname <name> <image> ====Hybrid-Image==== [[hdiutil]] makehybrid ... ===bearbeiten=== *resize *flatten/unflatten *segment *compact (für sparse images) *chpass ===überprüfen=== *verify *imageinfo *hfsanalyze *checksum *info *pmap ===Freien Speicher freigeben=== Um bei mitwachsenden Images (sog. "Sparse Images", Dateiendung ".sparseimage") freien Speicher wieder freizugeben und somit deren Größe zu reduzieren, ist im Terminal folgende Anweisung zu verwenden: hdiutil compact image.sparsebundle Wenn {{TT|hdiutil}} die Anweisung mit der Meldung "... ist zeitweilig nicht verfügbar" quittiert, ist das Image höchstwahrscheinlich gerade gemountet. ===Disk Images konvertieren=== Mit Hilfe von hdiutil lassen sich Disk Images auch konvertieren, um sie beispielsweise auf einem PC weiterverwenden zu können, hier im Beispiel wird ein .ISO Image in ein .img Image konvertiert (z.B. zum Wiederherstellen auf einen USB-Stick): hdiutil convert -format UDRW -o ziel.img quelle.iso Mehr Informationen dazu gibt es im Artikel "[[Dmg_Images_konvertieren|dmg Images konvertieren]]". ===Disk Images brennnen=== Disk Images lassen sich ganz einfach mit dem folgenden Befehl brennen: '''hdiutil''' burn DiskImage.dmg ====Optionen==== Die wichtigsten Optionen sind dabei: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="200px" | Option || width="400px" | Funktion |---- bgcolor="#FFFFFF" | '''-speed''' || Angabe der Brenngeschwindigkeit, z.B. 4, 16 oder max |---- bgcolor="#FFFFFF" | '''-device''' || Angabe einer Gerätedatei über den OpenFirmware Pfad, z.B. hd1: oder dvd: |---- bgcolor="#FFFFFF" | '''-list''' || Listet alle im System verfügbaren Brenner auf (für die Verwendung von -device) |---- bgcolor="#FFFFFF" | '''-testburn''' || Nur eine Simulation durchführen |---- bgcolor="#FFFFFF" | '''-sizequery''' || Nur den auf der CD/DVD benötigten Platz berechnen (kann durch ein anderes Dateisystem vom Platzbedarf auf der Festplatte variieren) |---- bgcolor="#FFFFFF" | '''-noeject''' || CD/DVD nach dem Brennen nicht auswerfen |---- bgcolor="#FFFFFF" | '''-noverifyburn''' || Medium nach dem Brennen nicht überprüfen |---- bgcolor="#FFFFFF" | '''-forceclose''' || Medium nach dem Brennen abschließen |---- bgcolor="#FFFFFF" | '''-optimizeimage''' || Disk Image für das brennen auf CD/DVD optimieren (bzw. für Zugriffe auf CD/DVD) |---- bgcolor="#FFFFFF" | '''-nounderrun''' || Buffer Underrun Schutz ausschalten |} Mehr Optionen erhält man durch die Eingabe von '''hdiutil''' burn -help ====DVD/CD-RW löschen==== Wiederbeschreibbare Rohlinge lassen sich mit dem hdiutil auch wahlweise schnell oder volständig löschen, und zwar mit Hilfe von '''hdiutil''' burn -erase oder '''hdiutil''' burn -fullerase ===Images verwenden=== * aktivieren (attach / mountvol) * Deaktivieren (detach / unmount) ==Hinweise== ===Gerätenamen von CD-/DVD-Laufwerken=== Die Gerätenamen ({{TT|/dev/xyz}}) von diesen Laufwerken werden dynamisch erzeugt, und zwar in der Reihenfolge, in der sie beim Systemstart eingebunden werden. Im Normalfall ist also das (erste) interne CD-/DVD-Laufwerk ... /dev/rdisk0 und alle folgenden CD-/DVD-/BD-/Floppy-Laufwerke ... /dev/rdisk1 /dev/rdisk2 ... /dev/rdiskN ==Weitere Informationen== Früher (bis Mac OS 10.2) erfolgte der Zugriff auf HDI Disk Images über die beiden Tools {{Man|hdid|hdid}} und {{Man|disktool|disktool}}, die mittlerweile jedoch nur noch aus Kompatibilitätsgründen verwendet werden. Anstatt dessen wird nun von hdid nur noch das entsprechende Framework aufgerufen, für die übrigen Funktionen und den Zugriff durch den Benutzer ist das Programm hdiutil zu verwenden. Manpages: * {{Man|hdiutil|hdiutil}} * {{Man|hdid|hdid}} (benutzt seit Mac OS X 10.3 das DiskImages.framework) * {{Man|disktool|disktool}} weitere Manpages: * {{Man|hdiutil|hdiutil}} für die Nutzung von .dmg Images * {{Man|drutil|drutil}} für die Verwendung von CD/DVD Brennern (verwendet das DiscRecording framework) Kurztipps: * [[Kurztipp - DVD ISO aus VIDEO TS|DVD ISO aus VIDEO_TS erzeugen]] * [[Dmg_Images_konvertieren|dmg Images konvertieren]] Sonstiges: * [http://dmgcreator.sourceforge.net dmgCreator] - Open Source Programm zum Erzeugen von Disk Images, incl. Hintergrundbild, Lizenztexten uvm. * Ubuntu: [http://www.ubuntu.com/download/help/create-a-usb-stick-on-mac-osx How to create a bootable USB stick on OS X] b4f23fae8505a8859b2c3ba161fd56482acf8510 Hidden Features/Safari 0 79 350 298 2023-03-08T09:47:33Z Hagbard 2 wikitext text/x-wiki [[Category:App]][[Category:Translate]]Einige Funktionen in Safari können nur über die Konfigurationsdatei {{TT|com.apple.safari.plist}} (MacOS X) bzw. {{TT|Preferences.plist}} (Windows) geändert werden, da für sie keine entsprechenden Felder im Einstellungsdialog vorhanden sind. ==Setzen versteckter Konfigurations-Optionen== Die folgenden Optionen müssen allso von Hand in der Konfigurationsdatei von Safari (XML-Datei) geändert werden, die sich je nach Betriebssystem am folgenden Ort befindet: ;MacOS X /Users/USERNAME/Library/Preferences/com.apple.safari.plist ;Windows XP C:\Document and Settings\%USERNAME%\Application Data\Apple Computer\Safari\Preferences.plist C:\Dokumente und Einstellungen\%USERNAME%\Application Data\Apple Computer\Safari\Preferences.plist ;Windows Vista %APPDATA%/Apple Computer/Safari/Preferences.plist Diese Einstellungen können entweder direkt in dieser Datei geändert werden (Hinzufügen von Optionen am Ende der Datei, direkt vor {{TT|<nowiki></dict></plist></nowiki>}}), oder (unter MacOS X) über den Terminal-Befehl {{Man|defaults|defaults}}, z.B.: <pre> defaults write com.apple.Safari <key> defaults delete com.apple.Safari <key> </pre> Letzteres löscht den Eintrag und bewirkt, dass wieder die Standardeinstellung von Safari verwendet wird. {{Information|1=Eine komplette Liste aller standardmäßig gesetzter Optionen ist (unter Mac OS X) innerhalb des Safari Application Bundles ({{TT|/Applications/Safari.app}} rechtsklicken und "Paketinhalte anzeigen" auswählen) in der Datei {{TT|Contents/Resources/Defaults.plist}} zu finden.}} ==Safari Allgemein== ===Verlauf anpassen=== Anzahl der Seiten, die im Verlauf gespeichert werden: <pre> defaults write com.apple.Safari WebKitHistoryItemLimit 200 </pre> Anzahl der Tage, nach denen Einträge im Verlauf gelöscht werden: <pre> defaults write com.apple.Safari WebKitHistoryAgeInDaysLimit 30 </pre> ===Font Anti-Aliasing beeinflussen=== Hiermit kann die Weichzeichnung von Textenbeeinflusst werden <pre> defaults write com.apple.Safari AppleAntiAliasingThreshold -int 8 defaults write com.apple.Safari AppleSmoothFontsSizeThreshold -int 8 defaults write com.apple.Safari AppleAntiAliasingThreshold -int 2 defaults write com.apple.Safari AppleSmoothFontsSizeThreshold -int 2 defaults delete com.apple.Safari AppleAntiAliasingThreshold defaults delete com.apple.Safari AppleSmoothFontsSizeThreshold </pre> ===Debug-Menü aktivieren=== Aktiviert das Debug-Menü mit erweiterten Funktionen wie z.B. UserAgent-Auswahl oder dem Web-Inspector <pre> defaults write com.apple.Safari IncludeDebugMenu 1 </pre> bzw. <pre> <key>IncludeDebugMenu</key> <true/> </pre> ===Web-Inspector=== Den Web-Inspector (ab Safari 3) kann man auch einzeln ohne das Debug-Menü aktivieren. Dieser steht dann im Kontextmenü von Safari zur Verfügung: <pre> defaults write com.apple.Safari WebKitDeveloperExtras -bool true defaults delete com.apple.Safari WebKitDeveloperExtras </pre> {{Information|Dies aktiviert auch den Web-Inspektor innerhalb des Mac App Store und ermöglicht das Herausfinden verschiedener Link-Adressen innerhalb des App Store.}} ===Tooltips (title tags)=== Die als Tooltips angezeigten title-HTML-Tags können über folgende Option (de-)aktiviert werden: <pre> defaults write com.apple.Safari WebKitShowsURLsInToolTips 1 defaults delete com.apple.Safari WebKitShowsURLsInToolTips </pre> ==Safari 4 Beta== Neue Optionen in der Safari 4 Beta, die in der finalen Version wieder entfallen sind (oder zumindest nicht mehr funktionieren): ===Position der Tableiste=== positioniert die Tableiste (wie in Safari 3) unterhalb der Bookmarkleiste: <pre> DebugSafari4TabBarIsOnTop defaults delete com.apple.Safari DebugSafari4TabBarIsOnTop </pre> Neue Optionen in Safari 4 bzw. Optionen, um das Verhalten von Safari 3 wiederherzustellen: ===Ladestatus in der URL-Zeile=== Wenn die folgenden Optionen beide auf "NO" gesetzt sind, erscheint wieder der Ladestatus (Fortschrittsbalken) in der URL-Zeile und das "spinning wheel" innerhalb der Tabs: <pre> DebugSafari4IncludeToolbarRedesign DebugSafari4LoadProgressStyle defaults write com.apple.Safari DebugSafari4IncludeToolbarRedesign -bool NO defaults write com.apple.Safari DebugSafari4IncludeToolbarRedesign -bool YES defaults write com.apple.Safari DebugSafari4LoadProgressStyle -bool NO defaults write com.apple.Safari DebugSafari4LoadProgressStyle -bool YES </pre> ===URL Autovervollständigung=== Diese Option deaktiviert die neue Auto-Vervollständigung von URLs <pre> DebugSafari4IncludeFancyURLCompletionList defaults write com.apple.Safari DebugSafari4IncludeFancyURLCompletionList -bool NO defaults write com.apple.Safari DebugSafari4IncludeFancyURLCompletionList -bool YES </pre> ===Google Suggest Menü=== Diese Option deaktiviert das neue Google Suggest Menü im Suchfeld rechts <pre> DebugSafari4IncludeGoogleSuggest defaults write com.apple.Safari DebugSafari4IncludeGoogleSuggest -bool NO defaults write com.apple.Safari DebugSafari4IncludeGoogleSuggest -bool YES </pre> ===Cover-Flow für Bookmarks=== ... lässt sich über diese Option (de-)aktivieren: <pre> DebugSafari4IncludeFlowViewInBookmarksView defaults write com.apple.Safari DebugSafari4IncludeFlowViewInBookmarksView -bool NO defaults write com.apple.Safari DebugSafari4IncludeFlowViewInBookmarksView -bool YES </pre> ===TopSite-Screenshot-Animation=== Der Überblenden-Effekt bei der Auswahl einer der TopSites lässt sich ebenfalls deaktivieren: <pre> DebugSafari4TopSitesZoomToPageAnimationDimsSnapshot defaults write com.apple.Safari DebugSafari4TopSitesZoomToPageAnimationDimsSnapshot -bool NO defaults write com.apple.Safari DebugSafari4TopSitesZoomToPageAnimationDimsSnapshot -bool YES </pre> ===TopSite Funktion=== ... (wohl v.a. aus Performancegründen) deaktivieren: <pre> DebugSafari4IncludeTopSites defaults write com.apple.Safari DebugSafari4IncludeTopSites -bool NO defaults write com.apple.Safari DebugSafari4IncludeTopSites -bool YES </pre> ==Safari 4== ===TopSite Funktion deaktivieren=== Um die [http://www.apple.com/safari/whats-new.html#topsites TopSite Funktion] in Safari 4.x zu deaktivieren, funktioniert die oben beschriebene Vorgehensweise aus der Betaphase nicht mehr. In aktuellen Versionen ist statt dessen folgende Datei im Property List Editor (Bestandteil von Xcode) oder wahlweise im TextEditor des Vetrauens zu öffnen: ~/Library/Safari/TopSites.plist Dann entweder den Inhalt des XML-Tags "TopSites" löschen oder wahlweise den gesamten Inhalt der Datei, diese speichern und anschließend im Finder Info-Dialog für weitere Änderungen sperren (Abschnitt "Allgemein" > "Geschützt"). Außerdem ist das folgende Verzeichnis zu schützen: ~/Library/Safari/Caches/com.apple.safari/Webpage Previews Damit kann Safari keine weiteren TopSites mehr speichern und die Übersicht bleibt leer. {{Information|Dies ist allerdings nur eine reine Symptombehandlung. Eine Vorgehensweise, um TopSites ''wirklich'' zu deaktivieren (und damit Bandbreite und Speicherplatz zu schonen) ist [[User:Hagbard|mir]] zumindest nicht bekannt. Das ist besonders bei teuren mobilen Internetverbindungen ärgerlich, da Safari dafür im Prinzip unbrauchbar ist.}} ==WebKit Nightly Builds== ===WebGL aktivieren=== Die aktuellen nightly builds von [http://webkit.org WebKit] unterstützen unter Mac OS 10.5 und 10.6 [[wikipedia:en:WebGL|WebGL]] ([[wikipedia:de:OpenGL_ES|OpenGL ES]] im Browser), das sich über das folgende Kommando im [[:Category:Terminal|Terminal]] (de-)aktivieren lässt: defaults write com.apple.Safari WebKitWebGLEnabled -bool YES Anwendungsbeispiel: [http://www.ambiera.com/copperlicht/ Copperlicht Engine] von Ambiera (incl. [http://www.ambiera.com/copperlicht/demos.html Demos]) ==Weitere Informationen== * [http://developer.apple.com/internet/safari/faq.html Safari FAQ] (developer.apple.com) * [http://developer.apple.com/safari/ Safari DevCenter] (developer.apple.com) 69e9a66ec47bdd29b48ce7f86825f72b7eec52a0 IPod Quickies 0 97 354 2023-03-08T09:49:41Z Hagbard 2 Created page with "[[Category:OS]][[Category:Translate]][[Category:Museum]]{{Information|'''Hinweis:'''<br />Die folgenden Beschreibungen beziehen sich auf den iPod Classic ab der 4. Generation sowie den iPod nano. Beschreibungen für ältere iPods sind auf den [[#Weitere_Informationen|weiter unten]] verlinkten Webseiten zu finden.}} In diesem Artikel sind verschiedene, kleine Hilfestellungen für den täglichen Umgang mit den [http://www.apple.com/de/ipod/ Apple iPods] (iPod Classic) geli..." wikitext text/x-wiki [[Category:OS]][[Category:Translate]][[Category:Museum]]{{Information|'''Hinweis:'''<br />Die folgenden Beschreibungen beziehen sich auf den iPod Classic ab der 4. Generation sowie den iPod nano. Beschreibungen für ältere iPods sind auf den [[#Weitere_Informationen|weiter unten]] verlinkten Webseiten zu finden.}} In diesem Artikel sind verschiedene, kleine Hilfestellungen für den täglichen Umgang mit den [http://www.apple.com/de/ipod/ Apple iPods] (iPod Classic) gelistet: ==Fehlerbehebungen== ===iPod Reboot=== Um den iPod nach einem Freeze neu zu booten, ist Folgendes zu tun: # die "hold" Funktion an- und wieder ausschalten # direkt danch einige (ca. 5) Sekunden lang die beiden Tasten "MENU" und "SELECT" (die Taste in der Mitte des Clickwheels) gedrückt halten # Erst loslassen wenn das Display dunkel wird. Wenn dann das Apple-Logo im Display erscheint, war die Operation erfolgreich und der iPod wird neu gestartet. ===Diskmode=== Falls der iPod gar nicht mehr starten will, kann man in den Diskmode starten, indem man während des Startvorgangs (s.o.) die folgenden Tasten drückt: :play/pause + select Im Diskmode funktioniert der iPod wie eine externe Festplatte, ohne das Betriebssystem zu booten (in eta vergleichbar mit dem Target Mode bei Firewire-Macs). Anschließend können die Daten vom iPod gesichert und selbiger wieder durch Aufspielen der Systemsoftware zurückgesetzt werden. Beendet wirt der Diskmode durch einen einfachen Neustart des iPod (s.o.) ===Systemdiagnose=== Für verschiedene Systemdiagnosen und -analysen besitzten iPods ein eigenes Menü, das durch Drücken der folgenden Tasten während eines Neustarts (s.o.) des iPod erreicht werden kann: vorheriger titel/reverse + select Anschließend können eine Vielzahl verschiedener Systemtests durchlaufen werden, z.B. Speicher- oder Batterietests. Hier lassen sich außerdem noch weitere Informationen über den iPod wie beispielsweise Seriennummer oder Modellnummer ermitteln. ==Reset / Wiederherstellung== Die einfachste Möglichkeit, Daten vom iPod zu sichern und wieder zurückzuspielen, führt über den sog. "Diskmode" ([[#Diskmode|siehe oben]]). Dabei wird der iPod als Wechselplatte angesprochen, ohne die eigene Sytemsoftware zu starten. Anschließend können die Daten einfach in Terminal oder Finder (Achtung: versteckte Dateien und Verzeichnisse werden im Finder standardmäßig nicht angezeigt!) vom iPod herunter und wieder draufkopiert werden. ''more to come ...'' ==Sonstige Tipps== ===Sperre ohne eigenen Rechner aufheben=== Die Anzeigesperre lässt sich ja bekanntermaßen am eigenen Rechner (also der Rechner mit der iTunes-Bibliothek, mit der ein iPod verbunden ist) einfach durch Anschließen beheben. Falls man aber nun unterwegs ist, kann man das auch einfach an einem beliebigen anderen Rechner erledigen, und zwar durch Löschen der folgenden Datei: \iPod_Control\Device\_locked Der iPod muss dazu als Laufwerk eingebunden sein, bei der Verwendung des Finders müssen dazu versteckte Dateien und Verzeichnisse angezeigt werden (lässt sich beispielsweise mit [https://www.titanium-software.fr/en/index.html OnyX] oder dem [https://www.bresink.com/osx/TinkerTool.html TinkerTool] bewerkstelligen). Weitere Infos zur iPod Anzeigesperre (Screenlock) gibts [http://docs.info.apple.com/article.html?artnum=302255-de hier bei Apple]. ===Weitere Informationen=== * Apple: [http://www.apple.com/de/support/ipod/ iPod Service & Support] * [http://www.command-tab.com/ Command-Tab]: [http://www.command-tab.com/2006/03/30/hidden-ipod-commands/ Hidden iPod Commands] 14a4c8b40c5cf7ca12f42cc438325b4fcdc51deb Main Page 0 1 356 245 2023-03-08T10:02:02Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. For the time being the old wiki will still be around here: [http://www.macwrench.de macwrench.de], but new edits will most likely go in here. [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) <hr style="margin:20px 0px; /> [[Image:W21-1a.svg|128px|right]] {| |-- | colspan="3" | '''Important articles:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|24px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''External resources:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|18px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|18px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] <!-- |-- | colspan="3" style="padding-top:10px;" | '''See also:''' |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] --> |} ---- <div style="width:100%; background-color:Canvas;"> {| style="width:100%;" |-- ! '''Important categories:''' |-- | style="text-align:center;" | [[:Category:OS|Operating System]] &bull; [[:Category:OS|Development]] &bull; [[:Category:OS|Networking]] &bull; [[:Category:OS|Hints]]<hr/>[[Category:OS|Museum]] &bull; [[:Category:OS|Verify]] &bull; [[:Category:OS|Translate]] |} </div> 40b71e07acc35e3c3559e8b1c648783822aaa43c 357 356 2023-03-08T10:03:23Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. For the time being the old wiki will still be around here: [http://www.macwrench.de macwrench.de], but new edits will most likely go in here. [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) <hr style="margin:20px 0px; /> [[Image:W21-1a.svg|128px|right]] {| |-- | colspan="3" | '''Important articles:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|24px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''External resources:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|18px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|18px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] <!-- |-- | colspan="3" style="padding-top:10px;" | '''See also:''' |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] --> |} ---- <div style="width:100%;"> {| style="width:100%;" |-- ! '''Important categories:''' |-- | style="text-align:center;" | [[:Category:OS|Operating System]] &bull; [[:Category:OS|Development]] &bull; [[:Category:OS|Networking]] &bull; [[:Category:OS|Hints]]<hr/>[[Category:OS|Museum]] &bull; [[:Category:OS|Verify]] &bull; [[:Category:OS|Translate]] |} </div> 9df782138b2d575c7b202a045532f55739150da9 358 357 2023-03-08T10:04:49Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. For the time being the old wiki will still be around here: [http://www.macwrench.de macwrench.de], but new edits will most likely go in here. [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) <hr style="margin:20px 0px; /> [[Image:W21-1a.svg|128px|right]] {| |-- | colspan="3" | '''Important articles:''' |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|24px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''External resources:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|18px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|18px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] <!-- |-- | colspan="3" style="padding-top:10px;" | '''See also:''' |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] --> |} <div style="width:100%; border: 1px solid;"> {| style="width:100%;" |-- ! '''Important categories:''' |-- | style="text-align:center;" | [[:Category:OS|Operating System]] &bull; [[:Category:OS|Development]] &bull; [[:Category:OS|Terminal]] &bull; [[:Category:OS|Networking]] &bull; [[:Category:OS|Hints]]<hr/>[[:Category:OS|Museum]] &bull; [[:Category:OS|Verify]] &bull; [[:Category:OS|Translate]] |} </div> e4f02ddaa6f9b309a6f508e08197c4152db6cf49 359 358 2023-03-08T10:11:09Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. For the time being the old wiki will still be around here: [http://www.macwrench.de macwrench.de], but new edits will most likely go in here. [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) {| style="width:100%; border: 1px solid ButtonBorder;" |-- | colspan="3" | '''Important articles:''' || rowspan="7" | [[Image:W21-1a.svg|128px|right]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|24px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''External resources:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|18px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|18px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] <!-- |-- | colspan="3" style="padding-top:10px;" | '''See also:''' |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] --> |} {| style="width:100%; border: 1px solid ButtonBorder;" |-- ! '''Important categories:''' |-- | style="text-align:center;" | [[:Category:OS|Operating System]] &bull; [[:Category:OS|Development]] &bull; [[:Category:OS|Terminal]] &bull; [[:Category:OS|Networking]] &bull; [[:Category:OS|Hints]]<hr/>[[:Category:OS|Museum]] &bull; [[:Category:OS|Verify]] &bull; [[:Category:OS|Translate]] |} 168b3e5cadd36828b325f7564a48f079093e2871 360 359 2023-03-08T10:11:41Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. For the time being the old wiki will still be around here: [http://www.macwrench.de macwrench.de], but new edits will most likely go in here. [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) {| style="width:100%; border: 1px solid ButtonBorder; padding:10px;" |-- | colspan="3" | '''Important articles:''' || rowspan="7" | [[Image:W21-1a.svg|128px|right]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|24px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''External resources:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|18px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|18px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] <!-- |-- | colspan="3" style="padding-top:10px;" | '''See also:''' |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] --> |} {| style="width:100%; border: 1px solid ButtonBorder; padding:10px;" |-- ! '''Important categories:''' |-- | style="text-align:center;" | [[:Category:OS|Operating System]] &bull; [[:Category:OS|Development]] &bull; [[:Category:OS|Terminal]] &bull; [[:Category:OS|Networking]] &bull; [[:Category:OS|Hints]]<hr/>[[:Category:OS|Museum]] &bull; [[:Category:OS|Verify]] &bull; [[:Category:OS|Translate]] |} da96e09430d4eb47a85b9842d8d33679b085dbe2 361 360 2023-03-08T10:12:20Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. For the time being the old wiki will still be around here: [http://www.macwrench.de macwrench.de], but new edits will most likely go in here. [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) {| style="width:100%; border: 1px solid ButtonBorder; padding:10px;" |-- | colspan="3" | '''Important articles:''' || rowspan="7" style="width:148px" | [[Image:W21-1a.svg|128px|right]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|24px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''External resources:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|18px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|18px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] <!-- |-- | colspan="3" style="padding-top:10px;" | '''See also:''' |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] --> |} {| style="width:100%; border: 1px solid ButtonBorder; padding:10px;" |-- ! '''Important categories:''' |-- | style="text-align:center;" | [[:Category:OS|Operating System]] &bull; [[:Category:OS|Development]] &bull; [[:Category:OS|Terminal]] &bull; [[:Category:OS|Networking]] &bull; [[:Category:OS|Hints]]<hr/>[[:Category:OS|Museum]] &bull; [[:Category:OS|Verify]] &bull; [[:Category:OS|Translate]] |} 0ec267f9a6d2454956138ba0fa97b9102c2ff65a 362 361 2023-03-08T10:14:59Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. For the time being the old wiki will still be around here: [http://www.macwrench.de macwrench.de], but new edits will most likely go in here. [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) {| style="width:100%; border: 1px solid ButtonBorder; padding:10px;" |-- | colspan="3" | '''Important articles:''' || rowspan="7" style="width:148px" | [[Image:W21-1a.svg|128px|right]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|24px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''External resources:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|18px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|18px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] <!-- |-- | colspan="3" style="padding-top:10px;" | '''See also:''' |-- | style="text-align:right; width:80px;" | || &nbsp; ||[[Special:Categories|All categories]] --> |} {| style="width:100%; border: 1px solid ButtonBorder; padding:10px; margin-top:16px;" |-- ! '''Important categories:''' |-- | style="text-align:center;" | [[:Category:OS|Operating System]] &bull; [[:Category:OS|Development]] &bull; [[:Category:OS|Terminal]] &bull; [[:Category:OS|Networking]] &bull; [[:Category:OS|Hints]]<hr/>[[:Category:OS|Museum]] &bull; [[:Category:OS|Verify]] &bull; [[:Category:OS|Translate]]<br/>[[Special:Categories|All categories]] |} 1ec4e766d903f7a537ffde480610062091557134 363 362 2023-03-08T10:15:21Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. For the time being the old wiki will still be around here: [http://www.macwrench.de macwrench.de], but new edits will most likely go in here. [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) {| style="width:100%; border: 1px solid ButtonBorder; padding:10px;" |-- | colspan="3" | '''Important articles:''' || rowspan="7" style="width:148px" | [[Image:W21-1a.svg|128px|right]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|24px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''External resources:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|18px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|18px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} {| style="width:100%; border: 1px solid ButtonBorder; padding:10px; margin-top:16px;" |-- ! '''Important categories:''' |-- | style="text-align:center;" | [[:Category:OS|Operating System]] &bull; [[:Category:OS|Development]] &bull; [[:Category:OS|Terminal]] &bull; [[:Category:OS|Networking]] &bull; [[:Category:OS|Hints]]<hr/>[[:Category:OS|Museum]] &bull; [[:Category:OS|Verify]] &bull; [[:Category:OS|Translate]]<br/>[[Special:Categories|All categories]] |} e3b153a2ac4ce3bdff1b175948b1713583ee7198 Change the Wallpaper of the Login Screen 0 157 755 754 2023-03-10T08:25:20Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Verify]]Das im Anmeldebildschirm von Mac OS 10.5 verwendete Hintergrundbild befindet sich nicht im gleichen Verzeichnis wie die übrigen Desktop-Hintergrundbilder /Library/Desktop Pictures/ sondern an einer anderen Stelle im System: /System/Library/CoreServices/DefaultDesktop.jpg Um ein anderes Bild dafür zu verwenden, gibt es prinzipiell zwei Möglichkeiten: ===Ändern der Voreinstellungen=== Das zu verwendende Hintergrundbild wird in folgender Einstellungsdatei festgelegt und kann dementsprechend auch geändert werden: /Library/Preferences/com.apple.loginwindow Das kann in einem Editor der Wahl oder mit dem folgenden Befehl über das Terminal erfolgen: <source bash> /usr/bin/defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture "/pfad/zum/neuen/bild.jpg" </source> Um diese Änderung rückgängig zu machen, ist dann dasselbe mit dem ursprünglichen Bild aufzurufen: <source bash> /usr/bin/defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture "/System/Library/CoreServices/DefaultDesktop.jpg" </source> {{Information|1='''Achtung:''' Der Benutzer muss dazu Schreibrechte im Systemverzeichnis haben, d.h. den obigen Befehlen ist u.U. ein "{{TT|1={{Man|sudo|sudo}} }}" voranzustellen!}} ===Ersetzen der Datei=== Diese Datei ist einfach durch eine andere zu ersetzen, wobei die Zugriffsrechte der neuen Datei unbedingt angepasst werden müssen! Das kann entweder über den Info-Screen der Datei oder im Terminal erfolgen. Im {{Terminal}} sind dazu nacheinander folgende Befehle einzugeben (MYNEWPICTURE ist dabei durch den Pfad zum neuen Bild zu ersetzen): <source bash> cd /System/Library/CoreServices mv DefaultDesktop.jpg DefaultDesktop.jpg.original cp MYNEWPICTURE /System/Library/CoreServices/DefaultDesktop.jpg % chown root:wheel /System/Library/CoreServices/DefaultDesktop.jpg % chmod 644 /System/Library/CoreServices/DefaultDesktop.jpg </source> In neueren macOS Version wird dieser Pfad verwendet: /Library/Caches/Desktop Pictures/<UUID>/lockscreen.png wobei UUID durch die UUID des eigenen Benutzerkontos ersetzt werden muss. Diese kann in den Systemeinstellungen unter "Users & Groups" eingesehen werden, und zwar in den über einen secondary click (Rechtsklick) erreichbaren "Erweiterten Optionen" ("Advanced Options"). Es ist durchaus möglich, dass dieses Verzeichnis noch nicht existiert. Zum Erstellen werden jedoch Administrator-Rechte benötigt. {{Information|'''Achtung:''' Bei einem späteren Systemupdate kann diese Datei wieder durch die ursprüngliche Systemdatei überschrieben werden!}} ===Alternativen=== * [http://www.loginox.branox.com/ Loginox] (Freeware) 0f5fca7dea200f66a01f0b5c15769a48639be618 Activate HiDPI Screen Resolutions 0 154 740 739 2023-03-10T08:28:22Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]Um für Testzwecke – z.B. bei der Erstellung retina-kompatibler Programme oder Webseiten – die Ausgabe von OS X auf eine HiDPI Auflösung umschalten zu können, ist folgende Anweisung im [[:Category:Terminal|Terminal]] einzugeben: sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool YES; Nach einer erneuten Anmeldung steht nun in den Systemeinstellungen (unter "Monitore") je nach verwendetem System eine oder mehrere Retina-Auflösungen zur Auswahl. Zum Deaktivieren dieser Funktion ist folgende Anweisung zu verwenden: sudo defaults delete /Library/Preferences/com.apple.windowserver DisplayResolutionDisabled; Siehe auch: [[Kurztipp - Retina-Auflösungen aktivieren]] e7d34c5fedb24a102e54d8e505eb021c2e243eac 741 740 2023-03-10T08:39:01Z Hagbard 2 5 revisions imported wikitext text/x-wiki [[Category:OS]]Um für Testzwecke – z.B. bei der Erstellung retina-kompatibler Programme oder Webseiten – die Ausgabe von OS X auf eine HiDPI Auflösung umschalten zu können, ist folgende Anweisung im [[:Category:Terminal|Terminal]] einzugeben: sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool YES; Nach einer erneuten Anmeldung steht nun in den Systemeinstellungen (unter "Monitore") je nach verwendetem System eine oder mehrere Retina-Auflösungen zur Auswahl. Zum Deaktivieren dieser Funktion ist folgende Anweisung zu verwenden: sudo defaults delete /Library/Preferences/com.apple.windowserver DisplayResolutionDisabled; Siehe auch: [[Kurztipp - Retina-Auflösungen aktivieren]] e7d34c5fedb24a102e54d8e505eb021c2e243eac MacOS - Reset Password 0 188 941 940 2023-03-10T08:35:10Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]{{Important|Bein Zurücksetzen von Passwörtern oder generell beim Durchführen von Wartungsarbeiten mit hilfe der Dienstprogramme auf Installations-/Wiederherstellungs-DVDs ist extem wichtig, dass die Mac OS X Hauptversion (z.B. 10.5) dieser DVDs '''dieselbe''' ist wie diejenige der Installation, die man bearbeiten möchte!}} Falls man dummerweise das Anmeldepasswort einer Mac OS X Installation vergessen haben sollte und sich somit selber ausgesperrt hat, gibt diverse weniger zeit- und nervenaufwändige Möglichkeiten als eine komplette Neuinstallation ==Mac OS X 10.6 und davor== === Verwendung der Installations-/Wiederherstellungs-DVDs === Diese Möglichkeit gibt es im Prinzip bei allen Mac OS X Versionen (zumindest seit 10.3/Panther), die können sich jedoch in Details voneinander unterscheiden (für 10.7 Lion [[#Mac OS X 10.7 (Lion)|siehe unten]]): # Von der DVD booten (siehe [[Startup_Key_Combinations|hier]]), durch Drücken folgender Taste beim Start des Mac:<KB>C</KB> # Die Installationsanwendung solange weiterführen, bis am oberen Bildschirmrand die Menüleiste verfügbar ist # Dort steht im Menü "Installer" der Eintrag "Reset Password ..." zur Verfügung, über den man die Kennwörter einzelner Benutzer neu setzen kann. Da der Schlüsselbund mit dem alten Passwort verschlüsselt ist, was man aus Sicherheitsgründen (ohne das alte Passwort zu kennen) nicht ändern kann, ist selbiges zu löschen, bevor man den alten Account mit den neuen Zugangsdaten nutzen kann. Dazu ist nach dem Neustart der Inhalt des Ordners ~/Library/Keychains innerhalb des Benutzerverzeichnisses (Home) zu löschen. Bei der nächsten Anmeldung wird dann automatisch ein neuer Schlüsselbund angelegt. === Ohne Verwendung von Installations-DVDs === Hier unterscheidet sich die Vorgehensweise von Version zu Version u.U. erheblich, daher wird an dieser Stelle auf folgenden (recht umfassenden) Artikel verwiesen: [http://www.macyourself.com/2009/08/03/how-to-reset-your-mac-os-x-password-without-an-installer-disc/ How to reset your Mac OS X password without an installer disc] (macyourself.com) === Letzte Möglichkeit: einen neuen Admin-Account anlegen === Um ein vergessenes Passwort ohne vorhandene Installations-DVD und ohne Systemlogin neu zu setzen, existiert nur der Umweg über den Single-User-Modus. Über diesen kann man dann anschließend die Passwörter der anderen Benutzer neu vergeben: # Mac OS X im Single-User Modus starten (siehe [[Startup_Key_Combinations|hier]]), dorthin gelangt man durch Drücken folgender Tastenkombination beim Start des Mac:<KB>apfel + S</KB> # dadurch gelangt man anschließend nicht in eine graphische Umgebung sondern bekommt lediglich eine Eingabeaufforderung präsentiert. # dort ist mit Hilfe folgender Kommandos ein neuer Admin-Benutzer anzulegen, dabei ist jede Zeile mit <KB>return</KB> zu bestätigen: <div style="margin-left:40px;"><source lang="bash"> mount -uw / rm /var/db/.AppleSetupDone shutdown -h now </source></div> Mit Hilfe dieses Admin-Benutzers kann man sich dann nach einem Neustart die Passwörter der anderen Benutzer neu vergeben/zurücksetzen. ==Mac OS X 10.7 (Lion)== Im Prinzip funktioniert dies unter Lion genau wie in früheren Versionen mit Hilfe der Installations-DVDs (siehe [[#Verwendung der Installations-/Wiederherstellungs-DVDs#|oben]]), jedoch mit zwei kleinen Unterschieden (anderer Boot-Modus, {{TT|resetpassword}} ist nicht direkt sondern nur über das Terminal zu erreichen): ===Recovery-Modus=== # im Recovery-Modus booten (siehe [[Startup_Key_Combinations|hier]]), dorthin gelangt man durch Drücken folgender Tastenkombination beim Start des Mac:<KB>apfel + R</kb> # Sobald das Installationsprogramm gestartet wurde (Auswahl von Time Machine Backup, Neuinstallation, ...), steht im Menü "Dienstprogramme" ("Utilities") das Terminal zur Verfügung. Dies ist nun zu starten # im Terminal folgendes eingeben und mit <KB>return</KB> bestätigen: <div style="margin-left:40px;"><source>resetpassword</source></div> Dadurch wird das Passwort zurückgesetzt und es wird ein Dienstprogramm geöffnet, mit dem man für einzelne Benutzer ein neues Passwort vergeben kann. Da der Schlüsselbund mit dem alten Passwort verschlüsselt ist, was man aus Sicherheitsgründen (ohne das alte Passwort zu kennen) nicht ändern kann, ist selbiges zu löschen, bevor man den alten Account mit den neuen Zugangsdaten nutzen kann. Dazu ist nach dem Neustart der Inhalt des Ordners ~/Library/Keychains innerhalb des Benutzerverzeichnisses (Home) zu löschen. Bei der nächsten Anmeldung wird dann automatisch ein neuer Schlüsselbund angelegt. ===Verwendung der Apple-ID=== Seit 10.7 existiert außerdem die Möglichkeit, das Passwort '''anhand der Apple-ID''' zurückzusetzen, diese Eigenschaft muss jedoch '''vorher''' bereits in den Benutzereinstellungen aktiviert sein (sie ist es standardmäßig nicht). ==Siehe auch== * Apple Support: [https://support.apple.com/en-us/HT202860 If you forgot your Mac login password] * Apple Support: [https://support.apple.com/en-us/HT212190 If you can't reset your Mac login password] * [http://www.macyourself.com/2009/08/03/how-to-reset-your-mac-os-x-password-without-an-installer-disc/ How to reset your Mac OS X password without an installer disc] (macyourself.com) a839c38647b60d43402aca3619a8289b7062baaf 942 941 2023-03-10T08:39:28Z Hagbard 2 5 revisions imported wikitext text/x-wiki [[Category:OS]]{{Important|Bein Zurücksetzen von Passwörtern oder generell beim Durchführen von Wartungsarbeiten mit hilfe der Dienstprogramme auf Installations-/Wiederherstellungs-DVDs ist extem wichtig, dass die Mac OS X Hauptversion (z.B. 10.5) dieser DVDs '''dieselbe''' ist wie diejenige der Installation, die man bearbeiten möchte!}} Falls man dummerweise das Anmeldepasswort einer Mac OS X Installation vergessen haben sollte und sich somit selber ausgesperrt hat, gibt diverse weniger zeit- und nervenaufwändige Möglichkeiten als eine komplette Neuinstallation ==Mac OS X 10.6 und davor== === Verwendung der Installations-/Wiederherstellungs-DVDs === Diese Möglichkeit gibt es im Prinzip bei allen Mac OS X Versionen (zumindest seit 10.3/Panther), die können sich jedoch in Details voneinander unterscheiden (für 10.7 Lion [[#Mac OS X 10.7 (Lion)|siehe unten]]): # Von der DVD booten (siehe [[Startup_Key_Combinations|hier]]), durch Drücken folgender Taste beim Start des Mac:<KB>C</KB> # Die Installationsanwendung solange weiterführen, bis am oberen Bildschirmrand die Menüleiste verfügbar ist # Dort steht im Menü "Installer" der Eintrag "Reset Password ..." zur Verfügung, über den man die Kennwörter einzelner Benutzer neu setzen kann. Da der Schlüsselbund mit dem alten Passwort verschlüsselt ist, was man aus Sicherheitsgründen (ohne das alte Passwort zu kennen) nicht ändern kann, ist selbiges zu löschen, bevor man den alten Account mit den neuen Zugangsdaten nutzen kann. Dazu ist nach dem Neustart der Inhalt des Ordners ~/Library/Keychains innerhalb des Benutzerverzeichnisses (Home) zu löschen. Bei der nächsten Anmeldung wird dann automatisch ein neuer Schlüsselbund angelegt. === Ohne Verwendung von Installations-DVDs === Hier unterscheidet sich die Vorgehensweise von Version zu Version u.U. erheblich, daher wird an dieser Stelle auf folgenden (recht umfassenden) Artikel verwiesen: [http://www.macyourself.com/2009/08/03/how-to-reset-your-mac-os-x-password-without-an-installer-disc/ How to reset your Mac OS X password without an installer disc] (macyourself.com) === Letzte Möglichkeit: einen neuen Admin-Account anlegen === Um ein vergessenes Passwort ohne vorhandene Installations-DVD und ohne Systemlogin neu zu setzen, existiert nur der Umweg über den Single-User-Modus. Über diesen kann man dann anschließend die Passwörter der anderen Benutzer neu vergeben: # Mac OS X im Single-User Modus starten (siehe [[Startup_Key_Combinations|hier]]), dorthin gelangt man durch Drücken folgender Tastenkombination beim Start des Mac:<KB>apfel + S</KB> # dadurch gelangt man anschließend nicht in eine graphische Umgebung sondern bekommt lediglich eine Eingabeaufforderung präsentiert. # dort ist mit Hilfe folgender Kommandos ein neuer Admin-Benutzer anzulegen, dabei ist jede Zeile mit <KB>return</KB> zu bestätigen: <div style="margin-left:40px;"><source lang="bash"> mount -uw / rm /var/db/.AppleSetupDone shutdown -h now </source></div> Mit Hilfe dieses Admin-Benutzers kann man sich dann nach einem Neustart die Passwörter der anderen Benutzer neu vergeben/zurücksetzen. ==Mac OS X 10.7 (Lion)== Im Prinzip funktioniert dies unter Lion genau wie in früheren Versionen mit Hilfe der Installations-DVDs (siehe [[#Verwendung der Installations-/Wiederherstellungs-DVDs#|oben]]), jedoch mit zwei kleinen Unterschieden (anderer Boot-Modus, {{TT|resetpassword}} ist nicht direkt sondern nur über das Terminal zu erreichen): ===Recovery-Modus=== # im Recovery-Modus booten (siehe [[Startup_Key_Combinations|hier]]), dorthin gelangt man durch Drücken folgender Tastenkombination beim Start des Mac:<KB>apfel + R</kb> # Sobald das Installationsprogramm gestartet wurde (Auswahl von Time Machine Backup, Neuinstallation, ...), steht im Menü "Dienstprogramme" ("Utilities") das Terminal zur Verfügung. Dies ist nun zu starten # im Terminal folgendes eingeben und mit <KB>return</KB> bestätigen: <div style="margin-left:40px;"><source>resetpassword</source></div> Dadurch wird das Passwort zurückgesetzt und es wird ein Dienstprogramm geöffnet, mit dem man für einzelne Benutzer ein neues Passwort vergeben kann. Da der Schlüsselbund mit dem alten Passwort verschlüsselt ist, was man aus Sicherheitsgründen (ohne das alte Passwort zu kennen) nicht ändern kann, ist selbiges zu löschen, bevor man den alten Account mit den neuen Zugangsdaten nutzen kann. Dazu ist nach dem Neustart der Inhalt des Ordners ~/Library/Keychains innerhalb des Benutzerverzeichnisses (Home) zu löschen. Bei der nächsten Anmeldung wird dann automatisch ein neuer Schlüsselbund angelegt. ===Verwendung der Apple-ID=== Seit 10.7 existiert außerdem die Möglichkeit, das Passwort '''anhand der Apple-ID''' zurückzusetzen, diese Eigenschaft muss jedoch '''vorher''' bereits in den Benutzereinstellungen aktiviert sein (sie ist es standardmäßig nicht). ==Siehe auch== * Apple Support: [https://support.apple.com/en-us/HT202860 If you forgot your Mac login password] * Apple Support: [https://support.apple.com/en-us/HT212190 If you can't reset your Mac login password] * [http://www.macyourself.com/2009/08/03/how-to-reset-your-mac-os-x-password-without-an-installer-disc/ How to reset your Mac OS X password without an installer disc] (macyourself.com) a839c38647b60d43402aca3619a8289b7062baaf Konvertierung von Bilddateien im Terminal 0 147 705 704 2023-03-10T08:38:56Z Hagbard 2 7 revisions imported wikitext text/x-wiki [[Category:Hint]][[Category:Terminal]] Eine sehr einfache Möglichkeit, Bilddateien beispielsweise vom JPG-Format ins PNG-Format zu konvertieren oder auch andere Operationen durchzuführen, bietet das Kommandozeilenprogramm {{Man|sips|sips}} (scriptable image processing system): Folgende Zeile konvertiert die Datei {{TT|SOURCE.jpg}} in das PNG-Format: <syntaxhighlight lang="Bash"> sips -s format png SOURCE.jpg --out NEW.png </syntaxhighlight> 88b023e7fb13e847ea9573699433c60e90faddc3 Prevent .DS Store files on network shares 0 148 710 709 2023-03-10T08:38:57Z Hagbard 2 4 revisions imported wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]] __NOEDITSECTION__ Für alle, die sich jedesmal über die {{TT|.DS_Store}} Dateien auf Netzwerkvolumes ärgern (lästig vor allem bei Samba-Shares unter Linux/Win32) hier ein - zwar nicht mehr taufrischer, aber dennoch ganz hilfreicher - Tipp (funktioniert ab Mac OS X Tiger). Diese Files werden durch den Finder erstellt und speichern Darstellungseigenschaften für die einzelnen Ordner (z.B. Spaltenansicht etc.). Wer im Sinne besserer Optik / Ordnung drauf verzichten kann mache das folgende: Durch die Eigabe von defaults write com.apple.desktopservices DSDontWriteNetworkStores true im Terminal (muss für jeden Benutzer durchgeführt werden) erstellt der Finder diese Dateien nicht mehr. Das ist nur gültig für Netzwerkvolumes via ... * SMB/CIFS * AFP * NFS * WebDAV und hat keinen Einfluss auf lokale Volumes (sprich Festplatten, Wechselplatten, DVD-RAMs, ...). Anschließend muss (laut [http://docs.info.apple.com/article.html?artnum=301711 Apple]) der Rechner neu gebootet werden. Die Änderungen werden in der folgenden Datei gespeichert: ~/Library/Preferences/com.apple.desktopservices.plist Um die Änderungen auch für andere Benutzer wirksam zu machen, muss nur diese Datei an die entsprechende Stelle im Benutzerverzeichnis kopiert werden. Infos über mögliche daraus resultierende Fehlverhalten des Finders gibts unter anderem in [http://docs.info.apple.com/article.html?artnum=107822 diesem Artikel] der Apple Knowledge Base. {{Contentbox|content=Apple Knowledge Base Artikel zum Thema: [http://support.apple.com/kb/HT1629 Mac OS X v10.4 and later: How to prevent .DS_Store file creation over network connections]}} ===Löschen aller {{TT|.DS_Store}} Dateien=== Um rekursiv alle ''.DS_Store'' Dateien in einem Verzeichnis auf einmal zu löschen, genügt die Eingabe der folgenden Zeile im Terminal (im betreffenden Verzeichnis): <source lang="bash"> find . -name '*.DS_Store' -type f -delete </source> Für ein anderes Verzeichnis als das aktuelle ist dies an Stelle des Punktes nach "find" anzugeben. 816a0f66c255bb4da850bf53a0382c005402334f Quit app when closing the last window (Cocoa, Objc) 0 149 714 713 2023-03-10T08:38:57Z Hagbard 2 3 revisions imported wikitext text/x-wiki [[Category:Development]][[Category:Hint]] Um eine ObjC-Cocoa-Applikation mit dem Schließen des letzten Fensters automatisch zu beenden, ist folgendes zu machen: in die Methode '''awakeFromNib''' folgende Zeilen einfügen, das sieht dann etwa so aus: - (void)awakeFromNib { ... [NSApp setDelegate:self]; ... } Anschließend eine Methode namens '''applicationShouldTerminateAfterLastWindowClosed''' erstellen, die wie folgt aussieht: - (BOOL)[http://www.cocoadev.com/index.pl?NSApplication applicationShouldTerminateAfterLastWindowClosed]:(NSApplication *)theApplication { return YES; } Fertig! Dazu gibt es auch eine ganze Reihe alternativer Vorgehensweisen, diese hier ist aber sehr einfach und funktioniert ... ;-) a644a1230025c52bf4a7df873704b5bc74b70530 Purge the DNS cache 0 150 720 719 2023-03-10T08:38:58Z Hagbard 2 5 revisions imported wikitext text/x-wiki [[Category:Hint]]Um nach Änderungen an der [[wikipedia:de:DNS|DNS]]-Konfiguration oder der lokalen Namensauflösung in {{Man|hosts|{{TT|/etc/hosts}}}} kann man mit folgendem Terminal-Kommando den lokalen DNS-Cache leeren: {| ! OS X Version !! Terminal-Anweisung |-- | bis Mac OS 10.4 (Tiger) || <code>sudo lookupd -flushcache</code> |-- | bis Mac OS 10.6 (Snow Leopard) || <code>sudo dscacheutil -flushcache</code> |-- | bis OS X 10.8 (Mountain Lion) || <code>sudo killall -HUP mDNSResponder</code> |-- | OS X 10.9 (Mavericks) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | OS X 10.10 (Yosemite) <sup>*</sup> || bis 10.10.3:<br /><code>sudo discoveryutil mdnsflushcache; sudo discoveryutil udnsflushcaches</code><br />seit 10.10.4:<br /><code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | OS X 10.11 (El Capitan) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | OS X 10.12 (Sierra) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder; sudo killall mDNSResponderHelper</code> |-- | seit macOS 10.13 (High Sierra) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |} ---- <sup>*)</sup><small> In Version 10.10.0 wurde mDNSResponder durch discoveryd ersetzt, der in Version 10.10.4 wegen anhaltender Probleme wieder entfernt wurde. Somit gleicht das Vorgehen in Version 10.10.4 und neuer wieder dem Vorgehen unter OS X Mavericks.</small> 5f97740a75bf0dff3bbb8002fb12dc18ff910bf2 Create a DVD ISO disk image from a VIDEO TS folder 0 151 724 723 2023-03-10T08:38:58Z Hagbard 2 3 revisions imported wikitext text/x-wiki [[Category:OS]][[Category:Hint]] Um aus einem VIDEO_TS Ordner ein DVD UDF ISO zu erzeugen reicht folgende Zeile: <pre> hdiutil makehybrid -udf -udf-volume-name <Name> -o <Name>.iso <Ordnername> </pre> Weitere Informationen sind im Artikel zu [[Hdiutil|hdiutil]] zu finden. c0f4be1ab6110f501c05d99b1212a802ef23a5c3 Create Screen Shots in image formats other than PNG 0 152 729 728 2023-03-10T08:38:59Z Hagbard 2 4 revisions imported wikitext text/x-wiki [[Category:OS]][[Category:Hint]] ==Ausgabeformat von Screenshots ändern== Mit den Tastenkombinationen :{{Key press|CMD|Shift|3}} :{{Key press|CMD|Shift|4}} lassen sich unter MacOS Screenshots erstellen. Diese landen seit MacOS 10.4 (aka Tiger) als PNG-Grafik auf der Platte (früher: PDF). Das Dateiformat lässt sich jedoch mit der folgenden Änderung ändern bzw. wieder auf PDF zurückstellen. Anmerkung: :{{Key press|CMD|Ctrl|Shift|3} :{{Key press|CMD|Ctrl|Shift|4}} kopiert das Bild in die '''Zwischenablage''' ===Vorgehensweise im Terminal=== Im Terminal die folgende Zeile eingeben und mit <KB>return</KB> bestätigen: defaults write com.apple.screencapture type <nowiki><dateityp></nowiki> wobei <nowiki><dateityp></nowiki> durch das gewünschte Format zu ersetzen ist (z.B. PDF). Anschließend muss man sich neu anmelden, um die Änderungen wirksam werden zu lassen oder den folgenden Befehl im Terminal eingeben: killall SystemUIServer Prinzipiell lässt sich dort jedes von Quicktime unterstützte Bildformat angeben. ===fertige Tools=== Die Umstellung kann auch mit Hilfe eines graphischen Tools vonstatten gehen, z.b. mit * [http://www.imovieplugins.com/other%20products/savescreenie.html savescreenie] * [https://www.macupdate.com/app/mac/18774/scit SCIT] * [https://www.macupdate.com/app/mac/18695/shotchoice shotChoice] * [https://www.bresink.com/osx/TinkerTool.html TinkerTool] ===Unterstützte Bildformate=== * [http://de.wikipedia.org/wiki/Windows_bitmap BMP] (Windows Bitmap) * [http://de.wikipedia.org/wiki/GIF GIF] (Graphics Interchange Format) * [http://de.wikipedia.org/wiki/JPG JPEG] (Joint Photographic Experts Group) * [http://de.wikipedia.org/wiki/JPG JPEG-2000] * [http://de.wikipedia.org/wiki/PDF PDF] <sup>*)</sup> (Portable Document Format) * [http://en.wikipedia.org/wiki/PICT PICT] * [http://de.wikipedia.org/wiki/Portable_Network_Graphics PNG] <sup>*)</sup> (Portable Network Graphics) * PSD (Adobe Photoshop) * SGI * [http://de.wikipedia.org/wiki/Targa_Image_File TGA] (Targa Image File, von Truevision Inc.) * [http://de.wikipedia.org/wiki/TIFF TIFF] (Tagged Image File Format) <sup>*)</sup> getestet (nicht alle sind verifiziert und getestet, Kommentare sind wie immer willkommen) ce689adbdc47effa9e4729d07e6ec8a56e939737 Move windows across Spaces 0 153 735 734 2023-03-10T08:39:00Z Hagbard 2 5 revisions imported wikitext text/x-wiki [[Category:OS]][[Category:Hint]] Um unter Mac OS X 10.5 (Leopard) ein Fenster auf einen anderen Desktop von Spaces zu verschieben, ohne umständlich die Fenster mit der Maus herumdraggen zu müssen, genügt folgendes: * Fenster in der Titelleiste anklicken und Maustaste gedrückt halten (als ob man es verschieben will) * Desktop wechseln (standardmäßig <KB>CTRL</KB> + Desktopnummer Auf dem gewünschten Desktop die Maustaste wieder loslassen Alternativ kann man auch über die Spaces-Übersicht (standardmäßig über <KB>F8</KB> erreichbar) die Fenster zwischen verschiedenen Spaces hin- und herverschieben. {{Hint|Auf diese Weise lassen sich auch andere Drag'n'Drop Operationen durchführen, beispielsweise das Einfügen einer Grafikdatei aus einem Finder-Fenster von Desktop 1 in eine E-Mail auf Desktop 3.}} Unter Mac OS X 10.6 (Snow Leopard) lassen sich die Fenster auch direkt in der Spaces-Übersicht verschieben. f867c886cd2f010f585345da997241c693acd0db Disable Firefox History Navigation when swiping horizontally 0 155 747 746 2023-03-10T08:39:02Z Hagbard 2 5 revisions imported wikitext text/x-wiki [[Category:App]][[Category:Hint]] ==Horizontales History-Scrolling im Firefox== Im Firefox existieren ein paar Variablen, mit denen das Verhalten des Mausrades bestimmt werden kann. Dazu wird zwischen horizontalem und vertilkalem Scrolling unterschieden. ===Problem=== Insbesondere in Verbindung mit [https://www.macupdate.com/app/mac/17240/iscroll2 iScroll] kann die horizontale Version dabei äußerst lästig sein, da bei nicht exakt vertikalen Bewegungen auf dem Touchpad der Firefox munter in der History herumspringt. ===Abhilfe=== Um die Funktion umzubelegen bzw. zu deaktivieren, kann man den Wert einer Konfigurationsvariablen auf der Konfigurationsseite about:config ändern (einfach genau so in die Adresszeile eingeben). Dazu muss der Variablen mousewheel.horizscroll.withnokey.action ein anderer Wert zugewiesen werden, standardmäßig ist dies mousewheel.horizscroll.withnokey.action = 2 Ein wert von 0 schafft beispielsweise Abhilfe. Dass der Wert der Variablen verändert wurde, ist am Status erkennbar - da steht nun "Vom Benutzer festgelegt" (oder das lokalisierte Pendant). Zu beachten ist, dass der Wert ein '''[[Wikipedia:de:Integer_(Datentyp)|integer]]''' sein muss, die Variable also nur ganzzahlige Werte aufnehmen kann. == Siehe auch == * [[Versteckte Firefox-Einstellungen]] 97efaa8038c65c706312f257df12e142c469b856 Add Inline Images to Continuous TeXt 0 156 751 750 2023-03-10T08:39:02Z Hagbard 2 3 revisions imported wikitext text/x-wiki [[Category:TeX]][[Category:Hint]] Schön abgesetzte Grafiken und Abbildungen sind ja an sich in Ordnung; manchmal ist es aber zu Illustrationszwecken auch sehr praktisch, Grafiken vom Text umfließen zu lassen. Das geht mit TeX folgendermaßen: ===Package einbinden=== Zuerst ist das Package <font face="courier">wrapfig</font> notwendig, das wie folgt eingebunden wird: \usepackage{wrapfig} ===Grafiken erzeugen=== Anschließend wird beispielsweise wie folgt eine Grafik eingebunden: \begin{wrapfigure}[<font color="orange">$ZEILEN</font>]{<font color="orange">$AUSRICHTUNG</font>}{<font color="orange">$BEITE</font>} \includegraphics[<font color="orange">$IMAGEVARS</font>]{<font color="orange">$IMAGE</font>} \label{blah} \caption{blah} \end{wrapfigure} Wobei die obigen Variablen durch folgendes zu ersetzen sind: <font color="orange">$ZEILEN:</font> Anzahl der Zeilen Text, die die Grafiken umfließen sollen, z.B. 20 <font color="orange">$AUSRICHTUNG:</font> l (links) oder r (rechts) <font color="orange">$BREITE:</font> Breite des Textumflusses 4cm <font color="orange">$IMAGEVARS:</font> die sonst üblichen Optionen für Grafiken, z.B.: width=4cm <font color="orange">$IMAGE:</font> Grafikdatei ohne Endung, z.B. img01 Das kann dann ungefähr so aussehen: \begin{wrapfigure}[21]{r}{4cm} \includegraphics[width=4cm]{img/Siemens-sx1} \label{Mobiltelefon Siemens SX-1, Quelle: de.wikipedia.org} \caption{Mobil-telefon Siemens SX-1, Quelle: de.wikipedia.org} \end{wrapfigure} vielleicht nicht die eleganteste Lösung, aber sie funktioniert :) ===Alternative: {{TT|\parpic}}=== Alternativ kann für kleine Icons am Textrand auch das Package ''picins'' benutzt werden: <source lang="latex"> \usepackage{picins} \parpic{\includegraphics[width=1.6 cm]{pics/smallicons/MessageFilter}} </source> ccbd24c47651d9ebc0f55e74d01c2627f4ff5ebc Change the Wallpaper of the Login Screen 0 157 756 755 2023-03-10T08:39:03Z Hagbard 2 4 revisions imported wikitext text/x-wiki [[Category:Hint]][[Category:Verify]]Das im Anmeldebildschirm von Mac OS 10.5 verwendete Hintergrundbild befindet sich nicht im gleichen Verzeichnis wie die übrigen Desktop-Hintergrundbilder /Library/Desktop Pictures/ sondern an einer anderen Stelle im System: /System/Library/CoreServices/DefaultDesktop.jpg Um ein anderes Bild dafür zu verwenden, gibt es prinzipiell zwei Möglichkeiten: ===Ändern der Voreinstellungen=== Das zu verwendende Hintergrundbild wird in folgender Einstellungsdatei festgelegt und kann dementsprechend auch geändert werden: /Library/Preferences/com.apple.loginwindow Das kann in einem Editor der Wahl oder mit dem folgenden Befehl über das Terminal erfolgen: <source bash> /usr/bin/defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture "/pfad/zum/neuen/bild.jpg" </source> Um diese Änderung rückgängig zu machen, ist dann dasselbe mit dem ursprünglichen Bild aufzurufen: <source bash> /usr/bin/defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture "/System/Library/CoreServices/DefaultDesktop.jpg" </source> {{Information|1='''Achtung:''' Der Benutzer muss dazu Schreibrechte im Systemverzeichnis haben, d.h. den obigen Befehlen ist u.U. ein "{{TT|1={{Man|sudo|sudo}} }}" voranzustellen!}} ===Ersetzen der Datei=== Diese Datei ist einfach durch eine andere zu ersetzen, wobei die Zugriffsrechte der neuen Datei unbedingt angepasst werden müssen! Das kann entweder über den Info-Screen der Datei oder im Terminal erfolgen. Im {{Terminal}} sind dazu nacheinander folgende Befehle einzugeben (MYNEWPICTURE ist dabei durch den Pfad zum neuen Bild zu ersetzen): <source bash> cd /System/Library/CoreServices mv DefaultDesktop.jpg DefaultDesktop.jpg.original cp MYNEWPICTURE /System/Library/CoreServices/DefaultDesktop.jpg % chown root:wheel /System/Library/CoreServices/DefaultDesktop.jpg % chmod 644 /System/Library/CoreServices/DefaultDesktop.jpg </source> In neueren macOS Version wird dieser Pfad verwendet: /Library/Caches/Desktop Pictures/<UUID>/lockscreen.png wobei UUID durch die UUID des eigenen Benutzerkontos ersetzt werden muss. Diese kann in den Systemeinstellungen unter "Users & Groups" eingesehen werden, und zwar in den über einen secondary click (Rechtsklick) erreichbaren "Erweiterten Optionen" ("Advanced Options"). Es ist durchaus möglich, dass dieses Verzeichnis noch nicht existiert. Zum Erstellen werden jedoch Administrator-Rechte benötigt. {{Information|'''Achtung:''' Bei einem späteren Systemupdate kann diese Datei wieder durch die ursprüngliche Systemdatei überschrieben werden!}} ===Alternativen=== * [http://www.loginox.branox.com/ Loginox] (Freeware) 0f5fca7dea200f66a01f0b5c15769a48639be618 Collect localizable strings into a Localizable.strings file 0 158 760 759 2023-03-10T08:39:05Z Hagbard 2 3 revisions imported wikitext text/x-wiki [[Category:Development]][[Category:Hint]]Um aus einem existierenden Cocoa-/CocoaTouch-Projekt alle mit {{TT|NSLocalizedString}} lokalisierten Texte in ein {{TT|Localizable.strings}} File zu extrahieren, genügt es, im {{Terminal}} folgende Zeile (natürlich im Verzeichnis des jeweiligen Xcode-Projektes) einzugeben: {{Man|genstrings|genstrings}} ./path/to/classes/*.m zum Beispiel {{Man|genstrings|genstrings}} ./Classes/*.m um alle Texte aus den *.m Files im Verzeichnis {{TT|Classes}} auszulesen. Diese werden dabei in eine eventuell bereits existierende Datei hineingemerged, optional kann über die Option -a veranlasst werden, das die gefundenen Texte an eine vorhandene Datei lediglich angehängt werden. Mit der Option -o outputDir kann zusätzlich ein Zielverzeichnis angegeben werden Beispiel zum rekursiven Durchwandern aller .m Dateien und Ausgabe auf dem Desktop: find . -name \*.m | xargs genstrings -o ~/Desktop/ ==Siehe auch== * {{Man|genstrings|genstrings}} Manpage * [http://www.icanlocalize.com/site/tutorials/iphone-applications-localization-guide/ iPhone Applications Localization Guide] (icanlocalize.com) * [http://adeem.me/blog/2009/05/10/tutorial-part-2-localizing-your-iphone-application/ iPhone Tutorial (Part 2): Localizing your iPhone application] ;Apple: * [http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/LoadingResources/Strings/Strings.html String Resources] ;CocoaDev: * [http://www.cocoadev.com/index.pl?NSLocalizedString NSLocalizedString] * [http://www.cocoadev.com/index.pl?LocalizationTips LocalizationTips] 06ef024e931b41e998cd9bd36310b6cafa9c0c6f Activate Momentum Scrolling for a Magic Mouse 0 159 765 764 2023-03-10T08:39:05Z Hagbard 2 4 revisions imported wikitext text/x-wiki [[Category:Hint]][[Category:Terminal]] Um den animierten Nachlauf beim Scrollen (Momentum Scrolling) mit der [http://www.apple.com/de/magicmouse/ Apple Magic Mouse], der unter Mac OS X Snow Leopard in den Maus-Einstellungen (de-)aktivierbar ist, auch unter Mac OS X Leopard (10.5) zu aktivieren, ist im [[:Category:Terminal|Terminal]] folgendes einzugeben: defaults write com.apple.driver.AppleBluetoothMultitouch.mouse MouseMomentumScroll -bool yes Anschließend ist die Scrolling-Funktion in den Maus-Einstellungen (Systemeinstellungen -> Maus) zu deaktivieren und unmittelbar danach gleich wieder zu aktivieren. Nun sollte der Nachlauf aktiv sein, auch wenn er in den Systemeinstellungen nicht direkt sicht- oder auswählbar ist. Zum Deaktivieren einfach folgendes Kommando im Terminal ausführen: defaults delete com.apple.driver.AppleBluetoothMultitouch.mouse MouseMomentumScroll 042e9b283fb367a03527beb26440165bfe820b89 Mount Network Shares on Login 0 160 771 770 2023-03-10T08:39:07Z Hagbard 2 5 revisions imported wikitext text/x-wiki [[Category:Hint]][[Category:OS]] Netzwerkvolumes (z.B. AFP-, WebDAV- oder Windows-/SMB-Freigaben) bei der Anmeldung automatisch einzubinden ist erstaunlich einfach, dazu sind lediglich die folgenden wenigen Schritte notwendig: * Das entsprechende Netzwerkvolume verbinden * Systemeinstellungen öffnen * Zu "Benutzer & Gruppen" > "Anmeldeobjekte" wechseln Dort kann man über den "+" Button auch eine aktuell eingehängte Freigabe als Anmeldeobjekt hinzufügen, die fortan bei jeder Anmeldung dieses Benutzers eingehängt wird. Am einfachsten funktioniert das, wenn in den Finder-Einstellungen die Anzeige von "verbundenen Servern" in der Finder-Seitenleiste aktiviert ist; dadurch lässt sich die eingehängte Freigabe recht einfach auffinden und auswählen. c3966666495966f5ab8b05906b4c20ef5119c553 PDF Bookmarks with pdftex 0 161 775 774 2023-03-10T08:39:07Z Hagbard 2 3 revisions imported wikitext text/x-wiki [[Category:TeX]][[Category:Hint]] ==Links und Verweise mit pdftex== Mit dem pdfex Paket sind diverse PDF-Funktionen auch aus TeX-Dokumenten heraus verfügbar: ==Lesezeichen== Mit Hilfe von [http://www.tug.org/applications/pdftex/ pdftex] können bei der Generierung eines [[Wikipedia:de:PDF|PDF]] Dokuments Links und Verweise als PDF-Links und das Inhaltsverzeichnis in PDF-Bookmarks umgesetzt werden. Dazu werden unter anderem die Pakete '''pdftex''' und '''hyperref''' benötigt und mit entsprechenden Optionen eingebunden: \usepackage[pdftex,pagebackref,colorlinks, <font color="gray">% Farbe von TeX-Verweisen (URLs):</font> linkcolor=<font color="orange">black</font>, <font color="gray">% Farbe von Verweisen ins Web (URLs):</font> urlcolor=<font color="orange">black</font>, <font color="gray">% Farbe von Zitaten:</font> citecolor=<font color="orange">black</font>, <font color="gray">% Bookmarks mit Kapitelnummern versehen:</font> bookmarksnumbered=true, pdfauthor={<font color="orange">Autor</font>}, pdftitle={<font color="orange">Titel des Dokumentes</font>}, pdfsubject={<font color="orange">Thema</font>}, pdfkeywords={<font color="orange">Schlüsselwörter</font>} ] {hyperref} An das Dokument anzupassende Angaben sind jeweils <font color="orange">hervorgehoben</font> ==Hyperlinks== Um URL-Angaben als Hyperlink auszuführen, sind sie wie folgt anzugeben: \url{<font color="orange"><nowiki><link></nowiki></font>} also zum Beispiel: \url{[http://www.macwrench.de/wiki http://www.macwrench.de/wiki]} Formatiert werden (z.B. Schriftart und -größe) kann die Ausgabe dann wie oben beim Einbinden der Pakete oder durch Überladen der entsprechenden Funktionen. Im obigen Beispiel für die Lesezeichen sind das die Aangaben linkcolor=<font color="orange">black</font> und urlcolor=<font color="orange">black</font> Für eine vollständige Übersicht über die Syntax und mögliche Optionen gibts auf der [http://www.pdftex.org offiziellen Webseite] einiges an Dokumentation, weitere Links gibts in unserer [[TeX_Links|TeX-Linksammlung]]. 855b67fd2d59037cabefd24fa4863e1b8f131006 Kurztipp - PHP sicher konfigurieren 0 162 778 777 2023-03-10T08:39:07Z Hagbard 2 2 revisions imported wikitext text/x-wiki #REDIRECT [[PHP absichern]] 91e914d761697f3d1ed070338a11081b3f05f823 PHP Security 0 163 783 782 2023-03-10T08:39:08Z Hagbard 2 4 revisions imported wikitext text/x-wiki [[Category:Development]]In diesem Artikel sollen Möglichkeiten vorgestellt Werden, PHP gegen Angriffe abzusichern. Dabei sollen neben einigen Konfigurationstipps auch auf Erweiterungen wie mod-Security, FASTCGI oder suexec vorgestellt und beschrieben werden. ==Konfigurationsdateien== PHP-Direktiven lassen sich prinzipiell auf 2 verschiedenen Wegen einstellen: * in der Konfigurationsdatei {{tt|php.ini}} * in einer {{tt|.htaccess}} Datei mit Hilfe der PHP Apache-Direktiven ===php.ini=== Es existieren üblicherweise verschiedene Exemplare der Datei {{tt|php.ini}} für verschiedene Einsatzzwecke, hier am Beispiel eines Debian-Systems: {|style="margin-top:10px; margin-bottom:10px; margin-left:10px;" |-- |bgcolor="#e2e2e2"|Ort||bgcolor="#e2e2e2"|Zweck |-- |{{tt|/etc/php.ini }} ||Globale Konfiguration |-- |{{tt|/etc/php4/apache/php.ini }} ||Konfiguration für das Apache-PHP-Modul |-- |{{tt|/etc/php4/cgi/php.ini }} ||Konfiguration für den CGI-Betrieb im Apache |-- |{{tt|/etc/php4/cli/php.ini }} ||Konfiguration für die Nutzung in Shell-Skripten |} Unter Mac OS X existiert in der Standardinstallation lediglich die folgende Datei: /private/etc/php.ini ===.htaccess=== Einige (nicht alle!) Konfigurationsdirektiven lassen sich auch innerhalb der sog. ".htaccess" Dateien verwenden. Das ermöglicht beispielsweise unterschiedliche Einstellungen für einzelne VirtualHosts oder Verzeichnisse - so sind Produktivinstallationen anders (wesentlich restriktiver) zu konfigurieren als Entwicklungssysteme. Weitere Informationen zur Verwendung von .htaccess Dateien sind in den [[#Weitere_Informationen|am Ende des Artikels verlinkten Seiten]] nachzulesen. ===Wichtige Einstellungen=== {|style="margin-top:10px; margin-bottom:10px; margin-left:10px;" |-- |bgcolor="#e2e2e2" width="220px" |Direktive||bgcolor="#e2e2e2" width="120px" |Wert||bgcolor="#e2e2e2"|Beschreibung |-- |{{tt|php_flag register_globals}}||off||EGPCS Variablen sind nicht mehr global zugänglich bzw. als globale Variablen registriert (EGPCS = Environment/Umgebung, GET, POST, Cookie, Server) |-- |{{tt|php_flag display_errors}}||off||Fehlermeldungen nicht im Client (Browser) darstellen |-- |{{tt|php_flag log_errors}}||on||Fehlermeldungen in ein Logfile schreiben |-- |{{tt|php_flag error_log}} ||$PFADANGABE||Pfadangabe für das Logfile, z.B. {{tt|/home/web/logs/php4.log}} |-- | || syslog || Fehlermeldungen werden durch syslogd protokolliert |} ==PHP safe mode== Der sog. "safe mode" von PHP dient in erster Linie dazu, Sicherheitsprobleme durch Dateizugriffe bei gemeinsam genutzten Server (sog. "shared server", wie sie beispielsweise bei handelsüblichen Web-Hosting Angeboten zum Einsatz kommen) zu verhindern. Sprich: Kunde A soll nicht auf die Dateien und Verzeichnisse des Kunden B zugreifen können. Anschließend überprüft der PHP-Parser, ob der Eigentümer der Datei identisch mit dem Benutzer ist, der das Skript aufruft. Außerdem ist im safe mode der Zugriff auf [http://de.php.net/manual/de/reserved.variables.php Umgebungsvariablen] nur lesend möglich. Dieser Ansatz hat jedoch den großen Nachteil erhebliche Nebenwirkungen auf verschiedenste PHP-Funktionen zu besitzen. Eine Übersicht der dadurch eingeschränkten Funktionen ist [http://de.php.net/manual/de/features.safe-mode.php#features.safe-mode.functions im PHP Handbuch] nachzulesen. ===safe mode aktivieren=== Aktiviert und konfiguriert wird der PHP safe mode in der Konfigurationsdatei {{tt|php.ini}} durch die folgenden Direktiven: {| |-- |bgcolor="#e2e2e2" width="250px"|Direktive||bgcolor="#e2e2e2"|Beschreibung |-- |safe_mode = on || safe mode anhand eines Benutzers |-- |safe_mode_gid = 0||safe mode anhand der Gruppenzugehörigkeit (anstatt safe-mode zu verwenden, unter Angabe der Group-ID) |-- |safe_mode_include_dir = || Freigabe von Verzeichnissen für die PHP-Funktionen include() und require(). Mehrere Verzeichnisse werden durch Kommata getrennt, die Freigabe gilt dabei für die angegebenen Verzeichnisse inklusive allen darin enthaltenen Unterverzeichnissen. |-- |safe_mode_exec_dir = || Freigabe von Verzeichnissen für Systemaufrufe durch Funktionen wie system() oder exec() (Handhabung siehe safe_mode_include_dir) |-- |safe_mode_allowed_env_vars = PHP_ ||Freigabe von Umgebungsvariablen für schreibenden Zugriff. Ist der Wert leer, werden ALLE Umgebungsvariablen freigegeben! Mehrere Variablen/Präfixe werden durch Kommata voneinander getrennt. |-- |safe_mode_protected_env_vars = LD_LIBRARY_PATH ||Enthält eine Liste aller Umgeungsvariablen, die <u>nicht</u> mit der Funktion putenv() veränderbar sein sollen. '''Hinweis:''' die Angabe safe_mode_allowed_env_vars hebt diesen Schutz wieder auf! |-- |} ===safe mode abfragen=== Mit den folgenden Zeilen PHP-Code kann abgefragt werden, ob der safe mode aktiviert ist: <?php if ( ini_get('safe_mode') ) { // safe mode aktiviert } else { // safe mode nicht aktiviert } ===Dateizugriffe mit {{tt|open_basedir}} einschränken=== Eine weitere Möglichkeit alternativ zum safe mode, Dateizugriffe einzuschränken, ist der Einsatz der PHP Direktive open_basedir Im Rahmen der Apache-Konfiguration. Dadurch ist es möglich, für jeden Benutzer des Servers Dateizugriffsopertationen auf ein bestimmtes Verzeichnis (üblicherweise dessen Document Root) einzuschränken, z.B.: <Directory /home/web/user0815/> php_admin_value open_basedir /home/web/user0815/ </Directory> Durch folgenden Eintrag: disable_functions readfile,system in der Datei {{tt|php.ini}} kann zusätzlich der Zugriff durch die PHP Funktionen readfile() und system() verhindert werden (siehe folgender Abschnitt). ===Direktiven unabhängig von {{tt|safe_mode}}=== {| |-- |bgcolor="#e2e2e2" width="200px"|Direktive||bgcolor="#e2e2e2"|Beschreibung |-- |open_basedir = || Freigabe eines Verzeichnisses für Dateioperationen, wirksam für das Verzeichnis mit allen Unterverzeichnissen, unabhängig von der safe_mode Konfiguration. Bei Angabe eines Punktes "." wird der Speicherort des gerade ausgeführten Skriptes als basedir verwendet (sicherheitstechnisch bedenklich, da durch chdir() veränderbar). Kann durch die Angabe von {{tt|php_admin_value open_basedir none}} in der {{tt|httpd.conf}} deaktiviert werden. |-- |disable_functions = || Eine Liste von Funktionen, die (aus Sicherheitsgründen) nicht ausgeführt werden dürfen. Kann auch in der Datei {{tt|php.ini}} konfiguriert werden, nicht jedoch in der Datei {{tt|httpd.conf}} |-- |disable_classes = || Angabe einer Liste von Klassen, die (aus Sicherheitsgründen) nicht verwendet werden dürfen. Kann auch in der Datei {{tt|php.ini}} konfiguriert werden, nicht jedoch in der Datei {{tt|httpd.conf}} |} ==suexec, FastCGI und suPHP== ''... kommt noch ...'' Web-Links: * [http://www.suphp.org/ suPHP Projekt] (Ausführen von PHP Skripten mit den Rechten des Dateibesitzers) * [http://httpd.apache.org/docs/1.3/suexec.html suexec] (apache.org) * FastCGI: [http://www.fastcgi.com/ Projektseite], [[wikipedia:de:FastCGI|Wikipedia-Artikel]] ==Apache-Hardening mit mod_security== mod-Security ist eine [[wikipedia:de:Web_Application_Firewall|Applikationsfirewall]] in Form eines Apache-Moduls. Dabei kann anhand von Regeln - in denen auch [[wikipedia:de:Regulärer Ausdruck|reguläre Ausdrücke]] zum Einsatz kommen können - definiert werden, welche GET- und POST-Aufrufe<ref name="HTTPrequest">GET und POST sind verschiedene Methoden für [[wikipedia:de:Hypertext_Transfer_Protocol|HTTP]]-Anragen an einen Server</ref> "böse" sind und daher blockiert werden sollen. Diese Regeln werden dann direkt in die Apache-Konfiguration integriert und sehen beispielsweise so aus: <nowiki>SecFilter "drop[[:space:]]table"</nowiki> Obiger Eintrag blockiert also den String "drop table" und soll damit das Löschen einer Tabelle via [[wikipedia:de:SQL|SQL-Query]] verhindern. Mit diese Modul können also recht einfach verschiedene Ziele verfolgt werden: * Verminderung der Gefahr von SQL-Injection (Einfügen von Datenbankabfragen durch mangelhafte Überprüfung eingegebener Daten, z.B. in Formularen oder über die URL) * Abfangen von Systemaufrufen über fehlerhafte Skripte * Protokollierung sicherheitsrelevanter Vorfälle * Absichern des WebServers durch die "chroot"-Funktion von mod_security (Kapseln der Laufzeitumgebung des Webservers, um bei Angriffen Übergriffe auf die Systemumgebung zu verhindern) Außerdem bietet mod_security noch einige nette "Security-by-Obscurity" Funktionen wie beispielsweise das Ändern der Serversignatur: SecServerSignature "Microsoft-IIS/5.0" Der Einsatz von mod_security empfiehlt sich vor allem in den folgenden Fällen: * Software, die nur ungenügend getestet wurde * Software, die bekanntermaßen recht häufig Sicherheitslücken aufweist * Eigenentwicklungen (Jeder macht Fehler) mod_security bietet also einige wertvolle Funktionen zur Absicherung eines Webservers und der darin laufenden Applikationen, ohne gleich auf schwergewichtigere Lösungen wie [[wikipedia:de:Intrusion_Detection_System|IDS]] (Intrusion Detection System, z.B. [[wikipedia:de:Snort|Snort]]), [[wikipedia:de:Proxy|Proxies]] oder [[wikipedia:de:Application_Layer_Gateway|ALG]] (Application Level Gateway) setzen zu müssen. Weitere Informationen zu mod_security finden sich [[#mod_security|am Ende dieses Artikels]]. ==Verschiedene Tipps== ===PHP Skripte vor direkter Ausführung sichern=== Eine einfache Möglichkeit, das Ausführen von PHP-Skripten - und auch allgemein auch das Auslesen von durch PHP-Skripte eingebundene Dateien - durch direkte Adressierung im Browser zu verhindern, ist das Erstellen einer .htaccess-Datei mit dem folgenden Inhalt: order allow,deny deny from all Dadurch wird der direkte Zugriff auf die Dateien verhindert, Skripte können diese Dateien jedoch weiterhin problemlos einbinden und verwenden. ==Weitere Informationen== ===PHP Ressourcen=== * Artikel [[Webentwicklungs-Ressourcen]] hier im Wiki * [http://de.php.net/manual/de/ PHP Handbuch] (offizielles Handbuch) * Apple Developer Connection: [[ADC:internet/opensource/php.html|PHP on Mac OS X]] * O'Reilly [http://www.onlamp.com/php/ ONLamp.com/php]: PHP devcenter * [http://www.hardened-php.net/ Hardened-PHP Project] * [http://www.phpsec.org/ PHP Security Consortium] ===PHP Konfiguration=== * PHP Handbuch: [http://de.php.net/manual/de/security.php Teil IV. Sicherheit] * php.net: [http://de2.php.net/manual/de/print/configuration.php#configuration.file Informationen zur Konfiguration] * php.net: [http://de2.php.net/manual/de/print/ini.php Übersicht aller php.ini Direktiven] und [http://de2.php.net/manual/de/print/ini.core.php deren Beschreibung] * Securityfocus: [http://www.securityfocus.com/infocus/1706 Securing PHP Step-by-Step] * [http://phpsec.org/projects/phpsecinfo/ PHPSecInfo] - gibt analog zu {{tt|phpinfo()}} sicherheitsrelevante Informationen zur aktuellen PHP-Konfiguration aus. ===PHP safe mode=== * PHP Handbuch: [http://de.php.net/manual/de/features.safe-mode.php Kapitel 42. Safe Mode] * domainepublic.net: [http://doc.domainepublic.net/php/doc.php.court/ini.sect.safe-mode.html Konfigurationsübersicht] (Sécurité et Safe Mode) ===Apache Web Server=== * [http://httpd.apache.org Projektseite] des Apache Server Project * [http://de.selfhtml.org/servercgi/server/apache.htm Kleine Apache-Einführung] bei SelfHTML.org * Securityfocus: [http://www.securityfocus.com/infocus/1694 Securing Apache Step-by-Step] * Securityfocus: [http://www.securityfocus.com/infocus/1786 Securing Apache 2 Step-by-Step] ===.htaccess=== * [http://de.selfhtml.org/servercgi/server/htaccess.htm SelfHTML Artikel] zu .htaccess Dateien * [[wikipedia:de:Htaccess|Wikipedia-Artikel]] zum Thema * Beschreibung in der Apache Dokumentation, für [http://httpd.apache.org/docs/1.3/howto/htaccess.html Apache 1.3] und [http://httpd.apache.org/docs/2.0/howto/htaccess.html Apache 2] * Ken Coar: [http://apache-server.com/tutorials/ATusing-htaccess.html Using .htaccess Files with Apache] ===mod_security=== * [http://www.modsecurity.org/ Projektseite] * modsecurity.org: [http://www.modsecurity.org/documentation/quick-examples.html Quick examples] * Securityfocus: [http://www.securityfocus.com/infocus/1739 Web Security Appliance With Apache and mod_security] * O'Reilly [http://www.onlamp.com/ ONLamp.com]: ** [http://www.onlamp.com/pub/a/apache/2003/11/26/mod_security.html Introducing mod_security] ** [http://www.onlamp.com/pub/a/onlamp/2005/06/09/wss_security.html Securing Web Services with mod_security] * Fedora News: [http://fedoranews.org/jorge/mod_security/ HOWTO: Enhancing Apache with mod_security] ===PHPIDS=== * [http://php-ids.org/ Projektseite] * PHPIDS [http://groups.google.de/group/php-ids/ Google Group] * [http://www.heise.de/security/Erste-Schritte-mit-der-Einbruchserkennung-PHPIDS--/artikel/136032 Artikel auf heise security] vom 24.04.2009] * [http://www.net-developers.de/2009/05/23/phpids-intrusion-detection-system/ Weiterer Artikel auf net-developers.de] ===Weitere Themen=== * Securityfocus: [http://www.securityfocus.com/infocus/1726 Securing MySQL Step-by-Step] ===Bücher=== * '''PHP-Sicherheit. PHP/MySQL-Webanwendungen sicher programmieren'''<br />von Christopher Kunz, Peter Prochaska (Dpunkt Verlag), ISBN 3898643697<br />Buchtipp des [http://www.phpmagazin.de/itr/buchtipps/psecom,id,503,nodeid,63.html PHP-Magazins] ----- <references/> 975dfa0f3db48711ff6dd33f8d044e7762a4b321 Source Code Listings with LaTeX 0 164 787 786 2023-03-10T08:39:09Z Hagbard 2 3 revisions imported wikitext text/x-wiki [[Category:TeX]][[Category:Hint]] ==Listings in TeX Dokumenten== Um in [[Wikipedia:de:TeX|TeX]] Dokumenten Quelltexte (Programmlistings) einzufügen, bietet sich die Verwendung des Pakets '''listings''' an. Dazu muss das Paket zuerst mit <source lang="latex"> \usepackage{listings} </source> eingebunden werden, außerdem empfiehlt sich für farbiges Syntax-Highlighting die Verwendung des Pakets ''color'' <source lang="latex"> \usepackage{color} </source> ==Quellcode einbinden== Dazu gib es 2 Möglichkeiten, entweder direkt im TeX Dokument (inline) oder als eigenständige Datei: ===inline=== <source lang="latex"> \begin{lstlisting} [caption={ein paar Zeilen code}\label{lst:test123},captionpos=t] for i:=maxint to 0 do begin j:=square(root(i)); end; \end{lstlisting} </source> ===externe Datei=== Hier im Beispiel eine Datei namens <font face="courier">beispiel.java</font> <source lang="latex"> \lstinputlisting [caption={Ein kleines Programm in Java} \label{lst:javaclass}, captionpos=t,language=JAVA] {listings/beispiel.java} </source> ===Hinweise=== '''label:''' Label für Referenzen auf das Listing mit \ref{lst:xyz}<br /> '''caption:''' Beschreibungstext<br /> '''captionpos:''' Position des Beschreibungstextes (t=top, b=bottom)<br /> '''language:''' [Dialekt]Sprache - Angabe einer Programmiersprache (z.B. JAVA, XML, C, C++) oder eines Dialekts (z.B. [LaTeX]TeX) ==Formatierung== ===Farben=== Mit Hilfe des Pakets ''color'' lassen sich mit Hilfe von <source lang="latex"> \color{<colour>} </source> Farbwerte verwenden sowie eigene definieren, z.B.: <source lang="latex"> \definecolor{middlegray}{rgb}{0.5,0.5,0.5} \definecolor{lightgray}{rgb}{0.8,0.8,0.8} \definecolor{orange}{rgb}{0.8,0.3,0.3} \definecolor{yac}{rgb}{0.6,0.6,0.1} </source> ===Quellcode=== Die Darstellung der Quellcodeabschnitte wird über \lstset{} formatiert, dabei stehen mehrere Variablen zur Verfügung, z.B.: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em;" ! background:#e3e3e3; width="200px" | Variable || width="200px" | Beschreibung || Beispiel |- | backgroundcolor || Hintergrundfarbe || \color{lightgray} |- | basicstyle || Schriftformatierung || \scriptsize\ttfamily |- | keywordstyle || Schlüsselwörter || \bfseries\ttfamily\color{orange}, |- | stringstyle || Variablen || \color{green}\ttfamily, |- | commentstyle || Kommentare || \color{middlegray}\ttfamily, |- | emph<br />emphstyle<br />emph<br />emphstyle | Variablen | square<br />\color{blue}\texttt<br />[2]root,base<br />[2]\color{yac}\texttt |- | showstringspaces || leerzeichen in Strings darstellen || true / false |- | flexiblecolumns || Spaltenbreite dynamisch/fest || true / false |- | tabsize || Tabulatorenbreite || 2, |- | numbers || Position der Zeilennummern || left / right |- | numberstyle || Größe der Zeilennummern || \tiny |- | numberblanklines || leere Zeilen durchnummerieren || true / false |- | stepnumber || Beginn der Nummerierung || 1 |- | numbersep || Abstand zwischen Zeilennummern und Quellcode || 10pt |- | xleftmargin || Abstand zum Rand || 15pt |} '''Anm.:'''<br /> Formatierung immer $key={$value}, Trennung mehrerer Definitionen durch Kommata<br /> <source lang="latex"> \bfseries: '''fettgedruckt'''<br /> \ttfamily: <font face="courier">typewriter</font><br /> \tiny: <small>klein</small> </source> Beispiel: <source lang="latex"> \lstset{ basicstyle=\scriptsize\ttfamily, keywordstyle=\bfseries\ttfamily\color{orange}, stringstyle=\color{green}\ttfamily, commentstyle=\color{middlegray}\ttfamily, emph={square}, emphstyle=\color{blue}\texttt, emph={[2]root,base}, emphstyle={[2]\color{yac}\texttt}, showstringspaces=false, flexiblecolumns=false, tabsize=2, numbers=left, numberstyle=\tiny, numberblanklines=false, stepnumber=1, numbersep=10pt, xleftmargin=15pt } </source> ==Quellcodeverzeichnis== Analog zu Abbildungs- und Tabellenverzeichnis kann auch ein Quellcodeverzeichnis eingebunden werden, das funktioniert mit <source lang="latex"> \lstlistoflistings </source> Um einen Eintrag im Inhaltsverzeichnis zu ermöglichen, sind jedoch einige Handgriffe erforderlich, so sind im TeX-Kopf (also vor <font face="courier">\begin{document}</font>) einige Elemente aus dem Dokumentenstyle (hier book.cls) und listings.sty zu überladen. Zur Info: die beiden Dateien befinden sich üblicherweise an den Orten /usr/local/teTeX/share/texmf.tetex/tex/latex/base/book.cls bzw. /usr/local/teTeX/share/texmf.tetex/tex/latex/listings/listings.sty wobei diese Dateien ja nicht editiert werden. Das erfolgt durch Einfügen des Code in das TeX-Dokument, und zwar zwischen die Tags <source lang="latex"> \makeatletter ... \makeatother </source> mit Hilfe der Anweisungen <source lang="latex"> \renewcommand (einen existierenden Befehl überschreiben) \newcommand (einen neuen Befehl erzeugen) </source> Das sieht dann - analog zu den [[Kurztipp - Verzeichnisse mit Kapitelnummern|Verzeichnissen]] etwa so aus: <source lang="latex"> \makeatletter % Festlegen des Kapitelnamen (nicht unbedingt notwendig): % aus listing.sty \renewcommand\lstlistlistingname{Quellcode} % Erzeugen eines Eintrags im Inhaltsverzeichnis: % aus book.cls \newcommand\loltableofcontents{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi \chapter*{\contentsname % \@mkboth{% % \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% \chapter{\lstlistlistingname} \@starttoc{toc}% \if@restonecol\twocolumn\fi } % Erzeugen des Quellcodeverzeichnisses: % aus listing.sty \renewcommand\lstlistoflistings{\bgroup \let\contentsname\lstlistlistingname \let\lst@temp\@starttoc \def\@starttoc##1{\lst@temp{lol}}% \loltableofcontents \egroup} \makeatother </source> c86460933ff871e8278433b4a18658405e9e6bc2 Activate HiDPI Screen Resolutions (Duplicate) 0 165 791 790 2023-03-10T08:39:10Z Hagbard 2 3 revisions imported wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]] __NOEDITSECTION__ Um zu Testzwecken auch auf nicht-Retina-Geräten die entsprechenden Auflösungen zur Verfügung zu haben, ist im {{Terminal}} folgendes Kommando einzugeben: sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true Anschließend ist eine erneute Anmeldung notwendig, um diese Änderung wirksam werden zu lassen. Die Retina-Auflösungen sind in den Monitoreinstellungen am Zusatz (HDPI) zu erkennen. Das Deaktivieren kann auf zwei verschiedene Arten erfolgen: sudo defaults delete /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled oder sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool false 8ea2237d9892e4fdd94c1d478d47ad90a456c957 SSD Reconditioning 0 166 796 795 2023-03-10T08:39:11Z Hagbard 2 4 revisions imported wikitext text/x-wiki [[Category:Hint]] Nach einem längeren Zeitraum und dementsprechend vielen Schreibzugriffen neigen SSDs im Allgemeinen dazu, durch eine ungünstige Verteilung der belegten Speicherbereiche immer langsamer zu werden - insbesondere bei gleichzeitigen Zugriffen bei erhöhter CPU-Last. Dies zeigt sich dann beispielsweise in einem Geschwindigkeitstest mit dem kostenlosten (jedoch nicht Open Source) Programm [https://www.aja.com/de/products/aja-system-test AJA System Test]. Eine Abhilfe ist zwar rein technisch gesehen recht einfach, jedoch relativ zeitraubend und es wird ein weiterer Datenträger von mindestens der Größe der aufzufrischenden SSD benötigt. Im Wesentlichen wird dazu die SSD geleert - d.h. vollständig mit 0en "voll"-geschrieben und anschließend wieder mit den vorherigen Nutzdaten (Betriebssystem etc.) befüllt. Dazu sind die folgenden Schritten durchzuführen: # ein '''vollständiges Backup''' der gesamtem SSD, beispielsweise auf eine externe Festplatte (s.u.) # '''Löschen der Partitionen''' auf der SSD (via Festplattendienstprogram) # '''Wiederherstellen des Backups''' von der externen HDD auf der SSD Nun sollte der AJA System Test wieder deutlich höhere Werte ausgeben. Viele Anleitungen beschreiben auch das Löschen der gesamten SSD durch Überschreiben aller Speicherbereiche mit Nullen. Diese Funktion des Festplattendienstprogramms (über den Button "Freien Speicher löschen ...") ist für SSDs aus technischen Gründen nicht verfügbar (siehe [https://support.apple.com/en-us/HT201949 hier]). Alternativ kann das natürlich auch über ein Terminal-Kommando bewerkstelligt werden, wobei die Wirkung dessen wohl eher zweifelhaft zu sein scheint: dd if=/dev/zero of=/dev/<partition> bs=100k Die Datensicherung kann entweder über das OS X Festplattendienstprogramm oder (idealerweise) mit Programmen wie [http://www.bombich.com Carbon Copy Cloner] (kommerziell) oder [http://www.shirt-pocket.com/SuperDuper/ SuperDuper] (kostenlos mit eingeschränktem Funktionsumfang, hierfür jedoch ausreichend) durchgeführt werden; letztere beiden sind dabei deutlich komfortabler zu bedienen (im Vergleich zum OS X Bordwerkzeug) und bieten diverse Konfigurationsmöglichkeiten. '''''Anmerkung, etwas off-topic:''''' Die beiden genannten Programme ([[User:Hagbard|ich persönlich]] bevorzuge den CCC) bieten sich beispielsweise auch für laufende Hintergrundsicherungen der gesamten SSD an, so dass der Mac im Schadensfall einfach direkt von der externen Sicherung aus gestartet wird und man ohne Unterbruch und (hoffentlich Datenverluste) weiterarbeiten kann, da so immer ein vollständiges und lauffähiges System zur Verfügung steht. Für die Sicherung der allerwichtigsten und sich häufig ändernden Daten kann man dann immer noch zusätzlich Time Machine verwenden ... == Siehe auch== * arstechnica: [http://arstechnica.com/information-technology/2012/06/inside-the-ssd-revolution-how-solid-state-disks-really-work/ Solid-state revolution: in-depth on how SSDs really work] * Mac Performance Guide: [http://macperformanceguide.com/Storage-SSD-Reconditioning.html Reconditioning a solid state drive (SSD)] * Mac Performance Guide: [http://macperformanceguide.com/blog/2010/20100529_DiskTester--dlt-ssd.html Restoring solid state drive performance with DiskTester ‘recondition’] * Cnet: [http://www.cnet.com/news/maintaining-ssd-drives-in-os-x/ Maintaining SSD drives in OS X] d7bbda2837161ad3c5cabc110ccaf253e2d880ff SSH keep alive 0 167 800 799 2023-03-10T08:39:11Z Hagbard 2 3 revisions imported wikitext text/x-wiki [[Category:Hint]][[Category:Terminal]] Um im [[:Category:Terminal|Terminal]] SSH-Sessions automatische Verbindungsabbrüche (in der Regel durch Firewalls, Load Balancer o.Ä. verursacht) zu verhindern, genügt es, folgende Zeilen in die SSH-Konfiguration zu schreiben: == Client == <source> ServerAliveInterval 300 ServerAliveCountMax 3 </source> D.h. das bei ggf erst nach 3x300 Sekunden die Verbindung beendet wird. systemweite Konfiguration: /etc/ssh_config Benutzerspezifische Konfiguration: ~/.ssh/config == Server == <source> ClientAliveInterval 300 ClientAliveCountMax 3 </source> Anschließend muss der Server neu gestartet werden, entweder über die Systemeinstellungen oder mit Hilfe dieses Terminal-Kommandos: <source> launchctl stop org.openbsd.ssh-agent launchctl start org.openbsd.ssh-agent </source> eine Liste der laufenden Dienste ist über diese Anweisung erreichbar: <source> launchctl list </source> ==Siehe auch== * [http://drupal.star.bnl.gov/STAR/comp/sofi/facility-access/ssh-stable-con/ SSH connection stability] * Man pages: {{Man|ssh|ssh}}, {{Man|ssh_config|ssh_config}}, {{Man|sshd|sshd}}, {{Man|sshd_config|sshd_config}} 2fd1c471ebd95eb8b94d521d385b063f465d27ba Launch Safari in Private Mode 0 168 804 803 2023-03-10T08:39:12Z Hagbard 2 3 revisions imported wikitext text/x-wiki [[Category:Hint]] Bekanntermaßen existiert in Safari eine Funktion "Privates Surfen", bei der keine Cookies oder Cache-Inhalte dauerhaft gespeichert werden. Dieser muss jedoch nach dem Start von Safari jedes Mal von Hand aktiviert und bestätigt werden, was unter Umständen recht lästig sein kann. Mit folgendem AppleScript lässt sich Safari jedoch auch direkt in diesem Modus starten: <source lang="AppleScript"> tell application "Safari" activate end tell tell application "System Events" to tell process "Safari" set hier_klicken to menu item 6 of menu 2 of menu bar 1 -- Menüpunkt "Privates Surfen" click hier_klicken click button "OK" of window 1 end tell </source> Dazu ist obiger Code einfach im AppleScript-Editor einzugeben und das Skript anschließend als Programm (.app Bundle) exportieren. b346bde4981a513eb14c1521044d2f9a4497c1c3 Kurztipp - Screenshots ohne Schatten 0 169 807 806 2023-03-10T08:39:12Z Hagbard 2 2 revisions imported wikitext text/x-wiki #redirect [[Screenshots_von_Fenstern_ohne_Schatten]] 3af12a5eda76371e68080e3f41f64a12d6643ee3 Kurztipp - Screenshots ohne Schatten erstellen 0 170 811 810 2023-03-10T08:39:13Z Hagbard 2 3 revisions imported wikitext text/x-wiki [[Category:Hint]][[Category:OS]]Standardmäßig werden Screenshots von Einzelfenstern - entweder via "Bildschirmfoto.app" oder mit Hilfe der [[Mac Keyboard Shortcuts|Tastenkombination]] <KB>CMD + SHIFT + 4</KB> und anschließendem <KB>SPACE</KB> immer mit einem Schlagschatten versehen. Um dieses Verhalten abzustellen, ist folgende Eingabe im {{Terminal}} nötig: defaults write com.apple.screencapture disable-shadow -bool true Um diese Anweisung unmittelbar wirksam werden zu lassen, ist noch folgende Anweisung auszuführen: killall SystemUIServer Und um das Standardverhalten wiederherzustellen, kann folgende Anweisung verwendet werden: defaults delete com.apple.screencapture disable-shadow 6adf4fa4fc5d49d4525e661b17467a0114d80eef Free unused disk cache 0 171 815 814 2023-03-10T08:39:14Z Hagbard 2 3 revisions imported wikitext text/x-wiki [[Category:Hint]][[Category:Terminal]][[Category:OS]] Gestarteten Applikationen zugewiesener Speicher wird in der Regel nicht sofort nach dem Beenden der jeweiligen Applikation wieder freigegeben, um einen erneuten Start zu beschleunigen. Falls die Applikation jedoch so schnell nicht wieder gestartet werden soll und (wie beispielsweise Bildbearbeitungen oder Virtualisierungsumgebungen wie Virtual Box) relativ viel Speicher benötigt, kann dieser auch manuell freigegeben werden. Zu diesem Zweck existieren im Mac App Store zwar verschiedene - teils kostenlose, teils kostenpflichtige - Apps, ein einfacher Aufruf im [[:Category:Terminal|Terminal]] genügt dafür jedoch ebenfalls: purge Durch dieses Kommando wird inaktiver (also derzeit nicht verwendeter) Speicher wieder freigegeben, üblicherweise eben durch Applikationen, die in letzter Zeit gestartet und bereits wieder beendet wurden. Ein vorher-nachher Vergleich ist über das Dienstprogramm "Aktivitätsanzeige" möglich. Der dort als "Inaktiv" bezeichnete Speicherbereich kann durch {{TT|purge}} in der Regel größtenteils freigegeben werden: * '''Reserviert (wired):''' Von Systemprozessen belegter Speicher (z.B. Kernel, Treiber usw.) * '''Aktiv:''' von aktuell gestarteten Programmen belegter Speicher * '''Inaktiv:''' für in der jüngeren Vergangenheit gestartete und bereits wieder beendete Programme reservierter Speicher * '''Benutzt:''' Die Summe dieser drei Werte {{Information|'''Hinweis:''' damit dieses Terminal-Kommando verfügbar ist, muss unter älteren OS X Versionen (bis incl. 10.6) das "BSD Subsystem" von OS X installiert sein. Dies ist Teil der OS X Systemdistribution und war bis Version 10.6 auf den Installationsmedien als extra Installationspaket enthalten. Seit OS X Lion ist es jedoch immer installiert.}} ==Siehe auch== * manpage zu {{Man|purge|purge}} * [http://support.apple.com/kb/HT1342?viewlocale=en_US&locale=en_US Using Activity Monitor to read System Memory and determine how much RAM is being used] (support.apple.com) * [http://blog.55minutes.com/2012/05/taming-the-lion-inactive-memory-problem/ Taming the Lion Inactive Memory Problem] (blog.55minutes.com) * [http://hints.macworld.com/article.php?story=20120410153721860 Automatically reclaim memory from leaky programs] (hints.macworld.com) ec2216ac8348042e27a91558092d25b6b780e0f8 Show Hidden Files and Folders in Finder Windows 0 172 819 818 2023-03-10T08:39:14Z Hagbard 2 3 revisions imported wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]]Um mit Bordmitteln und ohne weitere Tools (wie z.B. dem [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool]) die Darstellung versteckter (System-)Dateien zu aktivieren, ist einfach folgende Zeile im {{Terminal}} einzugeben: defaults write com.apple.finder AppleShowAllFiles -boolean true Damit die Änderung wirksam wird, muss man sich entweder ab- und wieder anmelden, oder man startet mit Hilfe des folgenden Terminal-Kommandos den Finder neu: killall Finder Deaktiviert wird das ganze mit folgendem Kommando: defaults delete com.apple.finder AppleShowAllFiles ==Alle Symbole des Desktop ausblenden== Umgekehrt kann man mit folgender Anweisungf auch alle Symbole des Desktop ausblenden: defaults write com.apple.finder CreateDesktop -bool FALSE; killall Finder Was sich mit folgender Anweisung auch wieder rückgängig machen lässt: defaults write com.apple.finder CreateDesktop -bool TRUE; killall Finder a3de54260559427b95d70f761edc239bf98b991b Show Numbered Chapters in a TeX TOC 0 173 824 823 2023-03-10T08:39:15Z Hagbard 2 4 revisions imported wikitext text/x-wiki [[Category:TeX]][[Category:Hint]] ==Verzeichnisse mit Kapitelnummern versehen== Standardmäßig werden im Dokumententyp ''book'' Verzeichnisse ohne Kapitelnummern dargestellt und tauchen nicht im Inhaltsverzeichnis auf. Das entspricht dem Effekt, den man durch die Verwendung von <source lang="latex"> \chapter*{} </source> anstatt von <source lang="latex"> \chapter{} </source> erreicht. Das kann aber durch Überladen einiger Anweisungen aus der Datei '''book.cls''' geändert werden, wobei der Code im Kopf des TeX-Dokumentes (also vor <font face="courier">\begin{document}</font>) zwischen den Tags <source lang="latex"> \makeatletter ... \makeatother </source> stehen sollte. Das sieht dann etwa so aus: ===Abbildungsverzeichnis=== <source lang="latex"> \renewcommand\listoffigures{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi %\chapter*{\listfigurename}% \chapter{\listfigurename}% \@mkboth{\MakeUppercase\listfigurename}% {\MakeUppercase\listfigurename}% \@starttoc{lof}% \if@restonecol\twocolumn\fi } </source> ===Tabellenverzeichnis=== <source lang="latex"> \renewcommand\listoftables{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi %\chapter{\listtablename}% \chapter{\listtablename}% \@mkboth{% \MakeUppercase\listtablename}% {\MakeUppercase\listtablename}% \@starttoc{lot}% \if@restonecol\twocolumn\fi } </source> ===Literaturverzeichnis=== <source lang="latex"> \renewenvironment{thebibliography}[1] %{\chapter*{\bibname}% {\chapter{\bibname}% \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% \list{\@biblabel{\@arabic\c@enumiv}}% {\settowidth\labelwidth{\@biblabel{#1}}% \leftmargin\labelwidth \advance\leftmargin\labelsep \@openbib@code \usecounter{enumiv}% \let\p@enumiv\@empty \renewcommand\theenumiv{\@arabic\c@enumiv}}% \sloppy \clubpenalty4000 \@clubpenalty \clubpenalty \widowpenalty4000% \sfcode`\.\@m} {\def\@noitemerr {\@latex@warning{Empty `thebibliography' environment}}% \endlist} </source> df0e6d617cf56b42b99d6d4222271a03c1029525 Adding Watermarks with LaTeX 0 174 829 828 2023-03-10T08:39:16Z Hagbard 2 4 revisions imported wikitext text/x-wiki [[Category:TeX]][[Category:Hint]] ==Wasserzeichen in TeX-Dokumenten== Mit den folgenden Zeilen Code und einer Grafik lassen sich einfach TeX-Dokumente mit Wasserzeichen hinterlegen, z.B.: "Muster", "Draft" oder ähnliches. Dazu werden zuerst die folgenden Pakete benötigt: \usepackage{eso-pic,graphicx} Anschließend wird innerhalb der Tags \makeatletter ... \makeatother das Element \BackgroundPicture überladen: \newcommand\BackgroundPicture[3]{% \setlength{\unitlength}{1pt}% \put(0,\strip@pt\paperheight){% \parbox[t][\paperheight]{\paperwidth}{% \vfill \centering\includegraphics[<font color="orange">width=21.4cm</font>,<font color="orange">angle=45</font>]{<font color="orange">img/draft</font>} \vfill } } } und das Hintergrundbild vor dem einleitenden Tag \begin{document} eingefügt: \AddToShipoutPicture{\BackgroundPicture} '''Anm.:''' die <font color="orange">hervorgehobenen</font> Bereiche müssen ggf. an die eigene Grafik angepasst werden, im obigen Beispiel handelt es sich um ein DinA4 Format '''width:''' Breite<br /> '''height:''' Höhe<br /> '''angle:''' Drehungswinkel Beispielgrafik: ''DRAFT'' als [[media:tex-watermark-draft.pdf.zip|PDF]] oder [[media:tex-watermark-draft.ps.zip|PostScript]] e2a63c146b6de20d027dcce1427d75cb2b74dbe8 Jumping Wordwise in Terminal Commands 0 175 837 836 2023-03-10T08:39:17Z Hagbard 2 7 revisions imported wikitext text/x-wiki [[Category:Terminal]][[Category:Hint]]Unter Snow Leopard ist die Tastaturbelegung der [[:Category:Terminal|Terminal]].app scheinbar etwas durcheinandergeraden, so bewirkt z.B. der wortweise Sprung in der Eingabe via <KB>ctrl + links</KB> beziehungsweise <KB>ctrl + rechts</KB> ein Einfügen der Großbuchstaben "D" bzw. "C". Um das zu ändern, sind die Einstellungen der Terminal App zu öffnen und im Abschnitt "Tastatur" die entsprechenden Belegungen zu ändern. So sehen sie (höchstwahrscheinlich) aus: {| |-- style="background-color:#f2f2f2;" | style="width:200px;" | Belegung || style="width:100px;" | ist || style="width:100px;" | soll |-- | Ctrl-Taste Linkspfeil || {{TT|\033[5D}} || {{TT|\033b}} |-- | Ctrl-Taste Rechtsspfeil || {{TT|\033[5C}} || {{TT|\033f}} |} Ggg. ist (unter OS X 10.7 und neuer) vorher die entsprechende Tastaturbelegung für den Wechsel von Spaces in den Systemeinstellungen (unter "Tastatur" > "Mission Control") zu deaktivieren c0175e272694286b0b8e6633e2cd4bac7977fbe9 Kurztipp - Wörter im Dictionary nachschlagen 0 66 843 266 2023-03-10T08:39:18Z Hagbard 2 5 revisions imported wikitext text/x-wiki #REDIRECT [[Wörter im Dictionary nachschlagen]] 3e41928072428939e336947ef0e70308881bb439 Change the Encoding of Text Files 0 176 847 846 2023-03-10T08:39:18Z Hagbard 2 3 revisions imported wikitext text/x-wiki [[Category:Terminal]]Um die [[wikipedia:de:Zeichenkodierung|Zeichenkodierung]] von Textdateien (beispielsweise [[wikipedia:de:UTF-8|UTF-8]] oder [[wikipedia:ISO 8859-1|ISO Latin-1]]) zu konvertieren, genügt folgende Zeile im Terminal: <source lang="bash"> iconv -f QUELLKODIERUNG -t ZIELKODIERUNG QUELLDATEI > ZIELDATEI </source> beispielsweise um ein russisches (kyrillisches) Textfile in UTF-8 umzuwandeln: <source lang="bash"> iconv -f WINDOWS-1251 -t UTF-8 text.txt > text-utf8.txt </source> Alternativ kann natürlich auch der Texteditor des Vertrauens dazu verwendet werden, allerdings ist imho eine Zeile im Terminal schneller eingetippt als man durch ein seitenlanges Menü verschiedener Textkodierungen gescrollt hat ... ==Unterstützte Kodierungen== Im Folgenden ein kleiner Auszug aus der Liste der von iconv unterstützten Kodierungen. Über die Option {{TT|-l}} oder {{TT|--list}} kann man sich eine Liste aller unterstützter Kodierungen ausgeben lassen, weitere Informationen dazu sind auch in der Manpage von {{Man|iconv|iconv}} zu finden. Die in einer Zeile stehenden Kodierungen sind dabei geleichbedeutend (alternative Schreibweisen und Bezeichnungen) ;Unicode :UTF-8, UTF8 :UTF-8-MAC, UTF8-MAC :UTF-16 :UTF-16BE :UTF-16LE :UTF-32 :UTF-32BE :UTF-32LE :UTF-7 ;ISO :CP819, IBM819, ISO8859-1, ISO_8859-1, ISO_8859-1:1987, L1, LATIN1, CSISOLATIN1 :ISO-8859-2, ISO-IR-101, ISO8859-2, ISO_8859-2, ISO_8859-2:1987, L2, LATIN2, CSISOLATIN2 :ISO-8859-3, ISO-IR-109, ISO8859-3, ISO_8859-3, ISO_8859-3:1988, L3, LATIN3, CSISOLATIN3 :ISO-8859-4, ISO-IR-110, ISO8859-4, ISO_8859-4, ISO_8859-4:1988, L4, LATIN4, CSISOLATIN4 :CYRILLIC, ISO-8859-5, ISO-IR-144, ISO8859-5, ISO_8859-5, ISO_8859-5:1988, CSISOLATINCYRILLIC ==Siehe auch== * {{Man|iconv|iconv}} * [[wikipedia:de:Iconv|iconv]] in der [[wikipedia:de:Hauptseite|Wikipedia]] aca9eb74ab8b3e216232420511893592eb35bb98 Mount DMG Disk Images on Linux 0 177 852 851 2023-03-10T08:39:19Z Hagbard 2 4 revisions imported wikitext text/x-wiki [[Category:Hint]][[Category:Linux]] Da .dmg Images im Prinzip ganz normale Disk-Images mit dem HFS-Dateisystem sind, lassen sie sich auch unter Linux benutzen. Dazu muss die Linux Installation allerdings über HFS+ Treiber verfügen, die üblicherweise als Modul geladen werden. Da unter Mac OS X allerdings mehrere unterschiedliche Imageformate erzeugt werden können, kann ich hier nicht beurteilen, ob wirklich alle gelesen werden können. Das gilt insbesondere für verschlüsselte oder komprimierte Diskimages, aber auch für die mitwachsenden welchen (Sparse Image). ==dmg Image testen== Bei einem gültigen - d.h. für Linux nutzbaren - Image sollte das Kommando file <imagename>.dmg die folgende (oder eine vergleichbare) Ausgabe erzeugen: <imagename>.dmg: Macintosh HFS data (mounted) created: ....bla..., last modified: ...bla..., block size: ...bla..., number of blocks: ...bla..., volume name: <volumename> ==dmg Image mounten== Eingebunden wird es dann einfach mit {{Man|mount|mount}} -t hfs -o loop <imagefile> <mountpoint> ==Weitere Informationen== * Manpage zu {{Man|mount|mount}} * Manpage zu {{Man|hdiutil|hdiutil}} (für das Erstellen von Images unter Mac OS X) * Artikel zu [[hdiutil]] (incl. Liste der verschiedenen Imagetypen) e600cf810a711655248085e64458e881e65dc1a7 Launchd 0 178 859 858 2023-03-10T08:39:20Z Hagbard 2 6 revisions imported wikitext text/x-wiki [[Category:OS]]'''Artikelplanung:''' siehe [[{{TALKPAGENAME}}|Diskussionsseite]] == Graphische Oberflächen == Für die bequemere Nutzung von launchd (v.a. zur Verwaltung laufender Dienste) existieren auch graphische Oberflächen: * [http://sourceforge.net/projects/lingon Lingon] zum Erzeugen von launchd-Konfigurationsdateien, Frontend für {{Man|launchctl|launchctl}} (Open Source) * [http://www.codepoetry.net/products/launchdeditor Launchd Editor] zum Erzeugen von launchd-Konfigurationsdateien (Shareware, 5$) == Weitere Informationen == * [[wikipedia:de:Launchd|launchd]] in der [[wikipedia:de:Launchd|Wikipedia]] * [http://data.scl.utah.edu/fmi/xsl/stream/details.xsl?-recid=200&a::v=EyaO944i72 launchd in Depth] (scl.utah.edu) * [http://www.macgeekery.com/tips/all_about_launchd_items_and_how_to_make_one_yourself All About launchd Items (and How To Make One Yourself)] (www.macgeekery.com) * [http://www.macgeekery.com/tips/some_launchd_recipes Some Launchd Recipes] (www.macgeekery.com) ===manpages=== * {{Man|launchd|launchd}} ([[ADC:documentation/Darwin/Reference/ManPages/man8/launchd.8.html|ADC]]) * {{Man|launchctl|launchctl}} ([[ADC:documentation/Darwin/Reference/ManPages/man1/launchctl.1.html|ADC]]) * {{Man|launchd.plist|launchd.plist}} ([[ADC:documentation/Darwin/Reference/ManPages/man5/launchd.plist.5.html|ADC]]) * {{Man|launchd_debugd|launchd_debugd}} ([[ADC:documentation/Darwin/Reference/ManPages/man8/launchd_debugd.8.html|ADC]]) * {{Man|launchd.conf|launchd.conf}} ([[ADC:documentation/Darwin/Reference/ManPages/man5/launchd.conf.5.html|ADC]]) ===ADC Referenz=== * [[ADC:macosx/launchd.html|Getting Started with launchd]] * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/LaunchOnDemandDaemons.html|Creating launchd Daemons and Agents]] * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/CustomLogin.html|Customizing Login and Logout]] ;MacDevCenter - Startup Programming Topics ([[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/BPSystemStartup.pdf|PDF]]) * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/BootProcess.html|The Boot Process]] * [[ADC:documentation/MacOSX/Conceptual/BPSystemStartup/Articles/DesigningDaemons.html|Guidelines for Creating and Launching Daemons]] 03718e79c06fcd48d8479554a32d98d3641c6432 Linux Quickies 0 179 862 861 2023-03-10T08:39:21Z Hagbard 2 2 revisions imported wikitext text/x-wiki ===configure systemd-resolv to resolve local virtualhosts=== Several distributions like Ubuntu Server now use systemd-resolv for DNS resolution, but this breaks resolving local virtualhosts (subdomains) hosted on this server. If your network interface is configured via DHCP you should be able to opt-into UseDomains by creating /etc/systemd/network/usedomains.network with this content: [DNS] UseDomains=true Source: [https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1699660 bugs.launchpad.net #1699660] See also: [https://moss.sh/name-resolution-issue-systemd-resolved/ A name resolution issue with systemd-resolved we found in the wild] 3387ee86192994de4ae6590a803e7bcad56012c8 PPC-Linux von DVD-Brenner installieren 0 180 867 866 2023-03-10T08:39:21Z Hagbard 2 4 revisions imported wikitext text/x-wiki [[Category:Linux]]'''Betr.:''' Linux-Installation auf "New World Macs" (G3/G4/G5 PPC-Macs mit OpenFirmware) mit einem nachträglich eingebauten DVD-Brenner, der von Mac OS X nicht direkt unterstützt wird Eigentlich nichts besonderes, sollte man meinen ... nach einem Tag Bastelei allerdings war mir klar, dass man mit nachträglich eingebauten DVD-Brennern (und nach diversen Forenbeiträgen auch mit dem Apple Superdrive) mit sog. "[[wikipedia:de:Apple_Power_Macintosh#Power_Macintosh_mit_PCI-Steckpl.C3.A4tzen_.28.22New_World.22.29|New World Macs]]" aus der Open Firmware heraus (oder via OpenFirmware Boot Menü<ref name="OpenFirmware">Das Open Firmware Bootmenü erreicht man durch Drücken und Gedrückthalten der ALT Taste während des Starttons, direkt von CD/DVD booten kann man durch Gedrückthalten der Taste "C"</ref>) Linux nicht direkt von der CD aus starten kann<ref name="yaboot">zum Starten von Linux auf New World Macs wird der Linux Bootloader "[http://penguinppc.org/bootloaders/yaboot/doc/yaboot-howto.shtml/index.de.shtml yaboot]" benötigt</ref>. Also kann man wie folgt vorgehen, wobei im folgenden Beispiel [http://www.yellowdoglinux.com Yellow Dog Linux] 4.1 auf eine externe Firewire Festplatte installiert werden soll. Für die parallele Installation mit Mac OS X auf einer Platte sind noch weitere Dinge zu berücksichtigen, Links dazu sind ganz unten im Artikel zu finden. Für andere Distributionen sind dabei einige Angaben entsprechend anzupassen, prinzipiell ist die Vorgehensweise hier folgende: * kopieren des Linux Bootloaders auf Festplatte * Booten des Linux-Installationssystems von der Festplatte * Anschließende Installation von der CD Hinweise für die Installation von [http://fedora.redhat.com Fedora Core 5] sind jeweils entsprechend gekennzeichnet. === 1. Partitionierung === Die Festplatte muss zunächst unter Mac OS X partitioniert werden, dazu dient das Disk Utility (Festplatten Dienstprogramm). Dazu ist mindestens eine Partition als "freier Speicherbereich" (Format: "free space") anzulegen, und zwar als erste Partition. === 2. Bootloader kopieren === Dazu sind (für YDL) die Verzeichnisse "boot" und "images" von der Installations-CD auf die Festplatte kopieren, und zwar ins Wurzelverzeichnis einer Partition auf der 1. Festplatte des Systems. Bei Verwendung des MacOS Systemvolumes muss man dazu Root-Rechte besitzen<ref name="root aktivieren">Die Aktivierung des root Benutzers erfolgt durch Eingabe von {{TT|passwd root}} im Terminal oder alternativ im Netinfo Manager, Menü "Sicherheit"</ref>. Bei Fedora (hier: FC5) sieht das etwas anders aus, da hier die Dateien auf verschiedene Verzeichnisse verteilt sind. Ein einfaches Kopieren hat bei mir nicht funktioniert, es hat dann aber so geklappt: * Ein Verzeichnis auf der HDD erstellen, z.B. {{TT|boot}} * Die folgenden Dateien in dieses Verzeichnis {{TT|boot}} kopieren: ** {{TT|ppc\mac\ofboot.b}} ** {{TT|ppc\mac\yaboot}} ** {{TT|ppc\ppc32\ramdisk.image.gz}} ** {{TT|ppc\ppc32\vmlinuz}} ** {{TT|ppc\ppc32\yaboot.conf}} * bei einem G5 müssen dabei die Dateien aus dem Verzeichnis {{TT|ppc\ppc64}} verwendet werden (64Bit Code) === 3. yaboot.conf editieren === Im Verzeichnis {{TT|boot}} muss die Konfigurationsdatei des Booloaders {{TT|yaboot.conf}} angepasst werden, und zwar sind alle Einträge "cd:" durch "hd:" zu ersetzen. Bei Fedora sind dabei die Geräteangaben relativ, also z.B. {{TT|\boot\vmlinuz}} und müssen also nicht weiter angepasst werden. Die Pfadangaben sind jedoch anzupassen und auf das Verzeichnis zu setzen, in das man den Bootloader kopiert hat (also z.B. auf {{TT|\boot\...}}) === 4. Booten === Anschließend den Rechner in die Open Firmware booten. Dazu muss <KB>Apfel-Alt-O-F</KB> während des Startsounds solange gedrückt gehalten werden, bis die OpenFirmware (schwarzer Text auf weißem Hintergrund) mit dem Hinweis "Release keys to continue!" erscheint. Zum Booten folgendes eingeben (Achtung, englische Tastaturbelegung(("\" erreicht man mit einer deutschen Tastatur über die Raute-Taste (#), den Doppelpunkt über shift-ö, z und y sind vertauscht))): boot hd:X,\boot\yaboot X (z.B.: 11 oder 9) ist die Partition, auf die yaboot von der Installations-CD kopiert wurde. Bei einer MacOS-Standardinstallation braucht man eigentlich erst ab 9 durchzuprobieren, die übrigen werden normalerweise durch MacOS belegt. {{TT|\boot\yaboot}} ist bei anderen Distributionen entsprechend anzupassen, in diesem Verzeichnis liegen die Dateien des Bootloaders und das Linux Boot-Image, die man vorhin auf die Festplatte kopiert hat. Anschließend sollte das Auswahlmenü des Bootloaders {{TT|yaboot}} erscheinen, im Fall von YDL mit den folgenden Auswahlmöglichkeiten: {| |-- |'''install'''||graphischer Installer |-- |'''install text'''||textbasierter Installer |-- |'''install firewire'''||graphische Installer für ext. Firewire-Festplatte |-- |'''mediacheck'''||... hinzufügen für einen Test der Installationsmedien |} unter Fedora ist dazu einfach "{{TT|linux}}" einzugeben. Anschließend sollte sich Linux einwandfrei von CD/DVD aus installieren lassen, da ab jetzt die Zugriffe auf das Laufwerk über Linux laufen und nicht mehr über die Open Firmware. Die beim Starten vom YDL-yaboot erscheinende Warnung, die Bootstrap-Partition habe den falschen Typ, kann man in diesem Fall getrost ignorieren, da Linux ja nicht auf die Festplatte installiert werden soll, auf die man den Bootloader kopiert hat. Bei einer Installation auf dieselbe Platte jedoch muss diese (ca. 1MB große) Bootstrap-Partition (diese ist notwendig, um von einer Platte überhaupt booten zu können) existieren und vor allen anderen liegen. Bei einer parallelen Installation von Linux und MacOS X muss dabei die Linux-Partition mitsamt dem Bootloader ebenfalls vor der MacOS X Partition liegen, damit man anschließend über den {{TT|yaboot}} Bootloader zwischen den beiden Betriebssystemen wählen kann. Dazu mehr in den Links unten im Artikel. === Weitere Informationen === ===Yellow Dog Linux=== * [http://www.terrasoftsolutions.com/support/solutions/ydl_general/ Yellow Dog Linux How Tos] * [http://www.yellowdog-board.com/ Forum zu Yellow Dog Linux] ===Debian GNU/Linux=== * [http://www.debian.org/ports/powerpc/ Informationen zu Debian auf PowerPCs] * [http://www.pl-berichte.de/t_system/ibook-debian/ pro-linux.de: Installation von Debian auf einem iBook] ===Fedora (Core 5)=== * [http://fedora.redhat.com/docs/release-notes/fc5/ Fedora Core 5 Release Notes] * [http://stanton-finley.net/fedora_core_5_installation_notes.html Installation Notes] (recht vollständig) * [http://www.mjmwired.net/resources/mjm-fedora-fc5.html FC5 Installation Guide] (incl. non-GPL Treiber wie die von Nvidia) ===Distributionsunabhängig=== * [http://www.linux.com/article.pl?sid=06/03/17/0350228 Gnome 2.14 Review] * [http://www.freesoftwaremagazine.com/newsletters/accelerated_x/ Artikel über beschleunigte X-Server] (wie XGL oder AIGLX) und noch [http://fedoraproject.org/wiki/RenderingProject einer über XGL] ----- <references/> 8baf6ef7b490ce3638280037bb38ae4edc39bae1 Lion Recovery 0 181 872 871 2023-03-10T08:39:22Z Hagbard 2 4 revisions imported wikitext text/x-wiki [[Category:OS]][[Category:Hint]]Der '''"Recovery Modus"''' von OSX Lion (Version 10.7) bietet eine Möglichkeit, von einer sog. "Recovery Partition" aus ein vorhandenes System entweder zu warten (zur Fehlerbehebung) oder neu zu installieren. Dazu bietet es die bisher auf den Installations-DVDs verfügbaren Hilfsprogramme an, wie z.B.: * Terminal * Festplatten-Dienstprogramm * Netzwerkdienstprogramm Von hier aus lässt sich das System auch unter Verwendung eines vorhandenen Time Machine Backups wiederherstellen. Sie wird bei einer Installation von OSX Lion automatisch angelegt, taucht jedoch nicht im Festplatten-Dienstprogramm als Partition auf sondern lediglich in der Startvolume-Auswahl beim Starten des Mac (direkt nach dem Start <kb>alt</kb> gedrückt halten). Durch folgende Tastenkombination kann auch direkt von dieser Partition gestartet werden (siehe [[Startup_Key_Combinations|hier]]): <kb>apfel + r</kb> {{Important|'''Partitionsschema:''' Die Recovery Partition kann derzeit wohl nur auf Festplatten mit dem Apple Partitionsschema "GUID" (für Intel-Macs) erstellt und verwendet werden. Da sie automatisch auf derselben Festplatte wie die zugehörige OSX-Installation erstellt wird, sollte man (so denn auf Lion Recovery Wert gelegt wird) auf die Verwendung eines anderen Partitionsschemas verzichten.}} {{Information|1='''Offline Installation von OSX Lion''' Für eine reine offline-Installation von OSX Lion (ohne verfügbare Internetverbindung) kann aus dem heruntergeladenen App-Store-Bundle "{{TT|Mac OS X Lion Installation.app}}" sehr einfach eine Installations-DVD erzeugt werden: * im Finder-Kontextmenü dieses Archivs "Paketinhalt anzeigen" auswählen * das DiskImage "{{TT|InstallESD.dmg}}" im Unterverzeichnis {{TT|Contents/SharedSupport}} herauskopieren, z.B. auf den Desktop * Im Festplatten-Dienstprogram den "Brennen" Button anklicken und dieses Image auswählen. }} ==Internet Recovery== Falls keine Recovery-Partition zur Verfügung steht (z.B. nach einem Festplattenwechsel, existiert alternativ die Möglichkeit der '''"Internet Recovery"'''. Dabei wird diese Partition über das Internet installiert und ermöglicht anschließend eine Neuinstallation von OSX Lion (mit der für den Kauf von OSX Lion verwendeten Apple ID) oder alternativ eine Wiederherstellugn mit Hilfe eines Time Machine Backups. Dabei sollte klar sein, dass zumindest für den Download des Recovery Images eine Internetverbindung notwendig ist. Die entsprechenden Dienstprogramme zur Netzwerkkonfiguration sind im Recovery-System verfügbar. ==Recovery Disk Assistant== Alternativ dazu kann mit Hilfe des [http://support.apple.com/kb/DL1433 Recovery Disk Assistant] die Recovery-Partition nachträglich und auch auf externen Laufwerken angelegt werden. Anschließend kann wie oben beschrieben von diesen Laufwerken gestartet und ein evtl. defektes System repariert/wiederhergestellt (oder OSX Lion installiert) werden. Weitere Informationen dazu gibt es im entsprechenden [http://support.apple.com/kb/HT4848 Support-Dokument]. ==Siehe auch== * [http://www.apple.com/macosx/recovery/ Lion Recovery Webseite] (apple.com) * [http://support.apple.com/kb/HT4718 Apple Support-Dokument HT4718] (support.apple.com) * [http://support.apple.com/kb/DL1433 Recovery Disk Assistant] und dazugehöriges [http://support.apple.com/kb/HT4848 Support-Dokument] ac851375605facc37ec579276187759112b22413 MAMP PRO - MySQL datadir Einschränkung umgehen 0 182 878 877 2023-03-10T08:39:23Z Hagbard 2 5 revisions imported wikitext text/x-wiki #REDIRECT [[MAMP Quickies]] ee1641f0a033b3a12c68c060876db4806ed6634b MAMP PRO hidden preferences 0 183 903 902 2023-03-10T08:39:25Z Hagbard 2 24 revisions imported wikitext text/x-wiki #REDIRECT [[MAMP Quickies]] ee1641f0a033b3a12c68c060876db4806ed6634b MAMP PRO troubleshooting 0 184 905 904 2023-03-10T08:39:25Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[MAMP Quickies]] ee1641f0a033b3a12c68c060876db4806ed6634b MAMP Quickies 0 28 924 51 2023-03-10T08:39:26Z Hagbard 2 18 revisions imported wikitext text/x-wiki [[Category:Hint]] [[Category:Development]] Dies hier sind keine offiziellen Anleitungen und kommen ohne jegliche Gewähr. Da es immer zu Datenverlusten kommen kann ist ein vorheriges Backup aller Daten natürlich selbstverständlich. Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung, weder von mir noch von den MAMP/MAMP PRO Entwicklern! Nur weil etwas geht, heisst es nicht dass es auch offiziell unterstützt wird! =MAMP= [[Image:W21-1a.svg|64px]] =MAMP PRO= Einige erweiterte Funktionen sind nur über Terminal-Anweisungen verfügbar, ein Neustart von MAMP PRO ist in der Regel nicht erforderlich. ==Hidden Preferences== Diese Optionen sollten WIRKLICH NUR DANN verwendet werden, wenn man (a) vom MAMP Support-Team dazu angeleitet und aufgefordert wurde oder (b) man genau weiß was man tut. Da solche Funktionen u.U. noch nicht vollständig implementiert sein können, können diese auch unvorhergesehene Nebeneffekte haben oder gar fehlerhaft sein - incl. möglicher Datenverluste, sowohl remote als auch lokal (z.B. bei Verwendung von mit den Remote Ops in Verbindung stehenden neuen Funktionen). Die Verwendung geschieht also AUF EIGENE GEFAHR, es besteht keinerlei Gewährleistung. ===Remote Ops: Temp. Remote-Dateien beibehalten (ab Version 6.0)=== Während des Import/Publish/Migrate von hosts erzeugte temporäre Dateien wie ZIP-Archive oder Datenbank-Dumps beibehalten (WICHTIG: sollte nach erfolgreichem Debugging unbedingt wieder deaktiviert werden, damit keine vertraulichen Daten wie Passwörter oder andere sicherheitskritischen Informationen öffentlich verfügbar sind): defaults write de.appsolute.mamppro remoteDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteDebugging Alternativ kann diese Funktion beim Start einer beliebigen Remote-Operation (z.B. Validierung der Remote-Konfiguration) im zu Beginn der Operation angezeigten Rückfragefenster deaktiviert werden. ===Remote Ops: Loglevel des remote PHP-Debuglog erhöhen (ab Version 6.3.1)=== Seit Version 6.3.1 wird bei Remote-Operationen (Import/Publish/Migrate) von MAMP PRO hosts der PHP Fehlerlog des Remote Servers im Fehlerfall in das lokale Log-Verzeichnis heruntergeladen, um auch serverseitig eventuelle Fehlersituationen lösen zu können: ~/Applications/MAMP/logs/remote-php.log Mit der folgenden Option eird hierfür das Loglevel erhöht, so dass signifikant mehr Informationen protokolliert werden als sonst. Sensitive Daten wie Passwörter o.ä. werden natürlich trotzdem nicht protokolliert, aber andere Informationen wie Pfadangaben könnten dennoch für Angreifer hilfreich sein. Daher sollte diese Option nach erfolgtem Import sofort wieder deaktiviert werden. defaults write de.appsolute.mamppro remoteVerboseDebugging -bool YES Zum Deaktivieren: defaults delete de.appsolute.mamppro remoteVerboseDebugging '''Wichtiger Hinweis:''' Diese Logdatei wird bei jeder Remote-Operation neu erstellt und überschreibt damit die Protokollinformationen der vorherigen Operation. Daher sollte diese Datei nach erfolgtem Import mit erhöhtem Loglevel an einem anderen Ort gesichert werden, bevor wieder zur Standardkonfiguration zurückgewechselt wird. ===Remote Ops: die zu verwendenden Dateizugriffsrechte anpassen= (ab Version 6.3.2)=== Standardmäßig werden von MAMP PRO bei der Ausführung von Remote Ops (Import/Publish von Remote Hosts) die von den jeweiligen Serverdiensten vorgegebenen Standardzugriffsrechte verwendet, was u.U. zur Folge haben kann, dass nur der Eigentümer der Dateien Vollzugriff (also lesend und schreibend) auf alle Dateien und Verzeichnissehat hat. Mit Hilfe folgender Terminalanweisung kann dieser Wert geändert werden, beispielsweise auf 777 (Vollzugriff für alle): defaults write de.appsolute.mamppro permsString -string "777" Der aktuell verwendete Wert kann mit folgender Terminal-Anweidung kontrolliert werden: defaults read de.appsolute.mamppro permsString Falls diese Option gar nicht gesetzt sein sollte, wird statt dessen eine Fehlermeldung wie diese hier ausgegeben: The domain/default pair of (de.appsolute.mamppro, permsString) does not exist '''Wichtig:''' die Angabe erfolgt in Oktalschreibweise OHNE führende 0, andere Schreibweisen werden ignoriert. Ebenso werden Werte < 600 ignoriert, da diese im vorliegenden Kontext ohnehin keinen Sinn ergeben würden (keine Lese- und/oder Schreibrechte für den Eigentümer). In diesen Fällen wird ein Defaultwert von "755" verwendet. deaktiviert wird diese Option hiermit (wiederum gefolgt von einem Neustart der App): defaults delete de.appsolute.mamppro permsString ==Troubleshooting== ===Crash nach Downgrade=== Wenn nach dem Start einer aktuelleren Version eine ältere gestartet werden soll und diese bei der Installation der Hilfsprogramme crasht, sind folgende beiden Dateien zu löschen. Anschließend sollte sich die ältere Version wieder problemlos starten lassen: /Library/LaunchDaemons/de.appsolute.mampprohelper.plist /Library/PrivilegedHelperTools/de.appsolute.mampprohelper ===Freeze (SBOD) beim App-Start=== Ein freeze beim Start von MAMP PRO kann u.U. dadurch verursacht werden, dass die Kommunikation mit dem MAMP PRO Helper Tool nicht mehr funktioniert. In diesem Fall wartet MAMP PRO dann solange auf den Helper bis es zu einem timeout kommt. Der Helper lässt sich mit folgenden Terminal-Anweisungen deinstallieren (MAMP PRO unbedingt vorher beenden!): sudo launchctl unload /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo rm /Library/PrivilegedHelperTools/de.appsolute.mampprohelper Die erste Anweisung beendet den Helper (falls dieser läuft; falls nicht erscheint eine Fehlermeldung), die zweite löscht die Definition für den Helper (also wann und wie der Helper genau vom System gestartet werden soll) und die dritte Anweisung löscht dann letztlich den Helper selber - also dessen Programmcode. Beim nachfolgenden Start von MAMP PRO müsste dieser dann erneut nach einem Benutzer mit Admin-Berechtigung fragen um dieses Helper Too reinstallieren zu können (Gültig ab MAMP PRO Version 6) Falls diese Anweisungen mit Fehlermeldungen quittiert werden (insbes. die erste) ist das ok, das bedeutet lediglich dass der Helper gar nicht läuft bzw. installiert ist. In dem Fall ist der Helper dann aber auch nicht die Ursache für den Hänger... Vorab überprüfen lässt sich die Existens des Helper Tools beispielsweise mit folgenden Anweisungen: sudo launchctl list de.appsolute.mampprohelper sudo ls /Library/LaunchDaemons/de.appsolute.mampprohelper.plist sudo ls /Library/PrivilegedHelperTools/de.appsolute.mampprohelper == Dies und das== ===MySQL datadir Einschränkung umgehen=== Standardmäßig legt [http://www.mamp.info MAMP PRO] alle MySQL-Datenbanken in einem fest vorgegebenen Verzeichnis ab, dessen Pfad sich dank eines in der Applikation fest eingebauten Pfades leider nicht ändern lässt: /Library/Application Support/appsolute/MAMP PRO/db/mysql bzw. bei älteren Versionen /Library/Application Support/living-e/MAMP PRO/db/mysql Das bedeutet, der {{TT|--datadir}} Parameter zur Angabe eines alternativen Verzeichnisses kann nicht zur Verwendung kommen, da das Aufrufkommando nicht zur Verfügung steht. Allerdings scheint der der verwendete MySQL daemon symlinks zu folgen (Stand: MAMP PRO 2.0). Es genügt als, das o.g. Verzeichnis {{TT|mysql}} an eine beliebige Stelle im Dateisystem zu verschieben und in obigem Verzeichnis einen Symlink (Alias) zu setzen. Dies erfolgt entweder per Finder oder im [[:Category:Terminal|Terminal]]: ln -s /path/to/my/new/mysql /Library/Application\ Support/appsolute/MAMP\ PRO/db/mysql {{Information|Alternativ können auch hardlinks verwendet werden, bei denen sich jedoch prinzipbedingt Ursprung und Ziel auf derselben Partition befinden müssen. Symlinks dagegen erlauben auch Verweise auf ein Zielverzeichnis, das auf einer anderen Partition oder Festplatte liegt.<br /> Sinnigerweise sollte dieses Laufwerk während des Serverstarts verfügbar sein, daher scheiden Netzwerklaufwerke (AFP oder SMB) für den Fall aus, wenn die MAMP-Server bereits beim Booten des Systems gestartet werden.}} 6b61aeccf795f86a0be801e4a20b2d7d689b5f01 MacOS Installationsmedium erstellen (Mac App Store) 0 185 926 925 2023-03-10T08:39:26Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[MacOS Installationsmedium erstellen]] 6dba8181ecdef7847f717f85d5bbc4c6c8a37210 MacOS Keyboard Shortcuts 0 186 929 928 2023-03-10T08:39:27Z Hagbard 2 2 revisions imported wikitext text/x-wiki #REDIRECT [[Mac Keyboard Shortcuts]] 984429fb49a9774737093438e98313885c03d1f9 Mac App Store Kurztipps 0 187 936 935 2023-03-10T08:39:27Z Hagbard 2 6 revisions imported wikitext text/x-wiki [[Category:OS]] ==Deinstallierte Apps werden weiterhin angezeigt== Hin und wieder passiert es, dass bereits deinstallierte Programme weiterhin oder wieder in der Mac App Store Applikation angezeigt werden. Wenn seit der Deinstallation kein weiteres Update veröffentlicht wurde, ist also eine erneute Installation nicht möglich. Dies kann unterschiedliche Gründe haben, und in vielen Fällen genügt ein Reboot oder ein Ab- und wieder Anmelden, um das Problem zu lösen. Oftmals genügt das jedoch nicht und es ist eine der folgendenden Vorgehensweisen anzuwenden: ===App-Cache löschen=== In manchen Fällen ist einfach nur etwas im App-eigenen Cache durcheinandergekommen, was die App Store App darin hindert, selbigen korrekt zu aktualisieren. Um diesen Cache zu löschen, ist folgendes zu tun: * App Store beenden * im Finder in den "{{TT|Library}}" Ordner des Benutzer wechseln (bei gedrückter <KB>alt</KB>-Taste im Finder-Menü "Gehe zu" den entsprechenden Eintrag auswählen (dieser ist normalerweise nicht sichtbar und muss durch die <KB>alt</KB>-Taste aktiviert werden) * dort in das Unterverzeichnis "{{TT|Caches}}" wechseln * darin das Verzeichnis "{{TT|com.apple.appstore}}" löschen Falls das alleine nichts bewirkt, ist dieses Vorgehen zu wiederholen und direkt im Anschluss eine Ab- und Wiederanmeldung am System durchzuführen, ggf. ist auch ein Neustart des Rechners notwendig. '''Hinweis:''' Unter Mac OS X 10.6 ist dieser Cache unter {{TT|~/Library/Application Support/AppStore/}} zu finden. ===Externe Laufwerke=== ... können ebenfalls ein Grund für dieses Verhalten sein, beispielsweise ein eingehängtes '''TimeMachine'''-Sicherungslaufwerk. Dieser Fall scheint zwar recht selten aufzutreten, [[User:Hagbard|ich]] konnte das jedoch schon mehrmals beobachten – insbesondere nach einer Neuinstallation des Systems. In diesem Fall ist folgendes zu tun: * obige Vorgehensweise zum App-Cache löschen wiederholen * vom System abmelden und erneut anmelden * nach dem Anmelden <u>alle</u> eingehängten, externen Laufwerke auswerfen * Mac App Store starten ===Weitere Möglichkeiten (nicht verifiziert)=== * "Receipts" installierter Apps unter einem der beiden folgenden Verzeichnisse werden nicht korrekt aktualisiert:<pre>/private/var/db/receipts/</pre><pre>/Library/Recipts/InstallHistory.plist</pre> * Löschen des "LaunchServices" Cache im [[:Category:Terminal|Terminal]] mit folgendem Kommando:<pre>/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user</pre> * Debug-Menü anzeigen:<pre>defaults write com.apple.appstore ShowDebugMenu -bool true</pre> 2bcd6f4acbfd3d61112a4c2327c6e8cb94d9e673 MacOS Login Screen 0 189 948 947 2023-03-10T08:39:29Z Hagbard 2 5 revisions imported wikitext text/x-wiki [[Category:OS]] ==Verhalten des Login-Fensters beeinflussen== === Eingabefeld "Benutzername" === Für den Anmeldebildschirm von Mac OS X existieren einige "hidden features", die mitunter recht praktisch sind. Über folgende Kommandos lassen sich diverse Aktionen ausführen, das Login-Fenster muss dazu natürlich in den Systemeinstellungen (Panel "Benutzer" > "Anmeldeoptionen") auf "Name und Kennwort" gesetzt sein. {| |-- bgcolor=#e2e2e2 ! width=100px|Kommando || width=200px|Wirkung || getestet mit Mac OS Version |-- | >shutdown || den Mac herunterfahren || 10.4 |-- | >restart || den Mac neustarten || 10.3, 10.4 |-- | >sleep || Ruhezustand || 10.4 |-- | >power || den Mac herunterfahren || 10.3, 10.4 {{Translucent|1=Unter 10.2 nicht getestet, sollte aber auch funktionieren}} |-- | >exit || den WindowServer neu starten || 10.3, 10.4 {{Translucent|1=Unter 10.2 nicht getestet, sollte aber auch funktionieren}} |-- | >console || in den Darwin Text-Mode wechseln ||10.3, 10.4 {{Translucent|1=Unter 10.2 nicht getestet, sollte aber auch funktionieren}} |} Herunterfahren und Neu starten kann man jedoch nicht im Login-Screen zum Benutzerwechsel sondern nur, wenn aktuell kein weiterer Benutzer angemeldet ist. === Script beim Anmelden ausführen === http://www.macosxhints.com/article.php?story=20050517210406483 === Systeminformationen anzeigen === Keine Ahnung in welchen Systemen das genau funktioniert, aber in 10.4.1 tut es: Bei click auf den Systemnamen unter dem Apfel und über der Userliste, wechselt die Anzeige auf: Hostname -> Version -> Build -> Seriennummer -> Datum -> Hostname Der Sinn dahinter ist wohl, dass der Applesupport direkt helfen kann, auch wenn der Benutzer sagt: "Ich kann mich nicht einloggen!" Das Funktioniert auch im Finder-Info-Fenster "Über diesen Mac" (erster Eintrag im Apfel-Menü) === Spracheinstellungen === Die Sprache im Anmeldebildschirm richtet sich nach der systemweiten Spracheinstellung, die bei der Installation von OS X gesetzt wird. Diese lässt sich mit Admin-Rechten und folgendem Terminal-Kommando jedoch jederzeit ändern und ist sofort wirksam: sudo languagesetup ==Login Tweaks== === Login Style ändern === Wie kann man von der Userliste auf User/Password wechseln per Shortcut? Die angegebene Kombination <KB>shift + opt + return</KB> funktioniert bei mir nicht! Die Umschaltung mittels <KB>shift + opt + return</KB> gibt es erst seit Tiger, unter 10.3 und davor existiert ein extra Button zum Umschalten. Außerdem funktioniert es offensichtlich nicht mit aktivem [http://wincent.com/a/products/winswitch/ WinSwitch]. ===Hintergrundbild ändern=== Das Login-Fenster benutzt als Hintergrundbild immer "Aqua Blue", das als 2560x1600 Pixel (Mac OS 10.4) große Grafikdatei dort zu finden ist: /Library/Desktop Pictures/Aqua Blue.jpg Um das Bild zu ändern, ist einfach diese Datei durch eine andere zu ersetzen. Alternativ lässt sich das auch in der Konfigurationsdatei /Library/Preferences/com.apple.loginwindow.plist ändern, indem ein Schlüssel namens "DesktopPicture" hinzugefügt wird. Das kann auch durch die Eingabe des folgenden Kommandos im Terminal erfolgen (alles in einer Zeile): sudo defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture -string "/Library/Desktop Pictures/Nature/Stones.jpg" Falls die Änderungen nicht sofort sichtbar werden, muss entweder der Mac neu gestartet oder der Prozess des loginwindow gekillt werden. ===Aktuelle Konfiguration des Login Fensters=== Die aktuellen Einstellungen des Login-Fensters befinden sich im Library-Ordner, und zwar z.B. dort: /Library/Preferences/com.apple.loginwindow.plist Dort sind unter anderem auch die folgenden Informationen zu finden: * Name des zuletzt angemeldeten Benutzers * Der aktuelle Status des Benutzers (z.B. "loggedIn") Außerdem lassen sich dort folgende Einstellungen vornehmen: * '''AdminHostInfo''': Info-Anzeige im Login-Fenster beeinflussen (default: Time) * '''HideAdminUsers''': Administratoren in der Benutzerliste verbergen (default: false) * '''HideLocalUsers''': Lokale Benutzer verbergen (default: false) * '''IncludeNetworkUser''': Netzwerkbenutzer anzeigen (default: false) * '''Kiosk''': Kiosk Mode (default: false - habe ich noch nicht getestet, keine Ahnung was das bewirkt) * '''PowerOffDisabled''': Button "Ausschalten" nicht anzeigen (default: no) * '''RetriesUntilHint''': Anzahl der Login Versuche, bis der Hinweistext erscheint (so denn der Benutzer einen in den Benutzereinstellungen angegeben hat; default: 0) * '''SHOWFULLNAME''': den vollständigen Namen anzeigen (default: yes) Wie sich die Werte im Pendant des Benutzerverzeichnisses genau zusammensetzen, konnte ich auf die Schnelle nicht ermitteln. die Datei befindet sich dort: /Users/BENUTZERNAME/Library/Preferences/com.apple.loginwindow.plist und beinhaltet die folgenden Schlüssel: * NSWindow Frame About This Mac * NSWindow Frame ProcessPanel Außerdem existiert noch die folgende Konfigurationsdatei, die offensichtlich für die beim Login automatisch zu startenden Anwendungen (Key AutoLaunchedApplicationDictionary) zuständig ist: /Users/BENUTZERNAME/Library/Preferences/loginwindow.plist Außerdem wird hier wohl auch die Darstellungsform der aktuellen Systemversion (Build Version und System Version) abgelegt ... ==Tools== Es existieren auch fertige Tools, die einige Login-Tweaks in einer graphischen Oberfläche zugänglich machen: * [http://www.bombich.com/software/lwm.html LoginWindow Manager] 2.0 (Freeware) bc5c9e216e9331edc953437b44042e2f11da57f3 MacOS absichern 0 190 956 955 2023-03-10T08:39:31Z Hagbard 2 7 revisions imported wikitext text/x-wiki [[Category:OS]]Auch wenn das Mac OS X einen sehr guten Ruf hinsichtlich Sicherheit genießt, ist es dennoch ratsam, sich einige Gedanken zu diesem Thema zu machen. Schließlich ist bei einer Standardinstallation noch reichlich Optimierungspotential vorhanden, zumal das Betriebssystem dafür bereits recht umfangreiche Möglichkeiten mitbringt. Zudem ist auch zu erwarten, dass bei zunehmender Verbreitung des Mac OS auch das Gefahrenpotential durch Schadsoftware zunehmen und die Sicherheit auch auf dem Mac ein wichtiges und nicht zu unterschätzendes Thema sein wird. Die Artikelreihe "Mac OS X absichern" widmet sich daher diesem Thema, von der Betriebssystemkonfiguration bis hin zu Tipps und Tricks für die tägliche Nutzung. Die thematische Aufteilung der Unterartikel sieht dabei wie folgt aus: ----- {{Contentbox|width=100%|content=[[Image:Finder icon macOS Yosemite.png|128px|right]]<big>'''Teil 1: [[Mac_OS_X_absichern_-_Betriebssystemkonfiguration|Betriebssystemkonfiguration]]'''</big> :&nbsp; :Dieser Teil widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen.}} {{Contentbox|width=100%|content=[[Image:Crystal Project Connect to network.png|128px|right]]<big>'''Teil 2: Netzwerkkonfiguration und Firewall'''</big> :&nbsp; :Dieser Teil der Artikelreihe widmet sich unter anderem der Netzwerkkonfiguration. Außerdem wird auf die Konfiguration der Mac OS X Firewall ({{Man|ipfw|ipfw}}, eigentlich ein Paketfilter) ebenso eingegangen wie aif die sichere Einrichtung der verschiedenen Serverdienste wie SSH ("entfernte Anmeldung"), httpd ("Personal Web Sharing") und AFP ("Personal File Sharing").}} {{Contentbox|width=100%|content=[[Image:Gnome-dialog-password.svg|128px|right]]<big>'''Teil 3: Applikationen für die Systemsicherheit'''</big> :&nbsp; :In diesem Artikel geht es um die Nutzung und Konfiguration von Anwendungen für die Systemsicherheit. Das umfasst neben der laufenden System- und Anwendungsaktualisierung auch die Nutzung von Dritthersteller-Software. Auch wenn die Viren- und Wurmschwemme (noch) am Mac vorbeizieht, lohnt sich dennoch ein Blick auf die in diesem Bereich bereits verfügbare Software. }} {{Contentbox|width=100%|content=[[Image:Softies-icons-meter 256px.png|128px|right]]<big>'''Teil 4: Die alltägliche Nutzung'''</big> :&nbsp; :Hier sollen dem Anwender Hilfestellungen für die tägliche Arbeit am Mac gegeben werden. Gefahrenpotentiale werden aufgedeckt und bestimmte Verhaltensweisen für die sichere Nutzung beschrieben. Die dafür zu verwendenden Bordwerkzeuge des Betriebssystems werden dabei ebenso beschrieben wie wiederkehrende Aufgaben zur Bereinigung des Systems.}} {{Contentbox|width=100%|content=[[Image:Laptop icon.svg|128px|right]]<big>'''Teil 5: Sicher unterwegs - mobile Nutzung'''</big> :&nbsp; :In diesem Artikel geht es hauptsächlich um die mobile Nutzung, z.B. mit einem Notebook. Dabei sollen Möglichkeiten für Diebstahlsicherung und den Schutz der persönlichen Daten aufgezeigt werden, wofür auch zu diesem Zweck verfügbare Software vorgestellt wird.}} ----- Links zu Artikeln im Internet und anderen weiterführenden Informationen sind thematisch sortiert am Ende des jeweiligen Artikels im Abschnitt "Weitere Informationen" zu finden. Wünsche, Anregungen, Kritik und Fehlerhinweise sind wie immer willkommen und auf der Diskussionsseite des jeweiligen Artikels zu vermerken. Ich habe diese Artikelreihe begonnen, um einmal einen Gesamtüberblick über alle Möglichkeiten zu schaffen, die das Mac OS so in Sachen Security bietet. Ich werde mich nach und nach den einzelnen Artikel widmen, Themenvorschläge und Anregungen sind bitte so lange auf der Diskussionsseite dieses Artikels zu hinterlegen. __NOTOC__ 5fc88d52e5a5b9d5b07d4a994e3cadc4d563b2fe MacOS absichern/Betriebssystemkonfiguration 0 76 1004 339 2023-03-10T08:39:33Z Hagbard 2 47 revisions imported wikitext text/x-wiki [[Category:OS]][[Category:Translate]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! style="width:220px;" | Service Name !! ! style="width:60px;" | |-- | Screen Sharing || ✅ || replacement or maybe even in-place update possible |-- | File Sharing || ✅ || replacement or maybe even in-place update possible |-- | Printer Sharing || ✅ || replacement or maybe even in-place update possible |-- | Remote Login || ✅ || replacement or maybe even in-place update possible |-- | Remote Management || ✅ || replacement or maybe even in-place update possible |-- | Remote Apple Events || ❌ || Don't use it, no replacement |-- | Bluetooth Sharing || ❓ || TBD |-- | Internet Sharing || ❓ || TBD |-- | Content Sharing || ❌ || Don't use it, no replacement |-- | Media Sharing<br/>a.k.a. "iTunes Library Sharing" || ❌ || Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] |-- | Web Sharing<br/>''Only in OS X Lion and earlier'' || ✅ || replacement or maybe even in-place update possible |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Drittprogramme absichern== * Das [https://www.privacy-handbuch.de/ Privavy-Handbuch] ** [https://www.privacy-handbuch.de/handbuch_21.htm Spurenarm Surfen mit Firefox] ** [https://www.privacy-handbuch.de/handbuch_21j2.htm Starke Passwörter verwenden] ** [https://www.privacy-handbuch.de/handbuch_21n.htm Überflüssige Funktionen in Firefox deaktivieren] (aus dem o.g. Privacy-Handbuch) ** [https://www.privacy-handbuch.de/handbuch_21i.htm#dnt Kommentar zu "Do-Not-Track"]] (more trouble than it's worth) ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Tools=== * [https://objective-see.org/ Objective-See] source of several amazing and free privacy tools like KnockKnock, Lulu or Oversight * [https://www.murusfirewall.com/murus/ Murus<sup>2</sup>] Firewall, a UI for the builtin macOS packet filter. The free Lite version filters outgoing traffic only, which makes it an ideal companion for LuLu or Little Snitch (Mini). ===Self-hosted Services=== * [https://freshrss.org FreshRSS], a free, self-hostable feeds aggregator * [https://pi-hole.net/ Pi-hole], Network-wide Ad Blocking ===Other Services=== * [https://hostux.network/en/ Hostux] Publicly hosted services such as a public encrypted DNS service, a disposable email inbox, and many more. ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs ===Encrypting/Signing=== * [https://github.com/FiloSottile/age age]: A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability. * [https://jedisct1.github.io/minisign/ minisign]: A dead simple tool to sign files and verify signatures. see also: * [https://nick.groenen.me/notes/stop-using-pgp/ Stop using PGP] f93ebfb577a08ac66a03af5882ff1d7e518936b4 MacOS beschleunigen und ausmisten 0 191 1011 1010 2023-03-10T08:39:34Z Hagbard 2 6 revisions imported wikitext text/x-wiki [[Category:OS]] ==Inhalte== '''Warnung:''' Die Folgenden Aktionen bitte nur durchführen, wenn man genau weiß, was man tut! Außerdem sollten solche Änderungen dokumentiert werden, um bei späteren Fehlersituationen die hier durchgeführten Änderungen parat zu haben (zum Fehler einordnen) und sie ggf. rückgängig machen zu können. Bei solchen Eingriffen ins System sollte ein laufend aktualisiertes Backup selbstverständlich sein, idealerweise ein kompletter Klon des Systemvolume, erstellt mit einem Hilfsprogramm wie dem [https://www.bombich.com CCC]. Im Fehlerfall kann dann einfach von diesem Volume gebootet oder das System davon wiederhergestellt werden. ===Performance optimieren=== * kaputte Fonts finden und deaktivieren/deinstallieren * überflüssige und nicht benutzte Schriften deaktivieren (Aktivieren nur bei Benutzung, beschleunigt die Darstellung im Auswahlfenster) * Wichtige Schriften (nicht deaktivieren!): Geneva, Monaco, Lucida Grande, Courier, Helvetica, Times, Symbol, Zapf Dingbats und ggf. zusätzliche Fonts von Drittanbietern (z.B. MS Office) * Caches löschen * Systemoptimierung * prebinding (vor 10.4) * Zugriffsrechte reparieren (Link) * Systemeigene Default-Cronjobs (befinden sich in {{tt|/etc/periodic/}}) * Manuelles aufrufen mit {{tt|sudo periodic daily weekly monthly}} (als admnin) oder mit [http://www.macupdate.com/info.php/id/5856 MacJanitor] bzw. anderen Tools, vor allem wichtig wenn der Mac nachts immer aus ist und die cronjobs somit ao gut wie nie laufen. * Ab Tiger läuft alles über {{Man|launchd|launchd}} / {{Man|launchctl|launchctl}} und nicht mehr über crond * immer genügend Platz auf den Festplatten (bzw. "Volumes") freihalten (5-10%), damit die HFS+ Selbstoptimierungsfunktionen greifen (aka Defragmentierung etc.) * zusätzlichen Platz für die Auslagerungsdatei frei halten (aka "virtueller Speicher"), kann schon mal 1-2 GB umfassen. * usw. ===Platzverschwendung verhindern=== * Bereits bei der Installation: angepasste Installation (Clean Install) * Fonts und Lokalisierungen/Sprachdateien * Demo-Filme und Medien (z.B. AIFF-Loops von GarageBand) * überflüssige Treiber (z.B. Druckertreiber) * temporäre Dateien nach einer Installation * ... ===Arbeitspeicher=== * '''beliebte Speicherschleudern''' sind vor allem Webbrowser (incl. Safari, Seamonkey/Firefox, Camino), vor allem wenn sie längere Zeit gestartet sind und häufiger benutzt werden. Dann belegen sie gern einmal 200-300 MB physikalischen RAM oder mehr. Diese Programme sollten also immer mal wieder beendet und neu gestartet werden. * '''Dashboard und die aktiven Widgets''' hängen hin und wieder auch einmal, manchmal gehen Widgets auch nicht in den Suspend Mode während Dashboard nicht aktiv ist und benötigen dann u.U. auch viel CPU-Last und Arbeitsspeicher. Empfehlung: das "DisableDashboard" Widget (siehe [[Dashboard]]) zum gelegentlichen Neustart von Dashboard verwenden. * Hin und wieder einmal abmelden, das gibt einiges an Arbeitsspeicher frei. Im Anmeldebildschirm kann dann auch durch die Eingabe von ">exit" im Benutzerfeld der WindowServer neu gestartet werden. Nach einer längeren Laufzeit belegt auch er unter Umständen relativ viel Arbeitsspeicher (siehe [[Spiele mit dem Login Screen]]). * Es können auch eine Reihe [[Deaktivieren ungenutzter Hintergrunddienste|unerwünschter Hintergrunddienste deaktiviert]] werden, allerdings auf eigene Gefahr! Man sollte genau wissen, was man hierbei tut, da durchaus Nebeneffekte auftreten könnten. ===Optimierungen kosmetischer Art=== * .DS_Store Dateien verhindern, lästig vor allem bei der parallelen Nutzung von Volumes unter Linux und/oder Windows * ... ===Häufige Probleme=== * PlugIns und Erweiterungen nach System-/Anwendungsupdates (z.b. Safari, Mail, ...) * ... ===Unnötige Aktionen / Was man besser bleiben lassen sollte=== * Logfiles löschen (siehe oben), diese werden ohnehin rotiert (gepackt und archiviert) und nehmen daher üblicherweise nicht viel Platz weg. Es sei denn man weiß genau, was man tut (z.B. Logfiles von Anwendungen, die gar nicht mehr installiert sind) * Receipts in {{tt|/Library/Receipts}} löschen (sollte man tunlichst unterlassen, da diese Dateien von Mac OS X unter anderem für die Zugriffsrechtereparatur verwendet werden. * ... ===verwendbare Tools=== * Kommandozeilentools wie {{Man|ps|ps}}, {{Man|top|top}}, {{Man|kill|kill}} (bordwerkzeug) * Aktivitäts-Anzeige (bordwerkzeug / Dienstprogramme]) * [https://www.titanium-software.fr/en/onyx.html OnyX] (free) * [http://www.macupdate.com/info.php/id/5856 MacJanitor] (free) * [https://ingmarstein.github.io/Monolingual/ Monolingual] (oss) * [http://www.macupdate.com/info.php/id/14393 Disk Inventory] * Applikations-Helferlein, z.B. für Safari (SafariEnhancer, SafariSpeed, SafariFixer, ...) * siehe auch Artikel [[Systemwartungstools]] 9add9ecdd0c677a473b42f258bf53c4802c304ba Mail Bundles nach Systemupdate reaktivieren 0 192 1016 1015 2023-03-10T08:39:35Z Hagbard 2 4 revisions imported wikitext text/x-wiki [[Category:Hint]][[Category:OS]]Nach Systemupdates mit neuen Apple Mail Programmversionen werden Mail-Bundles (oft auch Plugins genannt) in der Regel deaktiviert, obwohl funktionell vielleicht gar keine Anpassungen seitens der Bundles notwendig wären. Dies geschieht anhand von Kompatibilitäts-IDs, die sich mit jedem Mail-Update ändern und daher von den Mail-Bundles entsprechend berücksichtigt werden müssen. Um also ein solches Plugin nach einem Systemupdate wieder lauffähig zu bekommen, genügt es in der Regel, diese UUID in der {{TT|Info.plist}}-Konfigurationsdatei des Bundles einzutragen. ===Die für die aktuelle Mail.app nowendige UUID finden:=== # Mail.app beenden # im "Programme" Ordner nach "Mail.app" suchen und dessen Inhalte anzeigen (Finder Rechtsklick -> "Paketinhalt zeigen)" # dort ins Verzeichnis {{TT|Contents}} wechseln und die Datei {{TT|Info.plist}} in einem Texteditor (oder besser: Xcode) öffnen # Diese Datei enthält einen Eintrag namens {{TT|PluginCompatibilityUUID}}, dessen Wert zu kopieren ist Alternativ kann dazu auch folgende Anweisung im {{Terminal}} verwendet werden: defaults read /Applications/Mail.app/Contents/Info PluginCompatibilityUUID ===In das jeweile Bundle eintragen:=== # Ins Verzeichnis {{TT|~/Library/Mail/Bundles (deaktiviert)/}} innerhalb des Benutzerverzeichnisses wechseln # im jeweils zu bearbeitenden Bundle-Verzeichnis die entsprechende {{TT|Info.plist}} finden und öffnen (z.B. {{TT|Herald.mailbundle/Contents/}}) # dort sollte ein Eintrag namens {{TT|SupportedPluginCompatibilityUUIDs}} vom Typ "Array" existieren # über den Pfeil links die Einträge anzeigen, den letzten Auswählen und durch Drücken von "Return" einen neuen Eintrag erzeugen # dort die aus Mail.app weiter oben kopierte UUID eintragen und die Datei speichern Anschließend ist das Bundle (hier: Herald.mailbundle) wieder (aus dem Ordner für deaktivierte Bundles heraus) in das Verzeichnis {{TT|Bundles}} zu verschieben und Mail neu zu starten. Nun sollte das Bundle auch mit der neuen Mail-Version funktionieren. ===Fertiges Skript=== Für das Ganze gibt es auch ein [https://gist.github.com/netj/930384 fertiges Skript], allerdings ohne Gewähr (nicht getestet) ==Übersicht== {| style="border-spacing:0px; border-collapse:collapse; padding:0px;" |-- style="background-color:#c2c2c2;" ! width=120 | OS X Version || width=120 | Mail.app Version || width=300 | UUID |-- style="background-color:#efefef;" ! colspan="3" | OS X Mavericks Developer Previews |-- | 10.9.0 (13a476u) || 7.0 (1764) || 5C1C2B58-ADCC-4202-8BE9-3185EA50FE57 |-- | 10.9.0 (13a497d) || 7.0 (1780.1) || B9F62389-216B-4459-9F0C-2E379DB461C6 |-- | 10.9.0 (13a510d) || 7.0 (1784.1) || FAFAC824-B040-4302-938C-D3EBF2ED2DD6 |-- | 10.9.0 (13a524d) || 7.0 (1786.1) || BAF70BEF-2B7A-43CF-8C78-E5AE56543A4F |-- | 10.9.0 (13a538g) || 7.0 (1793.4) || 8683C61F-0A65-4118-A1A2-D000E7331AF2 |-- | 10.9.0 (13a558) || 7.0 (1800) || 4C90A872-9452-46B9-8229-A7B8A8E90C46 |-- | 10.9.0 (13a569) || 7.0 (1805) || CCF9E57F-98D8-4C64-82D1-5863A8F1C29C |-- | 10.9.0 (13a584) || 7.0 (1811) || 72F55B63-35E4-4323-8CA7-104774A0DE95 |-- | 10.9.0 (13A596) || 7.0 (1812) || 04D6EC0A-52FF-4BBE-9896-C0B5FB851BBA |-- | 10.9.0 (13A603) || 7.0 (1816) || 0941BB9F-231F-452D-A26F-47A43863C991 |-- style="background-color:#efefef;" ! colspan="3" | OS X Mavericks |-- | 10.9.0 || 7.0 (1822) || FBE5B158-5602-4A6D-9CC5-8461B9B7054E |-- | 10.9.1 || 7.1 (1827) || 1CD40D64-945D-4D50-B12D-9CD865533506 |-- | 10.9.2 || 7.2 (1874) || 88ED2D4C-D384-4BF5-8E94-B533455E6AAF |-- | 10.9.3 || 7.3 (1878.2) || F4C26776-22B3-4A0A-96E1-EA8E4482E0B5 |-- | 10.9.3 || 7.3 (1878.6) || D1EFE124-86FF-4751-BF00-80B2C0D6F2E4 |-- style="background-color:#efefef;" ! colspan="3" | OS X Yosemite |-- | 10.10.0 || -?- || 60D52D22-7491-4CA7-95BA-88215BD88F8E |-- | 10.10.1 || 8.0 (1988) ||7C051997-F45A-4523-B053-2D262F94C775 |-- | 10.10.2 || 8.1 (1988) || 800E5C92-87D3-429B-8740-5C6183CD13EA |-- | 10.10.3 || 8.2 (2098) || 60D52D22-7491-4CA7-95BA-88215BD88F8E |} <!-- https://github.com/AndreasVerhoeven/NoMailAppAnimationsOnMavericks/blob/master/Output/AveNoAnimationsInMailPlugin.mailbundle/Contents/Info.plist --> d0378c642ac386c358df1955d23102f5f04f4876 Mdcheckschema 0 193 1020 1019 2023-03-10T08:39:36Z Hagbard 2 3 revisions imported wikitext text/x-wiki [[Category:Terminal]] ==mdcheckschema== <font face="courier">mdcheckschema</font> ist ein Validierungstool für Importschemata. Weitere Informationen gibt es in [http://developer.apple.com/documentation/Carbon/Conceptual/MDImporters/index.html diesem Artikel] der Apple Developer Reference. ===Offene Fragen für diesen Artikel=== * Was ist ein Importschema? * Wie sieht ein solches Schema aus? ==Weitere Informationen== * {{Man|mdcheckschema|manpage mdcheckschema}} 4b1cb3a58dae8dba79ec8bbac495d83a71a10949 Mdfind 0 194 1024 1023 2023-03-10T08:39:36Z Hagbard 2 3 revisions imported wikitext text/x-wiki [[Category:Terminal]] ==mdfind== <font style="font-face:courier">mdfind</font> stellt ein Kommandozeileninterface für die Spotlightsuche zur Verfügung, um in den Metadaten nach Dokumenten zu suchen. ===Grundlegende Benutzung=== mdfind <optionen> <verzeichnis> <suchtext> also beispielsweise mdfind "Geburtstag Oma" ==Optionen== ===nicht-determinierende Suche=== Mit der Option -live wird der Suchvorgang nicht abgebrochen und die Ergebnisliste wird laufend aktualisiert (wenn z.B. neue Mails empfangen und indiziert werden). Abgebrochen werden kann dies durch Drücken von <KB>ctrl + c</KB> Beispiel: mdfind -live "Geburtstag Oma" ===Suche auf einen Ordner eingrenzen=== Mit der Option -onlyin <verzeichnis> wird die Suche auf ein Verzeichnis inclusive der darin enthaltenen Unterverzeichnisse eingeschränkt, beispielswiese: mdfind -onlyin ~/Bilder/ "Geburtstag Oma" ==Weitere Informationen== * {{Man|mdfind|manpage mdfind}} * Artikel des O'Reilly macdevcenter: [http://www.macdevcenter.com/pub/a/mac/2006/01/04/mdfind.html "The Power of mdfind"] (Andy Lester) 6cb902ef8a2c679e4c5617133d322b8f5f3ff9db Mtmd deaktivieren 0 195 1028 1027 2023-03-10T08:39:38Z Hagbard 2 3 revisions imported wikitext text/x-wiki [[Category:OS]][[Category:Hint]][[Category:Terminal]]Bei {{Man|mtmd|mtmd}} handelt es sich um einen Time Machine Hintergrunddienst, der im mobilen Betrieb dafür zuständig ist, bestimmte Funktionen von Time Machine zur Verfügung zu stellen. Dieser Dienst ist demzufolge auch nur auf mobilen Geräten (vulgo Notebooks) aktiv. Wenn nun jedoch kein Time Machine Volume zur Verfügung steht, kann dieser Prozess durchaus die CPU-Last signifikant in die Höhe treiben und daher unter Umständen sehr störend sein. Um das abzustellen gibt es prinzipiell 2 Möglichkeiten: # Time Machine komplett deaktivieren (in den Systemeinstellungen) # Nur diesen mobilen Dienst deaktivieren Um zweiteres zu tun, ist folgende Anweisung im {{Terminal}} einzugeben: sudo tmutil disablelocal Um den Dienst wieder zu reaktivieren, ist folgendes einzugeben: sudo tmutil enablelocal d50a0ca3ff6617649db835ba4fcb3106fe158f1a Template:Man 10 30 1040 221 2023-03-10T08:39:38Z Hagbard 2 11 revisions imported wikitext text/x-wiki <noinclude>Vorlage zur Erzeugung eines Links zum Debian [https://manpages.debian.org/ Manpage-Browser.] ;Verwendungsbeispiel <nowiki>{{Man|vi|vi}}</nowiki> {{Man|vi|vi}} </noinclude><includeonly>{{TerminalIcon}} [https://manpages.debian.org/jump?q={{{1}}} {{{2}}}]</includeonly> 9ac923ad86509ed8f1993310d9adda1f21ce643f Template:Tt 10 26 1047 225 2023-03-10T08:39:39Z Hagbard 2 6 revisions imported wikitext text/x-wiki <noinclude>Vorlage zur Ausgabe einer Zeichenfolge in Monospaced-Schrift (Typewriter), z.B. für kurze Codeschnippsel oder Variablennamen im Fließtext. ;Verwendung: <nowiki>{{TT|Monospaced Text}}</nowiki> ;Ausgabe: {{TT|Monospaced Text}} </noinclude><includeonly><font style="font-family:courier,monospace; font-size:100%;">{{{1}}}</font></includeonly> 069562a95ba5abb8a7b7798fd5df6ced5b79266d Template:Contentbox 10 94 1061 328 2023-03-10T08:39:40Z Hagbard 2 13 revisions imported wikitext text/x-wiki <noinclude>Vorlage für eine Inhaltsbox ohne Titel</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="top"> <td id="topleft">&nbsp;</td> <td id="top"></td> <td id="topright"></td> </tr> <tr id="content> <td id="left"></td> <td id="content"> {{{content}}} </td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> e6b723adfd944499b93175239501beea67b8fd55 Template:Key press 10 3 1065 233 2023-03-10T08:39:41Z Hagbard 2 3 revisions imported wikitext text/x-wiki {{key press/core|{{{1|}}}}}<!-- -->{{#if:{{{2|}}}|{{{chain first|{{{chain|+}}}}}}{{key press/core|{{{2}}}}}}}<!-- -->{{#if:{{{3|}}}|{{{chain second|{{{chain|+}}}}}}{{key press/core|{{{3}}}}}}}<!-- -->{{#if:{{{4|}}}|{{{chain third|{{{chain|+}}}}}}{{key press/core|{{{4}}}}}}}<!-- -->{{#if:{{{5|}}}|{{{chain fourth|{{{chain|+}}}}}}{{key press/core|{{{5}}}}}}}<!-- -->{{#if:{{{6|}}}|{{{chain fifth|{{{chain|+}}}}}}{{key press/core|{{{6}}}}}}}<!-- -->{{#if:{{{7|}}}|{{{chain sixth|{{{chain|+}}}}}}{{key press/core|{{{7}}}}}}}<!-- -->{{#if:{{{8|}}}|{{{chain seventh|{{{chain|+}}}}}}{{key press/core|{{{8}}}}}}}<!-- -->{{#if:{{{9|}}}|{{{chain eighth|{{{chain|+}}}}}}{{key press/core|{{{9}}}}}}}<!-- -->{{#if:{{{10|}}}|{{{chain ninth|{{{chain|+}}}}}}{{key press/core|{{{10}}}}}}}<!-- -->{{#if:{{{11|}}}|[[Category:Wikipedia keypress template parameter needs fixing]]}}<noinclude> <!-- add category and language links to the /doc sub-page, not here --> == Usage == Example : {{Tlx|key press|A}} → {{key press|A}} To illustrate keystroke combinations, just use extra parameters: : {{Tlx|key press|Alt|P}} → {{key press|Alt|P}} : {{Tlx|key press|Ctrl|Alt|Del}} → {{key press|Ctrl|Alt|Del}} See https://en.wikipedia.org/wiki/Template:Key_press for details </noinclude> 98d8afc793a3bac4f477922d15b248c55a19cd75 Template:Key press/core 10 4 1075 235 2023-03-10T08:39:41Z Hagbard 2 9 revisions imported wikitext text/x-wiki <kbd class="keyboard-key nowrap" style="white-space: nowrap; border: 1px solid #aaa; {{border-radius|0.2em}} {{box-shadow|0.1em|0.2em|0.2em|#ddd}} background-color: #f9f9f9; {{linear-gradient|top|#eee, #f9f9f9, #eee}} padding: 0.1em 0.3em; font-family: inherit; font-size: 0.85em;">{{#switch:{{lc:{{{1}}}}} | apple = [[Image:Apple logo black.svg|12px]] Apple | appleicon = [[Image:Apple logo black.svg|12px]] | power = [[Image:IEC5009_Standby_Symbol.svg|10px]] Power <!-- {{Unicode|&#x23FB;}} --> | caps lock = {{Unicode|⇪}} Caps Lock | [[caps lock]] = {{Unicode|⇪}} [[Caps Lock]] | shift = {{Unicode|⇧}} Shift | [[shift key|shift]] = {{Unicode|⇧}} [[Shift key|Shift]] | enter = {{Unicode|↵}} Enter | [[enter key|enter]] = {{Unicode|↵}} [[Enter key|Enter]] | cmd = {{Unicode|⌘}} Cmd | [[cmd key|cmd]] | [[command key|cmd]] = {{Unicode|⌘}} [[Command key|Cmd]] | command = {{Unicode|⌘}} Command | [[cmd key|command]] | [[command key|command]] = {{Unicode|⌘}} [[Command key|Command]] | esc = {{Unicode|⎋}} Esc | opt = {{Unicode|⌥}} Opt | alt = {{Unicode|⌥}} Alt | [[opt key|opt]] | [[option key|opt]] = {{Unicode|⌥}} [[Option key|Opt]] | option = {{Unicode|⌥}} Option | [[option key]] | [[opt key|option]] | [[option key|option]] = {{Unicode|⌥}} [[Option key|Option]] | tab = Tab {{Unicode|↹}} | [[tab key|tab]] = [[Tab key|Tab]] {{Unicode|↹}} | backspace = ← Backspace | [[backspace]] = ← [[Backspace]] | win = {{Unicode|⊞}} Win | [[win key|win]] | [[windows key|win]] = {{Unicode|⊞}} [[Windows key|Win]] | menu = {{Unicode|≣}} Menu | [[menu key|menu]] = {{Unicode|≣}} [[Menu key|Menu]] | up = ↑ | [[arrow keys|up]] = [[Arrow keys|↑]] | down = ↓ | [[arrow keys|down]] = [[Arrow keys|↓]] | left = ← | [[arrow keys|left]] = [[Arrow keys|←]] | right = → | [[arrow keys|right]] = [[Arrow keys|→]] | * | asterisk = <nowiki>*</nowiki> | # | hash = <nowiki>#</nowiki> | [[#]] = [[Number sign|#]] | : | colon = <nowiki>:</nowiki> | [[:]] = [[Colon (punctuation)|:]] | pipe = <nowiki>|</nowiki> | [[|]] = [[Pipe symbol|<nowiki>|</nowiki>]] | ; | semicolon = <nowiki>;</nowiki> | [[;]] = [[Semi-colon|<nowiki>;</nowiki>]] | equals = <nowiki>=</nowiki> <!-- Left & right analog sticks --> | l-up | l up = L↑ | l-down | l down = L↓ | l-left | l left = L← | l-right | l right = L→ | l-ne | l ne = L↗ | l-se | l se = L↘ | l-nw | l nw = L↖ | l-sw | l sw = L↙ | r-up | r up = R↑ | r-down | r down = R↓ | r-left | r left = R← | r-right | r right = R→ | r-ne | r ne = R↗ | r-se | r se = R↘ | r-nw | r nw = R↖ | r-sw | r sw = R↙ <!-- PlayStation --> | ps x | ex = {{unicode|×}} | ps c | circle = {{unicode|○}} | ps s | square = {{unicode|□}} | ps t | triangle = {{unicode|△}} <!-- Nintendo 64 & GameCube --> | c-up | c up = C↑ | c-down | c down = C↓ | c-left | c left = C← | c-right | c right = C→ | c-ne | c ne = C↗ | c-se | c se = C↘ | c-nw | c nw = C↖ | c-sw | c sw = C↙ <!-- default --> | #default = {{{1}}} }}</kbd><noinclude> <!-- Add categories and interwikis links to the /doc subpage, not here! --> </noinclude> 1299583ceff4cb3f76e4b7cb6a1cdfa7d8ebbd74 Template:ContentboxWithIconAndTitle 10 91 1083 322 2023-03-10T08:39:42Z Hagbard 2 7 revisions imported wikitext text/x-wiki <noinclude>Vorlage für eine Inhaltsbox mit Titel und Titelicon. '''Hinweis:''' Das Symbol wird immer auf 32 Pixel Breite herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIconText"> <td id="topleftIcon">&nbsp;</td> <td id="topIconText">[[Image:{{{icon}}}|32px]]</td> <td id="topIconTitleText">{{{title}}}</td> <td id="topIconText"></td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td colspan="3" id="content"> {{{content}}} </td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td colspan="3" id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> d16caa003bd1a92ca7b6a87f20a268f0dd5ef26b Template:Hint 10 92 1092 324 2023-03-10T08:39:42Z Hagbard 2 8 revisions imported wikitext text/x-wiki <noinclude>Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für hilfreiche Tipps & Tricks zu einem gerade behandelten Thema. ;Beispiel: <nowiki>{{Hint|Text}}</nowiki> ;Ausgabe: {{Hint|Text}} </noinclude><includeonly> {{InfoboxWithIconAndTitle|title=Tipp|icon=Light bulb icon tips.svg|width=100%|content={{{1}}}}}</includeonly> 304de9b4a3cc803efae581960d232758a029b6de Template:InfoboxWithIconAndTitle 10 93 1096 326 2023-03-10T08:39:43Z Hagbard 2 3 revisions imported wikitext text/x-wiki <noinclude>Diese Vorlage dient der Erzeugung verschiedener Artikelbausteine, wie z.B. zur Kennzeichnung * ausbaufähiger Artikel * unvollständiger Artikel * unverständlicher Artikel * Löschkandidaten usw. Die Vorlage sollte '''nicht direkt verwendet werden''' sondern nur innerhalb der obigen Artikelbausteine zum Einsatz kommen. Für die Verwendung der Vorlage ohne Icon ist die Vorlage [[Vorlage:Infobox|Infobox]] zu verwenden. </noinclude><includeonly>{{ContentboxWithIconAndTitle|title={{{title}}}|icon={{{icon}}}|width={{{width}}}|content= {{{content}}}}}</includeonly> 74fbe7b7986226416727181a96b9af5fbd276c74 Template:ContentboxWithIcon 10 23 1107 211 2023-03-10T08:39:44Z Hagbard 2 10 revisions imported wikitext text/x-wiki <noinclude>Vorlage für eine Inhaltsbox ohne Titel, mit Titelicon. '''Hinweis:''' Das Symbol wird immer auf 32 Pixel Breite herauf- bzw. herunterskaliert!</noinclude><includeonly><table class="contentbox" width="{{{width}}}"> <tr id="topIcon"> <td id="topleftIcon">&nbsp;</td> <td id="topIcon">[[Image:{{{icon}}}|32px]]</td> <td id="toprightIcon"></td> </tr> <tr id="content> <td id="left"></td> <td id="content">{{{content}}}</td> <td id="right"></td> </tr> <tr id="bottom"> <td id="bottomleft"></td> <td id="bottom">&nbsp;</td> <td id="bottomright"></td> </tr> </table></includeonly> cd00d7e8a8d64f7965b61e8d7d180411307d59f6 Template:Info 10 18 1117 215 2023-03-10T08:39:44Z Hagbard 2 9 revisions imported wikitext text/x-wiki <noinclude>Vorlage zur Einblendung eines einfachen Bausteins mit einem frei definierbaren Text für weitere Informationen zu einem gerade behandelten Thema. ;Beispiel: <nowiki>{{Information|Text}}</nowiki> ;Ausgabe: {{Information|Text}} </noinclude><includeonly> {{InfoboxWithIcon|icon=Logo informations.svg|width=100%|content={{{1}}}}}</includeonly> 84362ec794f2dc4b243d74e8d84b278fd9a53036 Template:InfoboxWithIcon 10 20 1122 217 2023-03-10T08:39:45Z Hagbard 2 4 revisions imported wikitext text/x-wiki <noinclude>Diese Vorlage dient der Erzeugung verschiedener Artikelbausteine, wie z.B. zur Kennzeichnung * ausbaufähiger Artikel * unvollständiger Artikel * unverständlicher Artikel * Löschkandidaten usw. Die Vorlage sollte '''nicht direkt verwendet werden''' sondern nur innerhalb der obigen Artikelbausteine zum Einsatz kommen. Für die Verwendung der Vorlage ohne Icon ist die Vorlage [[Vorlage:Infobox|Infobox]] zu verwenden. </noinclude><includeonly>{{ContentboxWithIcon|icon={{{icon}}}|width={{{width}}}|content= {{{content}}}}}</includeonly> bd0946aa8042eb0795a3696209fb38d9456d7eb1 Template:Terminal 10 12 1132 207 2023-03-10T08:39:45Z Hagbard 2 9 revisions imported wikitext text/x-wiki <noinclude>Abkürzungsvorlage für die Darstellung eines Links zur Kategorie "Terminal" mit zugehörigem Icon. ;Vorschau: {{Terminal}} </noinclude><includeonly>{{TerminalIcon}} [[:Category:Terminal|Terminal]]</includeonly> 280a38b13db32edc2680fe1da871b8128cb9e806 Template:Important 10 21 1140 227 2023-03-10T08:39:46Z Hagbard 2 7 revisions imported wikitext text/x-wiki <noinclude>Vorlage zur Einblendung eines Bausteins mit einem frei definierbaren Text für wichtige Informationen zu einem gerade behandelten Thema. ;Beispiel: <nowiki>{{Important|Text}}</nowiki> ;Ausgabe: {{Important|Text}} </noinclude><includeonly> {{InfoboxWithIcon|icon=Gefahrenzeichen_16.svg|width=100%|content={{{1}}}}}</includeonly> 702a23f9120b4a3dc5aa2f93dce2ed5d8bb3db74 Template:Translucent 10 196 1153 1152 2023-03-10T08:39:47Z Hagbard 2 12 revisions imported wikitext text/x-wiki <noinclude>Vorlage zur halbtrasnsparenten Darstellung von (beliebigen) Inhalten. ;Beispiel: <nowiki>[[Image:Folder.png|32px]] {{Translucent|1=[[Image:Folder.png|32px]]}}</nowiki> ;Ausgabe: :[[Image:Folder.png|32px]]{{Translucent|1=[[Image:Folder.png|32px]]}} </noinclude><includeonly><div class=translucent>{{{1}}}</div></includeonly> 0a95969891397a080c2b3cd4c1f15c58b1675cac Prevent .DS Store files on network shares 0 148 1154 710 2023-03-10T08:45:23Z Hagbard 2 Hagbard moved page [[Kurztipp - .DS Store Dateien auf Netzwerkvolumes verhindern]] to [[.DS Store Dateien auf Netzwerkvolumes verhindern]]: Shortened page title wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]] __NOEDITSECTION__ Für alle, die sich jedesmal über die {{TT|.DS_Store}} Dateien auf Netzwerkvolumes ärgern (lästig vor allem bei Samba-Shares unter Linux/Win32) hier ein - zwar nicht mehr taufrischer, aber dennoch ganz hilfreicher - Tipp (funktioniert ab Mac OS X Tiger). Diese Files werden durch den Finder erstellt und speichern Darstellungseigenschaften für die einzelnen Ordner (z.B. Spaltenansicht etc.). Wer im Sinne besserer Optik / Ordnung drauf verzichten kann mache das folgende: Durch die Eigabe von defaults write com.apple.desktopservices DSDontWriteNetworkStores true im Terminal (muss für jeden Benutzer durchgeführt werden) erstellt der Finder diese Dateien nicht mehr. Das ist nur gültig für Netzwerkvolumes via ... * SMB/CIFS * AFP * NFS * WebDAV und hat keinen Einfluss auf lokale Volumes (sprich Festplatten, Wechselplatten, DVD-RAMs, ...). Anschließend muss (laut [http://docs.info.apple.com/article.html?artnum=301711 Apple]) der Rechner neu gebootet werden. Die Änderungen werden in der folgenden Datei gespeichert: ~/Library/Preferences/com.apple.desktopservices.plist Um die Änderungen auch für andere Benutzer wirksam zu machen, muss nur diese Datei an die entsprechende Stelle im Benutzerverzeichnis kopiert werden. Infos über mögliche daraus resultierende Fehlverhalten des Finders gibts unter anderem in [http://docs.info.apple.com/article.html?artnum=107822 diesem Artikel] der Apple Knowledge Base. {{Contentbox|content=Apple Knowledge Base Artikel zum Thema: [http://support.apple.com/kb/HT1629 Mac OS X v10.4 and later: How to prevent .DS_Store file creation over network connections]}} ===Löschen aller {{TT|.DS_Store}} Dateien=== Um rekursiv alle ''.DS_Store'' Dateien in einem Verzeichnis auf einmal zu löschen, genügt die Eingabe der folgenden Zeile im Terminal (im betreffenden Verzeichnis): <source lang="bash"> find . -name '*.DS_Store' -type f -delete </source> Für ein anderes Verzeichnis als das aktuelle ist dies an Stelle des Punktes nach "find" anzugeben. 816a0f66c255bb4da850bf53a0382c005402334f 1160 1154 2023-03-10T08:47:16Z Hagbard 2 Hagbard moved page [[.DS Store Dateien auf Netzwerkvolumes verhindern]] to [[Prevent .DS Store files on network shares]]: Translated & shortened page title wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]] __NOEDITSECTION__ Für alle, die sich jedesmal über die {{TT|.DS_Store}} Dateien auf Netzwerkvolumes ärgern (lästig vor allem bei Samba-Shares unter Linux/Win32) hier ein - zwar nicht mehr taufrischer, aber dennoch ganz hilfreicher - Tipp (funktioniert ab Mac OS X Tiger). Diese Files werden durch den Finder erstellt und speichern Darstellungseigenschaften für die einzelnen Ordner (z.B. Spaltenansicht etc.). Wer im Sinne besserer Optik / Ordnung drauf verzichten kann mache das folgende: Durch die Eigabe von defaults write com.apple.desktopservices DSDontWriteNetworkStores true im Terminal (muss für jeden Benutzer durchgeführt werden) erstellt der Finder diese Dateien nicht mehr. Das ist nur gültig für Netzwerkvolumes via ... * SMB/CIFS * AFP * NFS * WebDAV und hat keinen Einfluss auf lokale Volumes (sprich Festplatten, Wechselplatten, DVD-RAMs, ...). Anschließend muss (laut [http://docs.info.apple.com/article.html?artnum=301711 Apple]) der Rechner neu gebootet werden. Die Änderungen werden in der folgenden Datei gespeichert: ~/Library/Preferences/com.apple.desktopservices.plist Um die Änderungen auch für andere Benutzer wirksam zu machen, muss nur diese Datei an die entsprechende Stelle im Benutzerverzeichnis kopiert werden. Infos über mögliche daraus resultierende Fehlverhalten des Finders gibts unter anderem in [http://docs.info.apple.com/article.html?artnum=107822 diesem Artikel] der Apple Knowledge Base. {{Contentbox|content=Apple Knowledge Base Artikel zum Thema: [http://support.apple.com/kb/HT1629 Mac OS X v10.4 and later: How to prevent .DS_Store file creation over network connections]}} ===Löschen aller {{TT|.DS_Store}} Dateien=== Um rekursiv alle ''.DS_Store'' Dateien in einem Verzeichnis auf einmal zu löschen, genügt die Eingabe der folgenden Zeile im Terminal (im betreffenden Verzeichnis): <source lang="bash"> find . -name '*.DS_Store' -type f -delete </source> Für ein anderes Verzeichnis als das aktuelle ist dies an Stelle des Punktes nach "find" anzugeben. 816a0f66c255bb4da850bf53a0382c005402334f Kurztipp - .DS Store Dateien auf Netzwerkvolumes verhindern 0 197 1155 2023-03-10T08:45:23Z Hagbard 2 Hagbard moved page [[Kurztipp - .DS Store Dateien auf Netzwerkvolumes verhindern]] to [[.DS Store Dateien auf Netzwerkvolumes verhindern]]: Shortened page title wikitext text/x-wiki #REDIRECT [[.DS Store Dateien auf Netzwerkvolumes verhindern]] 7f21b3797e4190cc9749221c48720e03a5965071 Quit app when closing the last window (Cocoa, Objc) 0 149 1156 714 2023-03-10T08:45:29Z Hagbard 2 Hagbard moved page [[Kurztipp - Applikation mit Schließen des Fensters beenden (ObjC, Cocoa)]] to [[Applikation mit Schließen des Fensters beenden (ObjC, Cocoa)]]: Shortened page title wikitext text/x-wiki [[Category:Development]][[Category:Hint]] Um eine ObjC-Cocoa-Applikation mit dem Schließen des letzten Fensters automatisch zu beenden, ist folgendes zu machen: in die Methode '''awakeFromNib''' folgende Zeilen einfügen, das sieht dann etwa so aus: - (void)awakeFromNib { ... [NSApp setDelegate:self]; ... } Anschließend eine Methode namens '''applicationShouldTerminateAfterLastWindowClosed''' erstellen, die wie folgt aussieht: - (BOOL)[http://www.cocoadev.com/index.pl?NSApplication applicationShouldTerminateAfterLastWindowClosed]:(NSApplication *)theApplication { return YES; } Fertig! Dazu gibt es auch eine ganze Reihe alternativer Vorgehensweisen, diese hier ist aber sehr einfach und funktioniert ... ;-) a644a1230025c52bf4a7df873704b5bc74b70530 1162 1156 2023-03-10T08:47:47Z Hagbard 2 Hagbard moved page [[Applikation mit Schließen des Fensters beenden (ObjC, Cocoa)]] to [[Quit app when closing the last window (Cocoa, Objc)]]: Translated & shortened page title wikitext text/x-wiki [[Category:Development]][[Category:Hint]] Um eine ObjC-Cocoa-Applikation mit dem Schließen des letzten Fensters automatisch zu beenden, ist folgendes zu machen: in die Methode '''awakeFromNib''' folgende Zeilen einfügen, das sieht dann etwa so aus: - (void)awakeFromNib { ... [NSApp setDelegate:self]; ... } Anschließend eine Methode namens '''applicationShouldTerminateAfterLastWindowClosed''' erstellen, die wie folgt aussieht: - (BOOL)[http://www.cocoadev.com/index.pl?NSApplication applicationShouldTerminateAfterLastWindowClosed]:(NSApplication *)theApplication { return YES; } Fertig! Dazu gibt es auch eine ganze Reihe alternativer Vorgehensweisen, diese hier ist aber sehr einfach und funktioniert ... ;-) a644a1230025c52bf4a7df873704b5bc74b70530 Kurztipp - Applikation mit Schließen des Fensters beenden (ObjC, Cocoa) 0 198 1157 2023-03-10T08:45:29Z Hagbard 2 Hagbard moved page [[Kurztipp - Applikation mit Schließen des Fensters beenden (ObjC, Cocoa)]] to [[Applikation mit Schließen des Fensters beenden (ObjC, Cocoa)]]: Shortened page title wikitext text/x-wiki #REDIRECT [[Applikation mit Schließen des Fensters beenden (ObjC, Cocoa)]] bc0c2328a8ad18bd00448cd8ddf9e07dd80b97a0 Purge the DNS cache 0 150 1158 720 2023-03-10T08:45:35Z Hagbard 2 Hagbard moved page [[Kurztipp - DNS-Cache leeren]] to [[DNS-Cache leeren]]: Shortened page title wikitext text/x-wiki [[Category:Hint]]Um nach Änderungen an der [[wikipedia:de:DNS|DNS]]-Konfiguration oder der lokalen Namensauflösung in {{Man|hosts|{{TT|/etc/hosts}}}} kann man mit folgendem Terminal-Kommando den lokalen DNS-Cache leeren: {| ! OS X Version !! Terminal-Anweisung |-- | bis Mac OS 10.4 (Tiger) || <code>sudo lookupd -flushcache</code> |-- | bis Mac OS 10.6 (Snow Leopard) || <code>sudo dscacheutil -flushcache</code> |-- | bis OS X 10.8 (Mountain Lion) || <code>sudo killall -HUP mDNSResponder</code> |-- | OS X 10.9 (Mavericks) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | OS X 10.10 (Yosemite) <sup>*</sup> || bis 10.10.3:<br /><code>sudo discoveryutil mdnsflushcache; sudo discoveryutil udnsflushcaches</code><br />seit 10.10.4:<br /><code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | OS X 10.11 (El Capitan) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | OS X 10.12 (Sierra) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder; sudo killall mDNSResponderHelper</code> |-- | seit macOS 10.13 (High Sierra) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |} ---- <sup>*)</sup><small> In Version 10.10.0 wurde mDNSResponder durch discoveryd ersetzt, der in Version 10.10.4 wegen anhaltender Probleme wieder entfernt wurde. Somit gleicht das Vorgehen in Version 10.10.4 und neuer wieder dem Vorgehen unter OS X Mavericks.</small> 5f97740a75bf0dff3bbb8002fb12dc18ff910bf2 1164 1158 2023-03-10T08:48:06Z Hagbard 2 Hagbard moved page [[DNS-Cache leeren]] to [[Purge the DNS cache]]: Translated & shortened page title wikitext text/x-wiki [[Category:Hint]]Um nach Änderungen an der [[wikipedia:de:DNS|DNS]]-Konfiguration oder der lokalen Namensauflösung in {{Man|hosts|{{TT|/etc/hosts}}}} kann man mit folgendem Terminal-Kommando den lokalen DNS-Cache leeren: {| ! OS X Version !! Terminal-Anweisung |-- | bis Mac OS 10.4 (Tiger) || <code>sudo lookupd -flushcache</code> |-- | bis Mac OS 10.6 (Snow Leopard) || <code>sudo dscacheutil -flushcache</code> |-- | bis OS X 10.8 (Mountain Lion) || <code>sudo killall -HUP mDNSResponder</code> |-- | OS X 10.9 (Mavericks) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | OS X 10.10 (Yosemite) <sup>*</sup> || bis 10.10.3:<br /><code>sudo discoveryutil mdnsflushcache; sudo discoveryutil udnsflushcaches</code><br />seit 10.10.4:<br /><code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | OS X 10.11 (El Capitan) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |-- | OS X 10.12 (Sierra) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder; sudo killall mDNSResponderHelper</code> |-- | seit macOS 10.13 (High Sierra) || <code>sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder</code> |} ---- <sup>*)</sup><small> In Version 10.10.0 wurde mDNSResponder durch discoveryd ersetzt, der in Version 10.10.4 wegen anhaltender Probleme wieder entfernt wurde. Somit gleicht das Vorgehen in Version 10.10.4 und neuer wieder dem Vorgehen unter OS X Mavericks.</small> 5f97740a75bf0dff3bbb8002fb12dc18ff910bf2 Kurztipp - DNS-Cache leeren 0 199 1159 2023-03-10T08:45:35Z Hagbard 2 Hagbard moved page [[Kurztipp - DNS-Cache leeren]] to [[DNS-Cache leeren]]: Shortened page title wikitext text/x-wiki #REDIRECT [[DNS-Cache leeren]] c82da18c197d923fea10fa057efcbd666c77b3f7 .DS Store Dateien auf Netzwerkvolumes verhindern 0 200 1161 2023-03-10T08:47:16Z Hagbard 2 Hagbard moved page [[.DS Store Dateien auf Netzwerkvolumes verhindern]] to [[Prevent .DS Store files on network shares]]: Translated & shortened page title wikitext text/x-wiki #REDIRECT [[Prevent .DS Store files on network shares]] 69e563e8169b06af8c2d6e9996fa979383fd50e0 Applikation mit Schließen des Fensters beenden (ObjC, Cocoa) 0 201 1163 2023-03-10T08:47:47Z Hagbard 2 Hagbard moved page [[Applikation mit Schließen des Fensters beenden (ObjC, Cocoa)]] to [[Quit app when closing the last window (Cocoa, Objc)]]: Translated & shortened page title wikitext text/x-wiki #REDIRECT [[Quit app when closing the last window (Cocoa, Objc)]] 94f3b3fcbd858ceefe184c9146bc48d6636d2ba5 DNS-Cache leeren 0 202 1165 2023-03-10T08:48:06Z Hagbard 2 Hagbard moved page [[DNS-Cache leeren]] to [[Purge the DNS cache]]: Translated & shortened page title wikitext text/x-wiki #REDIRECT [[Purge the DNS cache]] 932037bbd8dc213aab561159ef7306a1495622c5 Create a DVD ISO disk image from a VIDEO TS folder 0 151 1166 724 2023-03-10T08:48:44Z Hagbard 2 Hagbard moved page [[Kurztipp - DVD ISO aus VIDEO TS]] to [[Create a DVD ISO disk image from a VIDEO TS folder]]: Translated & shortened page title wikitext text/x-wiki [[Category:OS]][[Category:Hint]] Um aus einem VIDEO_TS Ordner ein DVD UDF ISO zu erzeugen reicht folgende Zeile: <pre> hdiutil makehybrid -udf -udf-volume-name <Name> -o <Name>.iso <Ordnername> </pre> Weitere Informationen sind im Artikel zu [[Hdiutil|hdiutil]] zu finden. c0f4be1ab6110f501c05d99b1212a802ef23a5c3 Kurztipp - DVD ISO aus VIDEO TS 0 203 1167 2023-03-10T08:48:44Z Hagbard 2 Hagbard moved page [[Kurztipp - DVD ISO aus VIDEO TS]] to [[Create a DVD ISO disk image from a VIDEO TS folder]]: Translated & shortened page title wikitext text/x-wiki #REDIRECT [[Create a DVD ISO disk image from a VIDEO TS folder]] bc63be91944d0c0ca174a222a75f63e7b832f9f3 Create Screen Shots in image formats other than PNG 0 152 1168 729 2023-03-10T08:49:21Z Hagbard 2 Hagbard moved page [[Kurztipp - Dateiformat von Screenshots ändern]] to [[Create Screen Shots in image formats other than PNG]]: Translated & shortened page title wikitext text/x-wiki [[Category:OS]][[Category:Hint]] ==Ausgabeformat von Screenshots ändern== Mit den Tastenkombinationen :{{Key press|CMD|Shift|3}} :{{Key press|CMD|Shift|4}} lassen sich unter MacOS Screenshots erstellen. Diese landen seit MacOS 10.4 (aka Tiger) als PNG-Grafik auf der Platte (früher: PDF). Das Dateiformat lässt sich jedoch mit der folgenden Änderung ändern bzw. wieder auf PDF zurückstellen. Anmerkung: :{{Key press|CMD|Ctrl|Shift|3} :{{Key press|CMD|Ctrl|Shift|4}} kopiert das Bild in die '''Zwischenablage''' ===Vorgehensweise im Terminal=== Im Terminal die folgende Zeile eingeben und mit <KB>return</KB> bestätigen: defaults write com.apple.screencapture type <nowiki><dateityp></nowiki> wobei <nowiki><dateityp></nowiki> durch das gewünschte Format zu ersetzen ist (z.B. PDF). Anschließend muss man sich neu anmelden, um die Änderungen wirksam werden zu lassen oder den folgenden Befehl im Terminal eingeben: killall SystemUIServer Prinzipiell lässt sich dort jedes von Quicktime unterstützte Bildformat angeben. ===fertige Tools=== Die Umstellung kann auch mit Hilfe eines graphischen Tools vonstatten gehen, z.b. mit * [http://www.imovieplugins.com/other%20products/savescreenie.html savescreenie] * [https://www.macupdate.com/app/mac/18774/scit SCIT] * [https://www.macupdate.com/app/mac/18695/shotchoice shotChoice] * [https://www.bresink.com/osx/TinkerTool.html TinkerTool] ===Unterstützte Bildformate=== * [http://de.wikipedia.org/wiki/Windows_bitmap BMP] (Windows Bitmap) * [http://de.wikipedia.org/wiki/GIF GIF] (Graphics Interchange Format) * [http://de.wikipedia.org/wiki/JPG JPEG] (Joint Photographic Experts Group) * [http://de.wikipedia.org/wiki/JPG JPEG-2000] * [http://de.wikipedia.org/wiki/PDF PDF] <sup>*)</sup> (Portable Document Format) * [http://en.wikipedia.org/wiki/PICT PICT] * [http://de.wikipedia.org/wiki/Portable_Network_Graphics PNG] <sup>*)</sup> (Portable Network Graphics) * PSD (Adobe Photoshop) * SGI * [http://de.wikipedia.org/wiki/Targa_Image_File TGA] (Targa Image File, von Truevision Inc.) * [http://de.wikipedia.org/wiki/TIFF TIFF] (Tagged Image File Format) <sup>*)</sup> getestet (nicht alle sind verifiziert und getestet, Kommentare sind wie immer willkommen) ce689adbdc47effa9e4729d07e6ec8a56e939737 Kurztipp - Dateiformat von Screenshots ändern 0 204 1169 2023-03-10T08:49:21Z Hagbard 2 Hagbard moved page [[Kurztipp - Dateiformat von Screenshots ändern]] to [[Create Screen Shots in image formats other than PNG]]: Translated & shortened page title wikitext text/x-wiki #REDIRECT [[Create Screen Shots in image formats other than PNG]] acfd944c8a05a1e9f20c89c7a1951d13896987a9 Move windows across Spaces 0 153 1170 735 2023-03-10T08:49:36Z Hagbard 2 Hagbard moved page [[Kurztipp - Fenster zwischen Spaces verschieben]] to [[Move windows across Spaces]]: Translated & shortened page title wikitext text/x-wiki [[Category:OS]][[Category:Hint]] Um unter Mac OS X 10.5 (Leopard) ein Fenster auf einen anderen Desktop von Spaces zu verschieben, ohne umständlich die Fenster mit der Maus herumdraggen zu müssen, genügt folgendes: * Fenster in der Titelleiste anklicken und Maustaste gedrückt halten (als ob man es verschieben will) * Desktop wechseln (standardmäßig <KB>CTRL</KB> + Desktopnummer Auf dem gewünschten Desktop die Maustaste wieder loslassen Alternativ kann man auch über die Spaces-Übersicht (standardmäßig über <KB>F8</KB> erreichbar) die Fenster zwischen verschiedenen Spaces hin- und herverschieben. {{Hint|Auf diese Weise lassen sich auch andere Drag'n'Drop Operationen durchführen, beispielsweise das Einfügen einer Grafikdatei aus einem Finder-Fenster von Desktop 1 in eine E-Mail auf Desktop 3.}} Unter Mac OS X 10.6 (Snow Leopard) lassen sich die Fenster auch direkt in der Spaces-Übersicht verschieben. f867c886cd2f010f585345da997241c693acd0db Kurztipp - Fenster zwischen Spaces verschieben 0 205 1171 2023-03-10T08:49:36Z Hagbard 2 Hagbard moved page [[Kurztipp - Fenster zwischen Spaces verschieben]] to [[Move windows across Spaces]]: Translated & shortened page title wikitext text/x-wiki #REDIRECT [[Move windows across Spaces]] 75de1a8db39eeb9adc30c0318d8182b8190e3308 Activate HiDPI Screen Resolutions 0 154 1172 741 2023-03-10T08:49:50Z Hagbard 2 Hagbard moved page [[Kurztipp - HiDPI Auflösungen aktivieren]] to [[Activate HiDPI Screen Resolutions]]: Translated & shortened page title wikitext text/x-wiki [[Category:OS]]Um für Testzwecke – z.B. bei der Erstellung retina-kompatibler Programme oder Webseiten – die Ausgabe von OS X auf eine HiDPI Auflösung umschalten zu können, ist folgende Anweisung im [[:Category:Terminal|Terminal]] einzugeben: sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool YES; Nach einer erneuten Anmeldung steht nun in den Systemeinstellungen (unter "Monitore") je nach verwendetem System eine oder mehrere Retina-Auflösungen zur Auswahl. Zum Deaktivieren dieser Funktion ist folgende Anweisung zu verwenden: sudo defaults delete /Library/Preferences/com.apple.windowserver DisplayResolutionDisabled; Siehe auch: [[Kurztipp - Retina-Auflösungen aktivieren]] e7d34c5fedb24a102e54d8e505eb021c2e243eac Kurztipp - HiDPI Auflösungen aktivieren 0 206 1173 2023-03-10T08:49:50Z Hagbard 2 Hagbard moved page [[Kurztipp - HiDPI Auflösungen aktivieren]] to [[Activate HiDPI Screen Resolutions]]: Translated & shortened page title wikitext text/x-wiki #REDIRECT [[Activate HiDPI Screen Resolutions]] e30159554a1f75a06df26e434db02dd0cc283ec2 Disable Firefox History Navigation when swiping horizontally 0 155 1174 747 2023-03-10T08:50:51Z Hagbard 2 Hagbard moved page [[Kurztipp - Horizontales Scrolling durch Firefox-History deaktivieren]] to [[Disable Firefox History Navigation when swiping horizontally]]: Translated & shortened page title wikitext text/x-wiki [[Category:App]][[Category:Hint]] ==Horizontales History-Scrolling im Firefox== Im Firefox existieren ein paar Variablen, mit denen das Verhalten des Mausrades bestimmt werden kann. Dazu wird zwischen horizontalem und vertilkalem Scrolling unterschieden. ===Problem=== Insbesondere in Verbindung mit [https://www.macupdate.com/app/mac/17240/iscroll2 iScroll] kann die horizontale Version dabei äußerst lästig sein, da bei nicht exakt vertikalen Bewegungen auf dem Touchpad der Firefox munter in der History herumspringt. ===Abhilfe=== Um die Funktion umzubelegen bzw. zu deaktivieren, kann man den Wert einer Konfigurationsvariablen auf der Konfigurationsseite about:config ändern (einfach genau so in die Adresszeile eingeben). Dazu muss der Variablen mousewheel.horizscroll.withnokey.action ein anderer Wert zugewiesen werden, standardmäßig ist dies mousewheel.horizscroll.withnokey.action = 2 Ein wert von 0 schafft beispielsweise Abhilfe. Dass der Wert der Variablen verändert wurde, ist am Status erkennbar - da steht nun "Vom Benutzer festgelegt" (oder das lokalisierte Pendant). Zu beachten ist, dass der Wert ein '''[[Wikipedia:de:Integer_(Datentyp)|integer]]''' sein muss, die Variable also nur ganzzahlige Werte aufnehmen kann. == Siehe auch == * [[Versteckte Firefox-Einstellungen]] 97efaa8038c65c706312f257df12e142c469b856 Kurztipp - Horizontales Scrolling durch Firefox-History deaktivieren 0 207 1175 2023-03-10T08:50:51Z Hagbard 2 Hagbard moved page [[Kurztipp - Horizontales Scrolling durch Firefox-History deaktivieren]] to [[Disable Firefox History Navigation when swiping horizontally]]: Translated & shortened page title wikitext text/x-wiki #REDIRECT [[Disable Firefox History Navigation when swiping horizontally]] 5f6a0332529cc6a3d055112e61c7f962be2cec84 Add Inline Images to Continuous TeXt 0 156 1176 751 2023-03-10T08:51:32Z Hagbard 2 Hagbard moved page [[Kurztipp - Inline-Grafiken im FliessTeXt]] to [[Add Inline Images to Continuous TeXt]]: Translated & shortened page title wikitext text/x-wiki [[Category:TeX]][[Category:Hint]] Schön abgesetzte Grafiken und Abbildungen sind ja an sich in Ordnung; manchmal ist es aber zu Illustrationszwecken auch sehr praktisch, Grafiken vom Text umfließen zu lassen. Das geht mit TeX folgendermaßen: ===Package einbinden=== Zuerst ist das Package <font face="courier">wrapfig</font> notwendig, das wie folgt eingebunden wird: \usepackage{wrapfig} ===Grafiken erzeugen=== Anschließend wird beispielsweise wie folgt eine Grafik eingebunden: \begin{wrapfigure}[<font color="orange">$ZEILEN</font>]{<font color="orange">$AUSRICHTUNG</font>}{<font color="orange">$BEITE</font>} \includegraphics[<font color="orange">$IMAGEVARS</font>]{<font color="orange">$IMAGE</font>} \label{blah} \caption{blah} \end{wrapfigure} Wobei die obigen Variablen durch folgendes zu ersetzen sind: <font color="orange">$ZEILEN:</font> Anzahl der Zeilen Text, die die Grafiken umfließen sollen, z.B. 20 <font color="orange">$AUSRICHTUNG:</font> l (links) oder r (rechts) <font color="orange">$BREITE:</font> Breite des Textumflusses 4cm <font color="orange">$IMAGEVARS:</font> die sonst üblichen Optionen für Grafiken, z.B.: width=4cm <font color="orange">$IMAGE:</font> Grafikdatei ohne Endung, z.B. img01 Das kann dann ungefähr so aussehen: \begin{wrapfigure}[21]{r}{4cm} \includegraphics[width=4cm]{img/Siemens-sx1} \label{Mobiltelefon Siemens SX-1, Quelle: de.wikipedia.org} \caption{Mobil-telefon Siemens SX-1, Quelle: de.wikipedia.org} \end{wrapfigure} vielleicht nicht die eleganteste Lösung, aber sie funktioniert :) ===Alternative: {{TT|\parpic}}=== Alternativ kann für kleine Icons am Textrand auch das Package ''picins'' benutzt werden: <source lang="latex"> \usepackage{picins} \parpic{\includegraphics[width=1.6 cm]{pics/smallicons/MessageFilter}} </source> ccbd24c47651d9ebc0f55e74d01c2627f4ff5ebc Kurztipp - Inline-Grafiken im FliessTeXt 0 208 1177 2023-03-10T08:51:32Z Hagbard 2 Hagbard moved page [[Kurztipp - Inline-Grafiken im FliessTeXt]] to [[Add Inline Images to Continuous TeXt]]: Translated & shortened page title wikitext text/x-wiki #REDIRECT [[Add Inline Images to Continuous TeXt]] 7a5c628a88dfc088d3d976571dfc0b721df3486b Change the Wallpaper of the Login Screen 0 157 1178 756 2023-03-10T08:52:03Z Hagbard 2 Hagbard moved page [[Kurztipp - Leopard Login-Hintergrundbild ändern]] to [[Change the Wallpaper of the Login Screen]]: Translated & shortened page title wikitext text/x-wiki [[Category:Hint]][[Category:Verify]]Das im Anmeldebildschirm von Mac OS 10.5 verwendete Hintergrundbild befindet sich nicht im gleichen Verzeichnis wie die übrigen Desktop-Hintergrundbilder /Library/Desktop Pictures/ sondern an einer anderen Stelle im System: /System/Library/CoreServices/DefaultDesktop.jpg Um ein anderes Bild dafür zu verwenden, gibt es prinzipiell zwei Möglichkeiten: ===Ändern der Voreinstellungen=== Das zu verwendende Hintergrundbild wird in folgender Einstellungsdatei festgelegt und kann dementsprechend auch geändert werden: /Library/Preferences/com.apple.loginwindow Das kann in einem Editor der Wahl oder mit dem folgenden Befehl über das Terminal erfolgen: <source bash> /usr/bin/defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture "/pfad/zum/neuen/bild.jpg" </source> Um diese Änderung rückgängig zu machen, ist dann dasselbe mit dem ursprünglichen Bild aufzurufen: <source bash> /usr/bin/defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture "/System/Library/CoreServices/DefaultDesktop.jpg" </source> {{Information|1='''Achtung:''' Der Benutzer muss dazu Schreibrechte im Systemverzeichnis haben, d.h. den obigen Befehlen ist u.U. ein "{{TT|1={{Man|sudo|sudo}} }}" voranzustellen!}} ===Ersetzen der Datei=== Diese Datei ist einfach durch eine andere zu ersetzen, wobei die Zugriffsrechte der neuen Datei unbedingt angepasst werden müssen! Das kann entweder über den Info-Screen der Datei oder im Terminal erfolgen. Im {{Terminal}} sind dazu nacheinander folgende Befehle einzugeben (MYNEWPICTURE ist dabei durch den Pfad zum neuen Bild zu ersetzen): <source bash> cd /System/Library/CoreServices mv DefaultDesktop.jpg DefaultDesktop.jpg.original cp MYNEWPICTURE /System/Library/CoreServices/DefaultDesktop.jpg % chown root:wheel /System/Library/CoreServices/DefaultDesktop.jpg % chmod 644 /System/Library/CoreServices/DefaultDesktop.jpg </source> In neueren macOS Version wird dieser Pfad verwendet: /Library/Caches/Desktop Pictures/<UUID>/lockscreen.png wobei UUID durch die UUID des eigenen Benutzerkontos ersetzt werden muss. Diese kann in den Systemeinstellungen unter "Users & Groups" eingesehen werden, und zwar in den über einen secondary click (Rechtsklick) erreichbaren "Erweiterten Optionen" ("Advanced Options"). Es ist durchaus möglich, dass dieses Verzeichnis noch nicht existiert. Zum Erstellen werden jedoch Administrator-Rechte benötigt. {{Information|'''Achtung:''' Bei einem späteren Systemupdate kann diese Datei wieder durch die ursprüngliche Systemdatei überschrieben werden!}} ===Alternativen=== * [http://www.loginox.branox.com/ Loginox] (Freeware) 0f5fca7dea200f66a01f0b5c15769a48639be618 1180 1178 2023-03-10T08:52:20Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Verify]][[Category:Update]]Das im Anmeldebildschirm von Mac OS 10.5 verwendete Hintergrundbild befindet sich nicht im gleichen Verzeichnis wie die übrigen Desktop-Hintergrundbilder /Library/Desktop Pictures/ sondern an einer anderen Stelle im System: /System/Library/CoreServices/DefaultDesktop.jpg Um ein anderes Bild dafür zu verwenden, gibt es prinzipiell zwei Möglichkeiten: ===Ändern der Voreinstellungen=== Das zu verwendende Hintergrundbild wird in folgender Einstellungsdatei festgelegt und kann dementsprechend auch geändert werden: /Library/Preferences/com.apple.loginwindow Das kann in einem Editor der Wahl oder mit dem folgenden Befehl über das Terminal erfolgen: <source bash> /usr/bin/defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture "/pfad/zum/neuen/bild.jpg" </source> Um diese Änderung rückgängig zu machen, ist dann dasselbe mit dem ursprünglichen Bild aufzurufen: <source bash> /usr/bin/defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture "/System/Library/CoreServices/DefaultDesktop.jpg" </source> {{Information|1='''Achtung:''' Der Benutzer muss dazu Schreibrechte im Systemverzeichnis haben, d.h. den obigen Befehlen ist u.U. ein "{{TT|1={{Man|sudo|sudo}} }}" voranzustellen!}} ===Ersetzen der Datei=== Diese Datei ist einfach durch eine andere zu ersetzen, wobei die Zugriffsrechte der neuen Datei unbedingt angepasst werden müssen! Das kann entweder über den Info-Screen der Datei oder im Terminal erfolgen. Im {{Terminal}} sind dazu nacheinander folgende Befehle einzugeben (MYNEWPICTURE ist dabei durch den Pfad zum neuen Bild zu ersetzen): <source bash> cd /System/Library/CoreServices mv DefaultDesktop.jpg DefaultDesktop.jpg.original cp MYNEWPICTURE /System/Library/CoreServices/DefaultDesktop.jpg % chown root:wheel /System/Library/CoreServices/DefaultDesktop.jpg % chmod 644 /System/Library/CoreServices/DefaultDesktop.jpg </source> In neueren macOS Version wird dieser Pfad verwendet: /Library/Caches/Desktop Pictures/<UUID>/lockscreen.png wobei UUID durch die UUID des eigenen Benutzerkontos ersetzt werden muss. Diese kann in den Systemeinstellungen unter "Users & Groups" eingesehen werden, und zwar in den über einen secondary click (Rechtsklick) erreichbaren "Erweiterten Optionen" ("Advanced Options"). Es ist durchaus möglich, dass dieses Verzeichnis noch nicht existiert. Zum Erstellen werden jedoch Administrator-Rechte benötigt. {{Information|'''Achtung:''' Bei einem späteren Systemupdate kann diese Datei wieder durch die ursprüngliche Systemdatei überschrieben werden!}} ===Alternativen=== * [http://www.loginox.branox.com/ Loginox] (Freeware) 70f9ddbc07143612a2644a4631dd3741eee9440d Kurztipp - Leopard Login-Hintergrundbild ändern 0 209 1179 2023-03-10T08:52:03Z Hagbard 2 Hagbard moved page [[Kurztipp - Leopard Login-Hintergrundbild ändern]] to [[Change the Wallpaper of the Login Screen]]: Translated & shortened page title wikitext text/x-wiki #REDIRECT [[Change the Wallpaper of the Login Screen]] c5fc7d3c6135200aa231b48cdee5449f2e608260 Collect localizable strings into a Localizable.strings file 0 158 1181 760 2023-03-10T08:53:03Z Hagbard 2 Hagbard moved page [[Kurztipp - Localizable.strings erzeugen]] to [[Collect localizable strings into a Localizable.strings file]]: Translated page title wikitext text/x-wiki [[Category:Development]][[Category:Hint]]Um aus einem existierenden Cocoa-/CocoaTouch-Projekt alle mit {{TT|NSLocalizedString}} lokalisierten Texte in ein {{TT|Localizable.strings}} File zu extrahieren, genügt es, im {{Terminal}} folgende Zeile (natürlich im Verzeichnis des jeweiligen Xcode-Projektes) einzugeben: {{Man|genstrings|genstrings}} ./path/to/classes/*.m zum Beispiel {{Man|genstrings|genstrings}} ./Classes/*.m um alle Texte aus den *.m Files im Verzeichnis {{TT|Classes}} auszulesen. Diese werden dabei in eine eventuell bereits existierende Datei hineingemerged, optional kann über die Option -a veranlasst werden, das die gefundenen Texte an eine vorhandene Datei lediglich angehängt werden. Mit der Option -o outputDir kann zusätzlich ein Zielverzeichnis angegeben werden Beispiel zum rekursiven Durchwandern aller .m Dateien und Ausgabe auf dem Desktop: find . -name \*.m | xargs genstrings -o ~/Desktop/ ==Siehe auch== * {{Man|genstrings|genstrings}} Manpage * [http://www.icanlocalize.com/site/tutorials/iphone-applications-localization-guide/ iPhone Applications Localization Guide] (icanlocalize.com) * [http://adeem.me/blog/2009/05/10/tutorial-part-2-localizing-your-iphone-application/ iPhone Tutorial (Part 2): Localizing your iPhone application] ;Apple: * [http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/LoadingResources/Strings/Strings.html String Resources] ;CocoaDev: * [http://www.cocoadev.com/index.pl?NSLocalizedString NSLocalizedString] * [http://www.cocoadev.com/index.pl?LocalizationTips LocalizationTips] 06ef024e931b41e998cd9bd36310b6cafa9c0c6f Kurztipp - Localizable.strings erzeugen 0 210 1182 2023-03-10T08:53:04Z Hagbard 2 Hagbard moved page [[Kurztipp - Localizable.strings erzeugen]] to [[Collect localizable strings into a Localizable.strings file]]: Translated page title wikitext text/x-wiki #REDIRECT [[Collect localizable strings into a Localizable.strings file]] b6588e559ec4d096b440e52ed7b5d47c23cfa94e Activate Momentum Scrolling for a Magic Mouse 0 159 1183 765 2023-03-10T08:54:30Z Hagbard 2 Hagbard moved page [[Kurztipp - Magic Mouse Scrolling-Nachlauf aktivieren]] to [[Activate Momentum Scrolling for a Magic Mouse]]: Translated page title wikitext text/x-wiki [[Category:Hint]][[Category:Terminal]] Um den animierten Nachlauf beim Scrollen (Momentum Scrolling) mit der [http://www.apple.com/de/magicmouse/ Apple Magic Mouse], der unter Mac OS X Snow Leopard in den Maus-Einstellungen (de-)aktivierbar ist, auch unter Mac OS X Leopard (10.5) zu aktivieren, ist im [[:Category:Terminal|Terminal]] folgendes einzugeben: defaults write com.apple.driver.AppleBluetoothMultitouch.mouse MouseMomentumScroll -bool yes Anschließend ist die Scrolling-Funktion in den Maus-Einstellungen (Systemeinstellungen -> Maus) zu deaktivieren und unmittelbar danach gleich wieder zu aktivieren. Nun sollte der Nachlauf aktiv sein, auch wenn er in den Systemeinstellungen nicht direkt sicht- oder auswählbar ist. Zum Deaktivieren einfach folgendes Kommando im Terminal ausführen: defaults delete com.apple.driver.AppleBluetoothMultitouch.mouse MouseMomentumScroll 042e9b283fb367a03527beb26440165bfe820b89 Kurztipp - Magic Mouse Scrolling-Nachlauf aktivieren 0 211 1184 2023-03-10T08:54:30Z Hagbard 2 Hagbard moved page [[Kurztipp - Magic Mouse Scrolling-Nachlauf aktivieren]] to [[Activate Momentum Scrolling for a Magic Mouse]]: Translated page title wikitext text/x-wiki #REDIRECT [[Activate Momentum Scrolling for a Magic Mouse]] 4cc3e4918ece04380f07fd96059c5ed6b7dbaf99 Mount Network Shares on Login 0 160 1185 771 2023-03-10T08:54:51Z Hagbard 2 Hagbard moved page [[Kurztipp - Netzwerkvolumes bei der Anmeldung verbinden]] to [[Mount Network Shares on Login]]: Translated page title wikitext text/x-wiki [[Category:Hint]][[Category:OS]] Netzwerkvolumes (z.B. AFP-, WebDAV- oder Windows-/SMB-Freigaben) bei der Anmeldung automatisch einzubinden ist erstaunlich einfach, dazu sind lediglich die folgenden wenigen Schritte notwendig: * Das entsprechende Netzwerkvolume verbinden * Systemeinstellungen öffnen * Zu "Benutzer & Gruppen" > "Anmeldeobjekte" wechseln Dort kann man über den "+" Button auch eine aktuell eingehängte Freigabe als Anmeldeobjekt hinzufügen, die fortan bei jeder Anmeldung dieses Benutzers eingehängt wird. Am einfachsten funktioniert das, wenn in den Finder-Einstellungen die Anzeige von "verbundenen Servern" in der Finder-Seitenleiste aktiviert ist; dadurch lässt sich die eingehängte Freigabe recht einfach auffinden und auswählen. c3966666495966f5ab8b05906b4c20ef5119c553 Kurztipp - Netzwerkvolumes bei der Anmeldung verbinden 0 212 1186 2023-03-10T08:54:51Z Hagbard 2 Hagbard moved page [[Kurztipp - Netzwerkvolumes bei der Anmeldung verbinden]] to [[Mount Network Shares on Login]]: Translated page title wikitext text/x-wiki #REDIRECT [[Mount Network Shares on Login]] 39195c72153228b5cbc452f57f6c32c731b184cb PDF Bookmarks with pdftex 0 161 1187 775 2023-03-10T08:55:30Z Hagbard 2 Hagbard moved page [[Kurztipp - PDF-Bookmarks mit pdftex]] to [[PDF Bookmarks with pdftex]]: Translated page title wikitext text/x-wiki [[Category:TeX]][[Category:Hint]] ==Links und Verweise mit pdftex== Mit dem pdfex Paket sind diverse PDF-Funktionen auch aus TeX-Dokumenten heraus verfügbar: ==Lesezeichen== Mit Hilfe von [http://www.tug.org/applications/pdftex/ pdftex] können bei der Generierung eines [[Wikipedia:de:PDF|PDF]] Dokuments Links und Verweise als PDF-Links und das Inhaltsverzeichnis in PDF-Bookmarks umgesetzt werden. Dazu werden unter anderem die Pakete '''pdftex''' und '''hyperref''' benötigt und mit entsprechenden Optionen eingebunden: \usepackage[pdftex,pagebackref,colorlinks, <font color="gray">% Farbe von TeX-Verweisen (URLs):</font> linkcolor=<font color="orange">black</font>, <font color="gray">% Farbe von Verweisen ins Web (URLs):</font> urlcolor=<font color="orange">black</font>, <font color="gray">% Farbe von Zitaten:</font> citecolor=<font color="orange">black</font>, <font color="gray">% Bookmarks mit Kapitelnummern versehen:</font> bookmarksnumbered=true, pdfauthor={<font color="orange">Autor</font>}, pdftitle={<font color="orange">Titel des Dokumentes</font>}, pdfsubject={<font color="orange">Thema</font>}, pdfkeywords={<font color="orange">Schlüsselwörter</font>} ] {hyperref} An das Dokument anzupassende Angaben sind jeweils <font color="orange">hervorgehoben</font> ==Hyperlinks== Um URL-Angaben als Hyperlink auszuführen, sind sie wie folgt anzugeben: \url{<font color="orange"><nowiki><link></nowiki></font>} also zum Beispiel: \url{[http://www.macwrench.de/wiki http://www.macwrench.de/wiki]} Formatiert werden (z.B. Schriftart und -größe) kann die Ausgabe dann wie oben beim Einbinden der Pakete oder durch Überladen der entsprechenden Funktionen. Im obigen Beispiel für die Lesezeichen sind das die Aangaben linkcolor=<font color="orange">black</font> und urlcolor=<font color="orange">black</font> Für eine vollständige Übersicht über die Syntax und mögliche Optionen gibts auf der [http://www.pdftex.org offiziellen Webseite] einiges an Dokumentation, weitere Links gibts in unserer [[TeX_Links|TeX-Linksammlung]]. 855b67fd2d59037cabefd24fa4863e1b8f131006 Kurztipp - PDF-Bookmarks mit pdftex 0 213 1188 2023-03-10T08:55:30Z Hagbard 2 Hagbard moved page [[Kurztipp - PDF-Bookmarks mit pdftex]] to [[PDF Bookmarks with pdftex]]: Translated page title wikitext text/x-wiki #REDIRECT [[PDF Bookmarks with pdftex]] 1b70a56c4a74ca331e48fb1c4917e37b3d1f087e PHP Security 0 163 1189 783 2023-03-10T08:55:40Z Hagbard 2 Hagbard moved page [[PHP absichern]] to [[PHP Security]]: Translated page title wikitext text/x-wiki [[Category:Development]]In diesem Artikel sollen Möglichkeiten vorgestellt Werden, PHP gegen Angriffe abzusichern. Dabei sollen neben einigen Konfigurationstipps auch auf Erweiterungen wie mod-Security, FASTCGI oder suexec vorgestellt und beschrieben werden. ==Konfigurationsdateien== PHP-Direktiven lassen sich prinzipiell auf 2 verschiedenen Wegen einstellen: * in der Konfigurationsdatei {{tt|php.ini}} * in einer {{tt|.htaccess}} Datei mit Hilfe der PHP Apache-Direktiven ===php.ini=== Es existieren üblicherweise verschiedene Exemplare der Datei {{tt|php.ini}} für verschiedene Einsatzzwecke, hier am Beispiel eines Debian-Systems: {|style="margin-top:10px; margin-bottom:10px; margin-left:10px;" |-- |bgcolor="#e2e2e2"|Ort||bgcolor="#e2e2e2"|Zweck |-- |{{tt|/etc/php.ini }} ||Globale Konfiguration |-- |{{tt|/etc/php4/apache/php.ini }} ||Konfiguration für das Apache-PHP-Modul |-- |{{tt|/etc/php4/cgi/php.ini }} ||Konfiguration für den CGI-Betrieb im Apache |-- |{{tt|/etc/php4/cli/php.ini }} ||Konfiguration für die Nutzung in Shell-Skripten |} Unter Mac OS X existiert in der Standardinstallation lediglich die folgende Datei: /private/etc/php.ini ===.htaccess=== Einige (nicht alle!) Konfigurationsdirektiven lassen sich auch innerhalb der sog. ".htaccess" Dateien verwenden. Das ermöglicht beispielsweise unterschiedliche Einstellungen für einzelne VirtualHosts oder Verzeichnisse - so sind Produktivinstallationen anders (wesentlich restriktiver) zu konfigurieren als Entwicklungssysteme. Weitere Informationen zur Verwendung von .htaccess Dateien sind in den [[#Weitere_Informationen|am Ende des Artikels verlinkten Seiten]] nachzulesen. ===Wichtige Einstellungen=== {|style="margin-top:10px; margin-bottom:10px; margin-left:10px;" |-- |bgcolor="#e2e2e2" width="220px" |Direktive||bgcolor="#e2e2e2" width="120px" |Wert||bgcolor="#e2e2e2"|Beschreibung |-- |{{tt|php_flag register_globals}}||off||EGPCS Variablen sind nicht mehr global zugänglich bzw. als globale Variablen registriert (EGPCS = Environment/Umgebung, GET, POST, Cookie, Server) |-- |{{tt|php_flag display_errors}}||off||Fehlermeldungen nicht im Client (Browser) darstellen |-- |{{tt|php_flag log_errors}}||on||Fehlermeldungen in ein Logfile schreiben |-- |{{tt|php_flag error_log}} ||$PFADANGABE||Pfadangabe für das Logfile, z.B. {{tt|/home/web/logs/php4.log}} |-- | || syslog || Fehlermeldungen werden durch syslogd protokolliert |} ==PHP safe mode== Der sog. "safe mode" von PHP dient in erster Linie dazu, Sicherheitsprobleme durch Dateizugriffe bei gemeinsam genutzten Server (sog. "shared server", wie sie beispielsweise bei handelsüblichen Web-Hosting Angeboten zum Einsatz kommen) zu verhindern. Sprich: Kunde A soll nicht auf die Dateien und Verzeichnisse des Kunden B zugreifen können. Anschließend überprüft der PHP-Parser, ob der Eigentümer der Datei identisch mit dem Benutzer ist, der das Skript aufruft. Außerdem ist im safe mode der Zugriff auf [http://de.php.net/manual/de/reserved.variables.php Umgebungsvariablen] nur lesend möglich. Dieser Ansatz hat jedoch den großen Nachteil erhebliche Nebenwirkungen auf verschiedenste PHP-Funktionen zu besitzen. Eine Übersicht der dadurch eingeschränkten Funktionen ist [http://de.php.net/manual/de/features.safe-mode.php#features.safe-mode.functions im PHP Handbuch] nachzulesen. ===safe mode aktivieren=== Aktiviert und konfiguriert wird der PHP safe mode in der Konfigurationsdatei {{tt|php.ini}} durch die folgenden Direktiven: {| |-- |bgcolor="#e2e2e2" width="250px"|Direktive||bgcolor="#e2e2e2"|Beschreibung |-- |safe_mode = on || safe mode anhand eines Benutzers |-- |safe_mode_gid = 0||safe mode anhand der Gruppenzugehörigkeit (anstatt safe-mode zu verwenden, unter Angabe der Group-ID) |-- |safe_mode_include_dir = || Freigabe von Verzeichnissen für die PHP-Funktionen include() und require(). Mehrere Verzeichnisse werden durch Kommata getrennt, die Freigabe gilt dabei für die angegebenen Verzeichnisse inklusive allen darin enthaltenen Unterverzeichnissen. |-- |safe_mode_exec_dir = || Freigabe von Verzeichnissen für Systemaufrufe durch Funktionen wie system() oder exec() (Handhabung siehe safe_mode_include_dir) |-- |safe_mode_allowed_env_vars = PHP_ ||Freigabe von Umgebungsvariablen für schreibenden Zugriff. Ist der Wert leer, werden ALLE Umgebungsvariablen freigegeben! Mehrere Variablen/Präfixe werden durch Kommata voneinander getrennt. |-- |safe_mode_protected_env_vars = LD_LIBRARY_PATH ||Enthält eine Liste aller Umgeungsvariablen, die <u>nicht</u> mit der Funktion putenv() veränderbar sein sollen. '''Hinweis:''' die Angabe safe_mode_allowed_env_vars hebt diesen Schutz wieder auf! |-- |} ===safe mode abfragen=== Mit den folgenden Zeilen PHP-Code kann abgefragt werden, ob der safe mode aktiviert ist: <?php if ( ini_get('safe_mode') ) { // safe mode aktiviert } else { // safe mode nicht aktiviert } ===Dateizugriffe mit {{tt|open_basedir}} einschränken=== Eine weitere Möglichkeit alternativ zum safe mode, Dateizugriffe einzuschränken, ist der Einsatz der PHP Direktive open_basedir Im Rahmen der Apache-Konfiguration. Dadurch ist es möglich, für jeden Benutzer des Servers Dateizugriffsopertationen auf ein bestimmtes Verzeichnis (üblicherweise dessen Document Root) einzuschränken, z.B.: <Directory /home/web/user0815/> php_admin_value open_basedir /home/web/user0815/ </Directory> Durch folgenden Eintrag: disable_functions readfile,system in der Datei {{tt|php.ini}} kann zusätzlich der Zugriff durch die PHP Funktionen readfile() und system() verhindert werden (siehe folgender Abschnitt). ===Direktiven unabhängig von {{tt|safe_mode}}=== {| |-- |bgcolor="#e2e2e2" width="200px"|Direktive||bgcolor="#e2e2e2"|Beschreibung |-- |open_basedir = || Freigabe eines Verzeichnisses für Dateioperationen, wirksam für das Verzeichnis mit allen Unterverzeichnissen, unabhängig von der safe_mode Konfiguration. Bei Angabe eines Punktes "." wird der Speicherort des gerade ausgeführten Skriptes als basedir verwendet (sicherheitstechnisch bedenklich, da durch chdir() veränderbar). Kann durch die Angabe von {{tt|php_admin_value open_basedir none}} in der {{tt|httpd.conf}} deaktiviert werden. |-- |disable_functions = || Eine Liste von Funktionen, die (aus Sicherheitsgründen) nicht ausgeführt werden dürfen. Kann auch in der Datei {{tt|php.ini}} konfiguriert werden, nicht jedoch in der Datei {{tt|httpd.conf}} |-- |disable_classes = || Angabe einer Liste von Klassen, die (aus Sicherheitsgründen) nicht verwendet werden dürfen. Kann auch in der Datei {{tt|php.ini}} konfiguriert werden, nicht jedoch in der Datei {{tt|httpd.conf}} |} ==suexec, FastCGI und suPHP== ''... kommt noch ...'' Web-Links: * [http://www.suphp.org/ suPHP Projekt] (Ausführen von PHP Skripten mit den Rechten des Dateibesitzers) * [http://httpd.apache.org/docs/1.3/suexec.html suexec] (apache.org) * FastCGI: [http://www.fastcgi.com/ Projektseite], [[wikipedia:de:FastCGI|Wikipedia-Artikel]] ==Apache-Hardening mit mod_security== mod-Security ist eine [[wikipedia:de:Web_Application_Firewall|Applikationsfirewall]] in Form eines Apache-Moduls. Dabei kann anhand von Regeln - in denen auch [[wikipedia:de:Regulärer Ausdruck|reguläre Ausdrücke]] zum Einsatz kommen können - definiert werden, welche GET- und POST-Aufrufe<ref name="HTTPrequest">GET und POST sind verschiedene Methoden für [[wikipedia:de:Hypertext_Transfer_Protocol|HTTP]]-Anragen an einen Server</ref> "böse" sind und daher blockiert werden sollen. Diese Regeln werden dann direkt in die Apache-Konfiguration integriert und sehen beispielsweise so aus: <nowiki>SecFilter "drop[[:space:]]table"</nowiki> Obiger Eintrag blockiert also den String "drop table" und soll damit das Löschen einer Tabelle via [[wikipedia:de:SQL|SQL-Query]] verhindern. Mit diese Modul können also recht einfach verschiedene Ziele verfolgt werden: * Verminderung der Gefahr von SQL-Injection (Einfügen von Datenbankabfragen durch mangelhafte Überprüfung eingegebener Daten, z.B. in Formularen oder über die URL) * Abfangen von Systemaufrufen über fehlerhafte Skripte * Protokollierung sicherheitsrelevanter Vorfälle * Absichern des WebServers durch die "chroot"-Funktion von mod_security (Kapseln der Laufzeitumgebung des Webservers, um bei Angriffen Übergriffe auf die Systemumgebung zu verhindern) Außerdem bietet mod_security noch einige nette "Security-by-Obscurity" Funktionen wie beispielsweise das Ändern der Serversignatur: SecServerSignature "Microsoft-IIS/5.0" Der Einsatz von mod_security empfiehlt sich vor allem in den folgenden Fällen: * Software, die nur ungenügend getestet wurde * Software, die bekanntermaßen recht häufig Sicherheitslücken aufweist * Eigenentwicklungen (Jeder macht Fehler) mod_security bietet also einige wertvolle Funktionen zur Absicherung eines Webservers und der darin laufenden Applikationen, ohne gleich auf schwergewichtigere Lösungen wie [[wikipedia:de:Intrusion_Detection_System|IDS]] (Intrusion Detection System, z.B. [[wikipedia:de:Snort|Snort]]), [[wikipedia:de:Proxy|Proxies]] oder [[wikipedia:de:Application_Layer_Gateway|ALG]] (Application Level Gateway) setzen zu müssen. Weitere Informationen zu mod_security finden sich [[#mod_security|am Ende dieses Artikels]]. ==Verschiedene Tipps== ===PHP Skripte vor direkter Ausführung sichern=== Eine einfache Möglichkeit, das Ausführen von PHP-Skripten - und auch allgemein auch das Auslesen von durch PHP-Skripte eingebundene Dateien - durch direkte Adressierung im Browser zu verhindern, ist das Erstellen einer .htaccess-Datei mit dem folgenden Inhalt: order allow,deny deny from all Dadurch wird der direkte Zugriff auf die Dateien verhindert, Skripte können diese Dateien jedoch weiterhin problemlos einbinden und verwenden. ==Weitere Informationen== ===PHP Ressourcen=== * Artikel [[Webentwicklungs-Ressourcen]] hier im Wiki * [http://de.php.net/manual/de/ PHP Handbuch] (offizielles Handbuch) * Apple Developer Connection: [[ADC:internet/opensource/php.html|PHP on Mac OS X]] * O'Reilly [http://www.onlamp.com/php/ ONLamp.com/php]: PHP devcenter * [http://www.hardened-php.net/ Hardened-PHP Project] * [http://www.phpsec.org/ PHP Security Consortium] ===PHP Konfiguration=== * PHP Handbuch: [http://de.php.net/manual/de/security.php Teil IV. Sicherheit] * php.net: [http://de2.php.net/manual/de/print/configuration.php#configuration.file Informationen zur Konfiguration] * php.net: [http://de2.php.net/manual/de/print/ini.php Übersicht aller php.ini Direktiven] und [http://de2.php.net/manual/de/print/ini.core.php deren Beschreibung] * Securityfocus: [http://www.securityfocus.com/infocus/1706 Securing PHP Step-by-Step] * [http://phpsec.org/projects/phpsecinfo/ PHPSecInfo] - gibt analog zu {{tt|phpinfo()}} sicherheitsrelevante Informationen zur aktuellen PHP-Konfiguration aus. ===PHP safe mode=== * PHP Handbuch: [http://de.php.net/manual/de/features.safe-mode.php Kapitel 42. Safe Mode] * domainepublic.net: [http://doc.domainepublic.net/php/doc.php.court/ini.sect.safe-mode.html Konfigurationsübersicht] (Sécurité et Safe Mode) ===Apache Web Server=== * [http://httpd.apache.org Projektseite] des Apache Server Project * [http://de.selfhtml.org/servercgi/server/apache.htm Kleine Apache-Einführung] bei SelfHTML.org * Securityfocus: [http://www.securityfocus.com/infocus/1694 Securing Apache Step-by-Step] * Securityfocus: [http://www.securityfocus.com/infocus/1786 Securing Apache 2 Step-by-Step] ===.htaccess=== * [http://de.selfhtml.org/servercgi/server/htaccess.htm SelfHTML Artikel] zu .htaccess Dateien * [[wikipedia:de:Htaccess|Wikipedia-Artikel]] zum Thema * Beschreibung in der Apache Dokumentation, für [http://httpd.apache.org/docs/1.3/howto/htaccess.html Apache 1.3] und [http://httpd.apache.org/docs/2.0/howto/htaccess.html Apache 2] * Ken Coar: [http://apache-server.com/tutorials/ATusing-htaccess.html Using .htaccess Files with Apache] ===mod_security=== * [http://www.modsecurity.org/ Projektseite] * modsecurity.org: [http://www.modsecurity.org/documentation/quick-examples.html Quick examples] * Securityfocus: [http://www.securityfocus.com/infocus/1739 Web Security Appliance With Apache and mod_security] * O'Reilly [http://www.onlamp.com/ ONLamp.com]: ** [http://www.onlamp.com/pub/a/apache/2003/11/26/mod_security.html Introducing mod_security] ** [http://www.onlamp.com/pub/a/onlamp/2005/06/09/wss_security.html Securing Web Services with mod_security] * Fedora News: [http://fedoranews.org/jorge/mod_security/ HOWTO: Enhancing Apache with mod_security] ===PHPIDS=== * [http://php-ids.org/ Projektseite] * PHPIDS [http://groups.google.de/group/php-ids/ Google Group] * [http://www.heise.de/security/Erste-Schritte-mit-der-Einbruchserkennung-PHPIDS--/artikel/136032 Artikel auf heise security] vom 24.04.2009] * [http://www.net-developers.de/2009/05/23/phpids-intrusion-detection-system/ Weiterer Artikel auf net-developers.de] ===Weitere Themen=== * Securityfocus: [http://www.securityfocus.com/infocus/1726 Securing MySQL Step-by-Step] ===Bücher=== * '''PHP-Sicherheit. PHP/MySQL-Webanwendungen sicher programmieren'''<br />von Christopher Kunz, Peter Prochaska (Dpunkt Verlag), ISBN 3898643697<br />Buchtipp des [http://www.phpmagazin.de/itr/buchtipps/psecom,id,503,nodeid,63.html PHP-Magazins] ----- <references/> 975dfa0f3db48711ff6dd33f8d044e7762a4b321 1191 1189 2023-03-10T08:56:02Z Hagbard 2 wikitext text/x-wiki [[Category:Development]][[Category:Verify]][[Category:Update]]In diesem Artikel sollen Möglichkeiten vorgestellt Werden, PHP gegen Angriffe abzusichern. Dabei sollen neben einigen Konfigurationstipps auch auf Erweiterungen wie mod-Security, FASTCGI oder suexec vorgestellt und beschrieben werden. ==Konfigurationsdateien== PHP-Direktiven lassen sich prinzipiell auf 2 verschiedenen Wegen einstellen: * in der Konfigurationsdatei {{tt|php.ini}} * in einer {{tt|.htaccess}} Datei mit Hilfe der PHP Apache-Direktiven ===php.ini=== Es existieren üblicherweise verschiedene Exemplare der Datei {{tt|php.ini}} für verschiedene Einsatzzwecke, hier am Beispiel eines Debian-Systems: {|style="margin-top:10px; margin-bottom:10px; margin-left:10px;" |-- |bgcolor="#e2e2e2"|Ort||bgcolor="#e2e2e2"|Zweck |-- |{{tt|/etc/php.ini }} ||Globale Konfiguration |-- |{{tt|/etc/php4/apache/php.ini }} ||Konfiguration für das Apache-PHP-Modul |-- |{{tt|/etc/php4/cgi/php.ini }} ||Konfiguration für den CGI-Betrieb im Apache |-- |{{tt|/etc/php4/cli/php.ini }} ||Konfiguration für die Nutzung in Shell-Skripten |} Unter Mac OS X existiert in der Standardinstallation lediglich die folgende Datei: /private/etc/php.ini ===.htaccess=== Einige (nicht alle!) Konfigurationsdirektiven lassen sich auch innerhalb der sog. ".htaccess" Dateien verwenden. Das ermöglicht beispielsweise unterschiedliche Einstellungen für einzelne VirtualHosts oder Verzeichnisse - so sind Produktivinstallationen anders (wesentlich restriktiver) zu konfigurieren als Entwicklungssysteme. Weitere Informationen zur Verwendung von .htaccess Dateien sind in den [[#Weitere_Informationen|am Ende des Artikels verlinkten Seiten]] nachzulesen. ===Wichtige Einstellungen=== {|style="margin-top:10px; margin-bottom:10px; margin-left:10px;" |-- |bgcolor="#e2e2e2" width="220px" |Direktive||bgcolor="#e2e2e2" width="120px" |Wert||bgcolor="#e2e2e2"|Beschreibung |-- |{{tt|php_flag register_globals}}||off||EGPCS Variablen sind nicht mehr global zugänglich bzw. als globale Variablen registriert (EGPCS = Environment/Umgebung, GET, POST, Cookie, Server) |-- |{{tt|php_flag display_errors}}||off||Fehlermeldungen nicht im Client (Browser) darstellen |-- |{{tt|php_flag log_errors}}||on||Fehlermeldungen in ein Logfile schreiben |-- |{{tt|php_flag error_log}} ||$PFADANGABE||Pfadangabe für das Logfile, z.B. {{tt|/home/web/logs/php4.log}} |-- | || syslog || Fehlermeldungen werden durch syslogd protokolliert |} ==PHP safe mode== Der sog. "safe mode" von PHP dient in erster Linie dazu, Sicherheitsprobleme durch Dateizugriffe bei gemeinsam genutzten Server (sog. "shared server", wie sie beispielsweise bei handelsüblichen Web-Hosting Angeboten zum Einsatz kommen) zu verhindern. Sprich: Kunde A soll nicht auf die Dateien und Verzeichnisse des Kunden B zugreifen können. Anschließend überprüft der PHP-Parser, ob der Eigentümer der Datei identisch mit dem Benutzer ist, der das Skript aufruft. Außerdem ist im safe mode der Zugriff auf [http://de.php.net/manual/de/reserved.variables.php Umgebungsvariablen] nur lesend möglich. Dieser Ansatz hat jedoch den großen Nachteil erhebliche Nebenwirkungen auf verschiedenste PHP-Funktionen zu besitzen. Eine Übersicht der dadurch eingeschränkten Funktionen ist [http://de.php.net/manual/de/features.safe-mode.php#features.safe-mode.functions im PHP Handbuch] nachzulesen. ===safe mode aktivieren=== Aktiviert und konfiguriert wird der PHP safe mode in der Konfigurationsdatei {{tt|php.ini}} durch die folgenden Direktiven: {| |-- |bgcolor="#e2e2e2" width="250px"|Direktive||bgcolor="#e2e2e2"|Beschreibung |-- |safe_mode = on || safe mode anhand eines Benutzers |-- |safe_mode_gid = 0||safe mode anhand der Gruppenzugehörigkeit (anstatt safe-mode zu verwenden, unter Angabe der Group-ID) |-- |safe_mode_include_dir = || Freigabe von Verzeichnissen für die PHP-Funktionen include() und require(). Mehrere Verzeichnisse werden durch Kommata getrennt, die Freigabe gilt dabei für die angegebenen Verzeichnisse inklusive allen darin enthaltenen Unterverzeichnissen. |-- |safe_mode_exec_dir = || Freigabe von Verzeichnissen für Systemaufrufe durch Funktionen wie system() oder exec() (Handhabung siehe safe_mode_include_dir) |-- |safe_mode_allowed_env_vars = PHP_ ||Freigabe von Umgebungsvariablen für schreibenden Zugriff. Ist der Wert leer, werden ALLE Umgebungsvariablen freigegeben! Mehrere Variablen/Präfixe werden durch Kommata voneinander getrennt. |-- |safe_mode_protected_env_vars = LD_LIBRARY_PATH ||Enthält eine Liste aller Umgeungsvariablen, die <u>nicht</u> mit der Funktion putenv() veränderbar sein sollen. '''Hinweis:''' die Angabe safe_mode_allowed_env_vars hebt diesen Schutz wieder auf! |-- |} ===safe mode abfragen=== Mit den folgenden Zeilen PHP-Code kann abgefragt werden, ob der safe mode aktiviert ist: <?php if ( ini_get('safe_mode') ) { // safe mode aktiviert } else { // safe mode nicht aktiviert } ===Dateizugriffe mit {{tt|open_basedir}} einschränken=== Eine weitere Möglichkeit alternativ zum safe mode, Dateizugriffe einzuschränken, ist der Einsatz der PHP Direktive open_basedir Im Rahmen der Apache-Konfiguration. Dadurch ist es möglich, für jeden Benutzer des Servers Dateizugriffsopertationen auf ein bestimmtes Verzeichnis (üblicherweise dessen Document Root) einzuschränken, z.B.: <Directory /home/web/user0815/> php_admin_value open_basedir /home/web/user0815/ </Directory> Durch folgenden Eintrag: disable_functions readfile,system in der Datei {{tt|php.ini}} kann zusätzlich der Zugriff durch die PHP Funktionen readfile() und system() verhindert werden (siehe folgender Abschnitt). ===Direktiven unabhängig von {{tt|safe_mode}}=== {| |-- |bgcolor="#e2e2e2" width="200px"|Direktive||bgcolor="#e2e2e2"|Beschreibung |-- |open_basedir = || Freigabe eines Verzeichnisses für Dateioperationen, wirksam für das Verzeichnis mit allen Unterverzeichnissen, unabhängig von der safe_mode Konfiguration. Bei Angabe eines Punktes "." wird der Speicherort des gerade ausgeführten Skriptes als basedir verwendet (sicherheitstechnisch bedenklich, da durch chdir() veränderbar). Kann durch die Angabe von {{tt|php_admin_value open_basedir none}} in der {{tt|httpd.conf}} deaktiviert werden. |-- |disable_functions = || Eine Liste von Funktionen, die (aus Sicherheitsgründen) nicht ausgeführt werden dürfen. Kann auch in der Datei {{tt|php.ini}} konfiguriert werden, nicht jedoch in der Datei {{tt|httpd.conf}} |-- |disable_classes = || Angabe einer Liste von Klassen, die (aus Sicherheitsgründen) nicht verwendet werden dürfen. Kann auch in der Datei {{tt|php.ini}} konfiguriert werden, nicht jedoch in der Datei {{tt|httpd.conf}} |} ==suexec, FastCGI und suPHP== ''... kommt noch ...'' Web-Links: * [http://www.suphp.org/ suPHP Projekt] (Ausführen von PHP Skripten mit den Rechten des Dateibesitzers) * [http://httpd.apache.org/docs/1.3/suexec.html suexec] (apache.org) * FastCGI: [http://www.fastcgi.com/ Projektseite], [[wikipedia:de:FastCGI|Wikipedia-Artikel]] ==Apache-Hardening mit mod_security== mod-Security ist eine [[wikipedia:de:Web_Application_Firewall|Applikationsfirewall]] in Form eines Apache-Moduls. Dabei kann anhand von Regeln - in denen auch [[wikipedia:de:Regulärer Ausdruck|reguläre Ausdrücke]] zum Einsatz kommen können - definiert werden, welche GET- und POST-Aufrufe<ref name="HTTPrequest">GET und POST sind verschiedene Methoden für [[wikipedia:de:Hypertext_Transfer_Protocol|HTTP]]-Anragen an einen Server</ref> "böse" sind und daher blockiert werden sollen. Diese Regeln werden dann direkt in die Apache-Konfiguration integriert und sehen beispielsweise so aus: <nowiki>SecFilter "drop[[:space:]]table"</nowiki> Obiger Eintrag blockiert also den String "drop table" und soll damit das Löschen einer Tabelle via [[wikipedia:de:SQL|SQL-Query]] verhindern. Mit diese Modul können also recht einfach verschiedene Ziele verfolgt werden: * Verminderung der Gefahr von SQL-Injection (Einfügen von Datenbankabfragen durch mangelhafte Überprüfung eingegebener Daten, z.B. in Formularen oder über die URL) * Abfangen von Systemaufrufen über fehlerhafte Skripte * Protokollierung sicherheitsrelevanter Vorfälle * Absichern des WebServers durch die "chroot"-Funktion von mod_security (Kapseln der Laufzeitumgebung des Webservers, um bei Angriffen Übergriffe auf die Systemumgebung zu verhindern) Außerdem bietet mod_security noch einige nette "Security-by-Obscurity" Funktionen wie beispielsweise das Ändern der Serversignatur: SecServerSignature "Microsoft-IIS/5.0" Der Einsatz von mod_security empfiehlt sich vor allem in den folgenden Fällen: * Software, die nur ungenügend getestet wurde * Software, die bekanntermaßen recht häufig Sicherheitslücken aufweist * Eigenentwicklungen (Jeder macht Fehler) mod_security bietet also einige wertvolle Funktionen zur Absicherung eines Webservers und der darin laufenden Applikationen, ohne gleich auf schwergewichtigere Lösungen wie [[wikipedia:de:Intrusion_Detection_System|IDS]] (Intrusion Detection System, z.B. [[wikipedia:de:Snort|Snort]]), [[wikipedia:de:Proxy|Proxies]] oder [[wikipedia:de:Application_Layer_Gateway|ALG]] (Application Level Gateway) setzen zu müssen. Weitere Informationen zu mod_security finden sich [[#mod_security|am Ende dieses Artikels]]. ==Verschiedene Tipps== ===PHP Skripte vor direkter Ausführung sichern=== Eine einfache Möglichkeit, das Ausführen von PHP-Skripten - und auch allgemein auch das Auslesen von durch PHP-Skripte eingebundene Dateien - durch direkte Adressierung im Browser zu verhindern, ist das Erstellen einer .htaccess-Datei mit dem folgenden Inhalt: order allow,deny deny from all Dadurch wird der direkte Zugriff auf die Dateien verhindert, Skripte können diese Dateien jedoch weiterhin problemlos einbinden und verwenden. ==Weitere Informationen== ===PHP Ressourcen=== * Artikel [[Webentwicklungs-Ressourcen]] hier im Wiki * [http://de.php.net/manual/de/ PHP Handbuch] (offizielles Handbuch) * Apple Developer Connection: [[ADC:internet/opensource/php.html|PHP on Mac OS X]] * O'Reilly [http://www.onlamp.com/php/ ONLamp.com/php]: PHP devcenter * [http://www.hardened-php.net/ Hardened-PHP Project] * [http://www.phpsec.org/ PHP Security Consortium] ===PHP Konfiguration=== * PHP Handbuch: [http://de.php.net/manual/de/security.php Teil IV. Sicherheit] * php.net: [http://de2.php.net/manual/de/print/configuration.php#configuration.file Informationen zur Konfiguration] * php.net: [http://de2.php.net/manual/de/print/ini.php Übersicht aller php.ini Direktiven] und [http://de2.php.net/manual/de/print/ini.core.php deren Beschreibung] * Securityfocus: [http://www.securityfocus.com/infocus/1706 Securing PHP Step-by-Step] * [http://phpsec.org/projects/phpsecinfo/ PHPSecInfo] - gibt analog zu {{tt|phpinfo()}} sicherheitsrelevante Informationen zur aktuellen PHP-Konfiguration aus. ===PHP safe mode=== * PHP Handbuch: [http://de.php.net/manual/de/features.safe-mode.php Kapitel 42. Safe Mode] * domainepublic.net: [http://doc.domainepublic.net/php/doc.php.court/ini.sect.safe-mode.html Konfigurationsübersicht] (Sécurité et Safe Mode) ===Apache Web Server=== * [http://httpd.apache.org Projektseite] des Apache Server Project * [http://de.selfhtml.org/servercgi/server/apache.htm Kleine Apache-Einführung] bei SelfHTML.org * Securityfocus: [http://www.securityfocus.com/infocus/1694 Securing Apache Step-by-Step] * Securityfocus: [http://www.securityfocus.com/infocus/1786 Securing Apache 2 Step-by-Step] ===.htaccess=== * [http://de.selfhtml.org/servercgi/server/htaccess.htm SelfHTML Artikel] zu .htaccess Dateien * [[wikipedia:de:Htaccess|Wikipedia-Artikel]] zum Thema * Beschreibung in der Apache Dokumentation, für [http://httpd.apache.org/docs/1.3/howto/htaccess.html Apache 1.3] und [http://httpd.apache.org/docs/2.0/howto/htaccess.html Apache 2] * Ken Coar: [http://apache-server.com/tutorials/ATusing-htaccess.html Using .htaccess Files with Apache] ===mod_security=== * [http://www.modsecurity.org/ Projektseite] * modsecurity.org: [http://www.modsecurity.org/documentation/quick-examples.html Quick examples] * Securityfocus: [http://www.securityfocus.com/infocus/1739 Web Security Appliance With Apache and mod_security] * O'Reilly [http://www.onlamp.com/ ONLamp.com]: ** [http://www.onlamp.com/pub/a/apache/2003/11/26/mod_security.html Introducing mod_security] ** [http://www.onlamp.com/pub/a/onlamp/2005/06/09/wss_security.html Securing Web Services with mod_security] * Fedora News: [http://fedoranews.org/jorge/mod_security/ HOWTO: Enhancing Apache with mod_security] ===PHPIDS=== * [http://php-ids.org/ Projektseite] * PHPIDS [http://groups.google.de/group/php-ids/ Google Group] * [http://www.heise.de/security/Erste-Schritte-mit-der-Einbruchserkennung-PHPIDS--/artikel/136032 Artikel auf heise security] vom 24.04.2009] * [http://www.net-developers.de/2009/05/23/phpids-intrusion-detection-system/ Weiterer Artikel auf net-developers.de] ===Weitere Themen=== * Securityfocus: [http://www.securityfocus.com/infocus/1726 Securing MySQL Step-by-Step] ===Bücher=== * '''PHP-Sicherheit. PHP/MySQL-Webanwendungen sicher programmieren'''<br />von Christopher Kunz, Peter Prochaska (Dpunkt Verlag), ISBN 3898643697<br />Buchtipp des [http://www.phpmagazin.de/itr/buchtipps/psecom,id,503,nodeid,63.html PHP-Magazins] ----- <references/> 200961ba8a9f5e9fd2b3ea5e247eed069223c55b PHP absichern 0 214 1190 2023-03-10T08:55:41Z Hagbard 2 Hagbard moved page [[PHP absichern]] to [[PHP Security]]: Translated page title wikitext text/x-wiki #REDIRECT [[PHP Security]] 6518216f5208ef4647b086d734b12510b5a669cb Source Code Listings with LaTeX 0 164 1192 787 2023-03-10T08:56:24Z Hagbard 2 Hagbard moved page [[Kurztipp - Quellcodelistings in LaTeX]] to [[Source Code Listings with LaTeX]]: Translated page title wikitext text/x-wiki [[Category:TeX]][[Category:Hint]] ==Listings in TeX Dokumenten== Um in [[Wikipedia:de:TeX|TeX]] Dokumenten Quelltexte (Programmlistings) einzufügen, bietet sich die Verwendung des Pakets '''listings''' an. Dazu muss das Paket zuerst mit <source lang="latex"> \usepackage{listings} </source> eingebunden werden, außerdem empfiehlt sich für farbiges Syntax-Highlighting die Verwendung des Pakets ''color'' <source lang="latex"> \usepackage{color} </source> ==Quellcode einbinden== Dazu gib es 2 Möglichkeiten, entweder direkt im TeX Dokument (inline) oder als eigenständige Datei: ===inline=== <source lang="latex"> \begin{lstlisting} [caption={ein paar Zeilen code}\label{lst:test123},captionpos=t] for i:=maxint to 0 do begin j:=square(root(i)); end; \end{lstlisting} </source> ===externe Datei=== Hier im Beispiel eine Datei namens <font face="courier">beispiel.java</font> <source lang="latex"> \lstinputlisting [caption={Ein kleines Programm in Java} \label{lst:javaclass}, captionpos=t,language=JAVA] {listings/beispiel.java} </source> ===Hinweise=== '''label:''' Label für Referenzen auf das Listing mit \ref{lst:xyz}<br /> '''caption:''' Beschreibungstext<br /> '''captionpos:''' Position des Beschreibungstextes (t=top, b=bottom)<br /> '''language:''' [Dialekt]Sprache - Angabe einer Programmiersprache (z.B. JAVA, XML, C, C++) oder eines Dialekts (z.B. [LaTeX]TeX) ==Formatierung== ===Farben=== Mit Hilfe des Pakets ''color'' lassen sich mit Hilfe von <source lang="latex"> \color{<colour>} </source> Farbwerte verwenden sowie eigene definieren, z.B.: <source lang="latex"> \definecolor{middlegray}{rgb}{0.5,0.5,0.5} \definecolor{lightgray}{rgb}{0.8,0.8,0.8} \definecolor{orange}{rgb}{0.8,0.3,0.3} \definecolor{yac}{rgb}{0.6,0.6,0.1} </source> ===Quellcode=== Die Darstellung der Quellcodeabschnitte wird über \lstset{} formatiert, dabei stehen mehrere Variablen zur Verfügung, z.B.: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em;" ! background:#e3e3e3; width="200px" | Variable || width="200px" | Beschreibung || Beispiel |- | backgroundcolor || Hintergrundfarbe || \color{lightgray} |- | basicstyle || Schriftformatierung || \scriptsize\ttfamily |- | keywordstyle || Schlüsselwörter || \bfseries\ttfamily\color{orange}, |- | stringstyle || Variablen || \color{green}\ttfamily, |- | commentstyle || Kommentare || \color{middlegray}\ttfamily, |- | emph<br />emphstyle<br />emph<br />emphstyle | Variablen | square<br />\color{blue}\texttt<br />[2]root,base<br />[2]\color{yac}\texttt |- | showstringspaces || leerzeichen in Strings darstellen || true / false |- | flexiblecolumns || Spaltenbreite dynamisch/fest || true / false |- | tabsize || Tabulatorenbreite || 2, |- | numbers || Position der Zeilennummern || left / right |- | numberstyle || Größe der Zeilennummern || \tiny |- | numberblanklines || leere Zeilen durchnummerieren || true / false |- | stepnumber || Beginn der Nummerierung || 1 |- | numbersep || Abstand zwischen Zeilennummern und Quellcode || 10pt |- | xleftmargin || Abstand zum Rand || 15pt |} '''Anm.:'''<br /> Formatierung immer $key={$value}, Trennung mehrerer Definitionen durch Kommata<br /> <source lang="latex"> \bfseries: '''fettgedruckt'''<br /> \ttfamily: <font face="courier">typewriter</font><br /> \tiny: <small>klein</small> </source> Beispiel: <source lang="latex"> \lstset{ basicstyle=\scriptsize\ttfamily, keywordstyle=\bfseries\ttfamily\color{orange}, stringstyle=\color{green}\ttfamily, commentstyle=\color{middlegray}\ttfamily, emph={square}, emphstyle=\color{blue}\texttt, emph={[2]root,base}, emphstyle={[2]\color{yac}\texttt}, showstringspaces=false, flexiblecolumns=false, tabsize=2, numbers=left, numberstyle=\tiny, numberblanklines=false, stepnumber=1, numbersep=10pt, xleftmargin=15pt } </source> ==Quellcodeverzeichnis== Analog zu Abbildungs- und Tabellenverzeichnis kann auch ein Quellcodeverzeichnis eingebunden werden, das funktioniert mit <source lang="latex"> \lstlistoflistings </source> Um einen Eintrag im Inhaltsverzeichnis zu ermöglichen, sind jedoch einige Handgriffe erforderlich, so sind im TeX-Kopf (also vor <font face="courier">\begin{document}</font>) einige Elemente aus dem Dokumentenstyle (hier book.cls) und listings.sty zu überladen. Zur Info: die beiden Dateien befinden sich üblicherweise an den Orten /usr/local/teTeX/share/texmf.tetex/tex/latex/base/book.cls bzw. /usr/local/teTeX/share/texmf.tetex/tex/latex/listings/listings.sty wobei diese Dateien ja nicht editiert werden. Das erfolgt durch Einfügen des Code in das TeX-Dokument, und zwar zwischen die Tags <source lang="latex"> \makeatletter ... \makeatother </source> mit Hilfe der Anweisungen <source lang="latex"> \renewcommand (einen existierenden Befehl überschreiben) \newcommand (einen neuen Befehl erzeugen) </source> Das sieht dann - analog zu den [[Kurztipp - Verzeichnisse mit Kapitelnummern|Verzeichnissen]] etwa so aus: <source lang="latex"> \makeatletter % Festlegen des Kapitelnamen (nicht unbedingt notwendig): % aus listing.sty \renewcommand\lstlistlistingname{Quellcode} % Erzeugen eines Eintrags im Inhaltsverzeichnis: % aus book.cls \newcommand\loltableofcontents{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi \chapter*{\contentsname % \@mkboth{% % \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% \chapter{\lstlistlistingname} \@starttoc{toc}% \if@restonecol\twocolumn\fi } % Erzeugen des Quellcodeverzeichnisses: % aus listing.sty \renewcommand\lstlistoflistings{\bgroup \let\contentsname\lstlistlistingname \let\lst@temp\@starttoc \def\@starttoc##1{\lst@temp{lol}}% \loltableofcontents \egroup} \makeatother </source> c86460933ff871e8278433b4a18658405e9e6bc2 Kurztipp - Quellcodelistings in LaTeX 0 215 1193 2023-03-10T08:56:25Z Hagbard 2 Hagbard moved page [[Kurztipp - Quellcodelistings in LaTeX]] to [[Source Code Listings with LaTeX]]: Translated page title wikitext text/x-wiki #REDIRECT [[Source Code Listings with LaTeX]] 937cf4e6ebec6c74849f7f07a470225f3295c0db Activate HiDPI Screen Resolutions (Duplicate) 0 165 1194 791 2023-03-10T08:56:53Z Hagbard 2 Hagbard moved page [[Kurztipp - Retina-Auflösungen aktivieren]] to [[Activate HiDPI Screen Resolutions (Duplicate)]]: Translated page title wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]] __NOEDITSECTION__ Um zu Testzwecken auch auf nicht-Retina-Geräten die entsprechenden Auflösungen zur Verfügung zu haben, ist im {{Terminal}} folgendes Kommando einzugeben: sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true Anschließend ist eine erneute Anmeldung notwendig, um diese Änderung wirksam werden zu lassen. Die Retina-Auflösungen sind in den Monitoreinstellungen am Zusatz (HDPI) zu erkennen. Das Deaktivieren kann auf zwei verschiedene Arten erfolgen: sudo defaults delete /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled oder sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool false 8ea2237d9892e4fdd94c1d478d47ad90a456c957 Kurztipp - Retina-Auflösungen aktivieren 0 216 1195 2023-03-10T08:56:53Z Hagbard 2 Hagbard moved page [[Kurztipp - Retina-Auflösungen aktivieren]] to [[Activate HiDPI Screen Resolutions (Duplicate)]]: Translated page title wikitext text/x-wiki #REDIRECT [[Activate HiDPI Screen Resolutions (Duplicate)]] 2dc6bdad948cb7fa6534584ab38fe0cfc33786ad SSD Reconditioning 0 166 1196 796 2023-03-10T08:57:01Z Hagbard 2 Hagbard moved page [[Kurztipp - SSD Reconditioning]] to [[SSD Reconditioning]]: Translated page title wikitext text/x-wiki [[Category:Hint]] Nach einem längeren Zeitraum und dementsprechend vielen Schreibzugriffen neigen SSDs im Allgemeinen dazu, durch eine ungünstige Verteilung der belegten Speicherbereiche immer langsamer zu werden - insbesondere bei gleichzeitigen Zugriffen bei erhöhter CPU-Last. Dies zeigt sich dann beispielsweise in einem Geschwindigkeitstest mit dem kostenlosten (jedoch nicht Open Source) Programm [https://www.aja.com/de/products/aja-system-test AJA System Test]. Eine Abhilfe ist zwar rein technisch gesehen recht einfach, jedoch relativ zeitraubend und es wird ein weiterer Datenträger von mindestens der Größe der aufzufrischenden SSD benötigt. Im Wesentlichen wird dazu die SSD geleert - d.h. vollständig mit 0en "voll"-geschrieben und anschließend wieder mit den vorherigen Nutzdaten (Betriebssystem etc.) befüllt. Dazu sind die folgenden Schritten durchzuführen: # ein '''vollständiges Backup''' der gesamtem SSD, beispielsweise auf eine externe Festplatte (s.u.) # '''Löschen der Partitionen''' auf der SSD (via Festplattendienstprogram) # '''Wiederherstellen des Backups''' von der externen HDD auf der SSD Nun sollte der AJA System Test wieder deutlich höhere Werte ausgeben. Viele Anleitungen beschreiben auch das Löschen der gesamten SSD durch Überschreiben aller Speicherbereiche mit Nullen. Diese Funktion des Festplattendienstprogramms (über den Button "Freien Speicher löschen ...") ist für SSDs aus technischen Gründen nicht verfügbar (siehe [https://support.apple.com/en-us/HT201949 hier]). Alternativ kann das natürlich auch über ein Terminal-Kommando bewerkstelligt werden, wobei die Wirkung dessen wohl eher zweifelhaft zu sein scheint: dd if=/dev/zero of=/dev/<partition> bs=100k Die Datensicherung kann entweder über das OS X Festplattendienstprogramm oder (idealerweise) mit Programmen wie [http://www.bombich.com Carbon Copy Cloner] (kommerziell) oder [http://www.shirt-pocket.com/SuperDuper/ SuperDuper] (kostenlos mit eingeschränktem Funktionsumfang, hierfür jedoch ausreichend) durchgeführt werden; letztere beiden sind dabei deutlich komfortabler zu bedienen (im Vergleich zum OS X Bordwerkzeug) und bieten diverse Konfigurationsmöglichkeiten. '''''Anmerkung, etwas off-topic:''''' Die beiden genannten Programme ([[User:Hagbard|ich persönlich]] bevorzuge den CCC) bieten sich beispielsweise auch für laufende Hintergrundsicherungen der gesamten SSD an, so dass der Mac im Schadensfall einfach direkt von der externen Sicherung aus gestartet wird und man ohne Unterbruch und (hoffentlich Datenverluste) weiterarbeiten kann, da so immer ein vollständiges und lauffähiges System zur Verfügung steht. Für die Sicherung der allerwichtigsten und sich häufig ändernden Daten kann man dann immer noch zusätzlich Time Machine verwenden ... == Siehe auch== * arstechnica: [http://arstechnica.com/information-technology/2012/06/inside-the-ssd-revolution-how-solid-state-disks-really-work/ Solid-state revolution: in-depth on how SSDs really work] * Mac Performance Guide: [http://macperformanceguide.com/Storage-SSD-Reconditioning.html Reconditioning a solid state drive (SSD)] * Mac Performance Guide: [http://macperformanceguide.com/blog/2010/20100529_DiskTester--dlt-ssd.html Restoring solid state drive performance with DiskTester ‘recondition’] * Cnet: [http://www.cnet.com/news/maintaining-ssd-drives-in-os-x/ Maintaining SSD drives in OS X] d7bbda2837161ad3c5cabc110ccaf253e2d880ff 1198 1196 2023-03-10T08:57:24Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Museum]][[Category:Verify]] Nach einem längeren Zeitraum und dementsprechend vielen Schreibzugriffen neigen SSDs im Allgemeinen dazu, durch eine ungünstige Verteilung der belegten Speicherbereiche immer langsamer zu werden - insbesondere bei gleichzeitigen Zugriffen bei erhöhter CPU-Last. Dies zeigt sich dann beispielsweise in einem Geschwindigkeitstest mit dem kostenlosten (jedoch nicht Open Source) Programm [https://www.aja.com/de/products/aja-system-test AJA System Test]. Eine Abhilfe ist zwar rein technisch gesehen recht einfach, jedoch relativ zeitraubend und es wird ein weiterer Datenträger von mindestens der Größe der aufzufrischenden SSD benötigt. Im Wesentlichen wird dazu die SSD geleert - d.h. vollständig mit 0en "voll"-geschrieben und anschließend wieder mit den vorherigen Nutzdaten (Betriebssystem etc.) befüllt. Dazu sind die folgenden Schritten durchzuführen: # ein '''vollständiges Backup''' der gesamtem SSD, beispielsweise auf eine externe Festplatte (s.u.) # '''Löschen der Partitionen''' auf der SSD (via Festplattendienstprogram) # '''Wiederherstellen des Backups''' von der externen HDD auf der SSD Nun sollte der AJA System Test wieder deutlich höhere Werte ausgeben. Viele Anleitungen beschreiben auch das Löschen der gesamten SSD durch Überschreiben aller Speicherbereiche mit Nullen. Diese Funktion des Festplattendienstprogramms (über den Button "Freien Speicher löschen ...") ist für SSDs aus technischen Gründen nicht verfügbar (siehe [https://support.apple.com/en-us/HT201949 hier]). Alternativ kann das natürlich auch über ein Terminal-Kommando bewerkstelligt werden, wobei die Wirkung dessen wohl eher zweifelhaft zu sein scheint: dd if=/dev/zero of=/dev/<partition> bs=100k Die Datensicherung kann entweder über das OS X Festplattendienstprogramm oder (idealerweise) mit Programmen wie [http://www.bombich.com Carbon Copy Cloner] (kommerziell) oder [http://www.shirt-pocket.com/SuperDuper/ SuperDuper] (kostenlos mit eingeschränktem Funktionsumfang, hierfür jedoch ausreichend) durchgeführt werden; letztere beiden sind dabei deutlich komfortabler zu bedienen (im Vergleich zum OS X Bordwerkzeug) und bieten diverse Konfigurationsmöglichkeiten. '''''Anmerkung, etwas off-topic:''''' Die beiden genannten Programme ([[User:Hagbard|ich persönlich]] bevorzuge den CCC) bieten sich beispielsweise auch für laufende Hintergrundsicherungen der gesamten SSD an, so dass der Mac im Schadensfall einfach direkt von der externen Sicherung aus gestartet wird und man ohne Unterbruch und (hoffentlich Datenverluste) weiterarbeiten kann, da so immer ein vollständiges und lauffähiges System zur Verfügung steht. Für die Sicherung der allerwichtigsten und sich häufig ändernden Daten kann man dann immer noch zusätzlich Time Machine verwenden ... == Siehe auch== * arstechnica: [http://arstechnica.com/information-technology/2012/06/inside-the-ssd-revolution-how-solid-state-disks-really-work/ Solid-state revolution: in-depth on how SSDs really work] * Mac Performance Guide: [http://macperformanceguide.com/Storage-SSD-Reconditioning.html Reconditioning a solid state drive (SSD)] * Mac Performance Guide: [http://macperformanceguide.com/blog/2010/20100529_DiskTester--dlt-ssd.html Restoring solid state drive performance with DiskTester ‘recondition’] * Cnet: [http://www.cnet.com/news/maintaining-ssd-drives-in-os-x/ Maintaining SSD drives in OS X] 0a990cf0e91eff624a67932baaea18943c382fff Kurztipp - SSD Reconditioning 0 217 1197 2023-03-10T08:57:01Z Hagbard 2 Hagbard moved page [[Kurztipp - SSD Reconditioning]] to [[SSD Reconditioning]]: Translated page title wikitext text/x-wiki #REDIRECT [[SSD Reconditioning]] 17177ee6d573f7488316fcc3905a89ce561a564d SSH keep alive 0 167 1199 800 2023-03-10T08:57:49Z Hagbard 2 Hagbard moved page [[Kurztipp - SSH keep alive]] to [[SSH keep alive]]: Translated page title wikitext text/x-wiki [[Category:Hint]][[Category:Terminal]] Um im [[:Category:Terminal|Terminal]] SSH-Sessions automatische Verbindungsabbrüche (in der Regel durch Firewalls, Load Balancer o.Ä. verursacht) zu verhindern, genügt es, folgende Zeilen in die SSH-Konfiguration zu schreiben: == Client == <source> ServerAliveInterval 300 ServerAliveCountMax 3 </source> D.h. das bei ggf erst nach 3x300 Sekunden die Verbindung beendet wird. systemweite Konfiguration: /etc/ssh_config Benutzerspezifische Konfiguration: ~/.ssh/config == Server == <source> ClientAliveInterval 300 ClientAliveCountMax 3 </source> Anschließend muss der Server neu gestartet werden, entweder über die Systemeinstellungen oder mit Hilfe dieses Terminal-Kommandos: <source> launchctl stop org.openbsd.ssh-agent launchctl start org.openbsd.ssh-agent </source> eine Liste der laufenden Dienste ist über diese Anweisung erreichbar: <source> launchctl list </source> ==Siehe auch== * [http://drupal.star.bnl.gov/STAR/comp/sofi/facility-access/ssh-stable-con/ SSH connection stability] * Man pages: {{Man|ssh|ssh}}, {{Man|ssh_config|ssh_config}}, {{Man|sshd|sshd}}, {{Man|sshd_config|sshd_config}} 2fd1c471ebd95eb8b94d521d385b063f465d27ba Kurztipp - SSH keep alive 0 218 1200 2023-03-10T08:57:49Z Hagbard 2 Hagbard moved page [[Kurztipp - SSH keep alive]] to [[SSH keep alive]]: Translated page title wikitext text/x-wiki #REDIRECT [[SSH keep alive]] d355057bc54152b0b7f9b8abe52d1c41ef160608 Launch Safari in Private Mode 0 168 1201 804 2023-03-10T08:58:23Z Hagbard 2 Hagbard moved page [[Kurztipp - Safari im Privaten Modus starten]] to [[Launch Safari in Private Mode]]: Translated page title wikitext text/x-wiki [[Category:Hint]] Bekanntermaßen existiert in Safari eine Funktion "Privates Surfen", bei der keine Cookies oder Cache-Inhalte dauerhaft gespeichert werden. Dieser muss jedoch nach dem Start von Safari jedes Mal von Hand aktiviert und bestätigt werden, was unter Umständen recht lästig sein kann. Mit folgendem AppleScript lässt sich Safari jedoch auch direkt in diesem Modus starten: <source lang="AppleScript"> tell application "Safari" activate end tell tell application "System Events" to tell process "Safari" set hier_klicken to menu item 6 of menu 2 of menu bar 1 -- Menüpunkt "Privates Surfen" click hier_klicken click button "OK" of window 1 end tell </source> Dazu ist obiger Code einfach im AppleScript-Editor einzugeben und das Skript anschließend als Programm (.app Bundle) exportieren. b346bde4981a513eb14c1521044d2f9a4497c1c3 1203 1201 2023-03-10T09:00:57Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Update]] '''Note:''' Code example needs to be updated, doesn't work on macOS Ventura any longer Bekanntermaßen existiert in Safari eine Funktion "Privates Surfen", bei der keine Cookies oder Cache-Inhalte dauerhaft gespeichert werden. Dieser muss jedoch nach dem Start von Safari jedes Mal von Hand aktiviert und bestätigt werden, was unter Umständen recht lästig sein kann. Mit folgendem AppleScript lässt sich Safari jedoch auch direkt in diesem Modus starten: <source lang="AppleScript"> tell application "Safari" activate end tell tell application "System Events" to tell process "Safari" set hier_klicken to menu item 6 of menu 2 of menu bar 1 -- Menüpunkt "Privates Surfen" click hier_klicken click button "OK" of window 1 end tell </source> Dazu ist obiger Code einfach im AppleScript-Editor einzugeben und das Skript anschließend als Programm (.app Bundle) exportieren. 33a14f5d8040583486855ba9f32146313fb9ccbd 1207 1203 2023-03-10T09:03:31Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Update]][[Category:AppleScript]] '''Note:''' Code example needs to be updated, doesn't work on macOS Ventura any longer Bekanntermaßen existiert in Safari eine Funktion "Privates Surfen", bei der keine Cookies oder Cache-Inhalte dauerhaft gespeichert werden. Dieser muss jedoch nach dem Start von Safari jedes Mal von Hand aktiviert und bestätigt werden, was unter Umständen recht lästig sein kann. Mit folgendem AppleScript lässt sich Safari jedoch auch direkt in diesem Modus starten: <source lang="AppleScript"> tell application "Safari" activate end tell tell application "System Events" to tell process "Safari" set hier_klicken to menu item 6 of menu 2 of menu bar 1 -- Menüpunkt "Privates Surfen" click hier_klicken click button "OK" of window 1 end tell </source> Dazu ist obiger Code einfach im AppleScript-Editor einzugeben und das Skript anschließend als Programm (.app Bundle) exportieren. 0d44741b8280129118d2516380f3cc3cff5d4342 Kurztipp - Safari im Privaten Modus starten 0 219 1202 2023-03-10T08:58:23Z Hagbard 2 Hagbard moved page [[Kurztipp - Safari im Privaten Modus starten]] to [[Launch Safari in Private Mode]]: Translated page title wikitext text/x-wiki #REDIRECT [[Launch Safari in Private Mode]] 7bc556a956721a4118174c1d2618c77055d86be7 Create Screen Shots of Windows without Drop Shadow 0 220 1204 2023-03-10T09:02:21Z Hagbard 2 Created page with "[[Category:OS]][[Category:Hint]]Standardmäßig wird seit Mac OS 10.5 (Leopard) beim Erstellen von Screenshots einzelner Fenster über die [[Mac_Keyboard_Shortcuts#Screeenshots|Tastenkombination]] <KB>CMD-SHIFT-4</KB> <KB>SPACE</KB> immer ein Schlagschatten hinzugefügt, was allerdings nicht immer erwünscht ist. Um dies zu umgehen,bieten sich folgende Möglichkeiten an: * Verwenden der Vorschau.app (Menü "Ablage" > "Bildschirmfoto aufnehmen" > "Vom Fenster ...") * Aus..." wikitext text/x-wiki [[Category:OS]][[Category:Hint]]Standardmäßig wird seit Mac OS 10.5 (Leopard) beim Erstellen von Screenshots einzelner Fenster über die [[Mac_Keyboard_Shortcuts#Screeenshots|Tastenkombination]] <KB>CMD-SHIFT-4</KB> <KB>SPACE</KB> immer ein Schlagschatten hinzugefügt, was allerdings nicht immer erwünscht ist. Um dies zu umgehen,bieten sich folgende Möglichkeiten an: * Verwenden der Vorschau.app (Menü "Ablage" > "Bildschirmfoto aufnehmen" > "Vom Fenster ...") * Aus dem {{Terminal}} heraus: {{TT|[[screencapture]] -w -o <AUSGABEDATEI>}} * Durch [[#Anpassen der Konfigurationsdatei|Anpassen der Konfigurationsdatei]] Auch das Hilfsprogramm "Bildschirmfoto.app" erzeugt standardmäßig keinen Schatten bei Screenshots einzelner Fenster ==Anpassen der Konfigurationsdatei== Um die Funktion für die Schattenerzeugung beim Erstellen von Screenshots über die o.g. Tastenkombination dauerhaft zu deaktivieren, ist folgendes im Terminal einzugeben: defaults write com.apple.screencapture disable-shadow -bool true Mit folgendem Kommando wird sie wieder aktiviert: defaults delete com.apple.screencapture disable-shadow Anschließend muss jedoch jeweils der SystemUIServer neu gestartet werden, was sich mit folgendem Kommando im Terminal erledigen lässt: killall SystemUIServer 6ad4ee5d5fb1f990bce81f884b0aee7ecd78785e 1205 1204 2023-03-10T09:02:59Z Hagbard 2 Hagbard moved page [[Screenshots von Fenstern ohne Schatten]] to [[Create Screen Shots of Windows without Drop Shadow]]: Translated page title wikitext text/x-wiki [[Category:OS]][[Category:Hint]]Standardmäßig wird seit Mac OS 10.5 (Leopard) beim Erstellen von Screenshots einzelner Fenster über die [[Mac_Keyboard_Shortcuts#Screeenshots|Tastenkombination]] <KB>CMD-SHIFT-4</KB> <KB>SPACE</KB> immer ein Schlagschatten hinzugefügt, was allerdings nicht immer erwünscht ist. Um dies zu umgehen,bieten sich folgende Möglichkeiten an: * Verwenden der Vorschau.app (Menü "Ablage" > "Bildschirmfoto aufnehmen" > "Vom Fenster ...") * Aus dem {{Terminal}} heraus: {{TT|[[screencapture]] -w -o <AUSGABEDATEI>}} * Durch [[#Anpassen der Konfigurationsdatei|Anpassen der Konfigurationsdatei]] Auch das Hilfsprogramm "Bildschirmfoto.app" erzeugt standardmäßig keinen Schatten bei Screenshots einzelner Fenster ==Anpassen der Konfigurationsdatei== Um die Funktion für die Schattenerzeugung beim Erstellen von Screenshots über die o.g. Tastenkombination dauerhaft zu deaktivieren, ist folgendes im Terminal einzugeben: defaults write com.apple.screencapture disable-shadow -bool true Mit folgendem Kommando wird sie wieder aktiviert: defaults delete com.apple.screencapture disable-shadow Anschließend muss jedoch jeweils der SystemUIServer neu gestartet werden, was sich mit folgendem Kommando im Terminal erledigen lässt: killall SystemUIServer 6ad4ee5d5fb1f990bce81f884b0aee7ecd78785e 1208 1205 2023-03-10T09:05:17Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Hint]]Standardmäßig wird seit Mac OS 10.5 (Leopard) beim Erstellen von Screenshots einzelner Fenster über die [[Mac_Keyboard_Shortcuts#Screeenshots|Tastenkombination]] <KB>CMD-SHIFT-4</KB> und anschließendem Drücken von <KB>SPACE</KB> immer ein Schlagschatten hinzugefügt, was allerdings nicht immer erwünscht ist. Um dies zu umgehen,bieten sich folgende Möglichkeiten an: * Verwenden der Vorschau.app (Menü "Ablage" > "Bildschirmfoto aufnehmen" > "Vom Fenster ...") * Aus dem {{Terminal}} heraus: {{TT|[[screencapture]] -w -o <AUSGABEDATEI>}} * Durch [[#Anpassen der Konfigurationsdatei|Anpassen der Konfigurationsdatei]] Auch das Hilfsprogramm "Bildschirmfoto.app" erzeugt standardmäßig keinen Schatten bei Screenshots einzelner Fenster ==Anpassen der Konfigurationsdatei== Um die Funktion für die Schattenerzeugung beim Erstellen von Screenshots über die o.g. Tastenkombination dauerhaft zu deaktivieren, ist folgendes im Terminal einzugeben: defaults write com.apple.screencapture disable-shadow -bool true Mit folgendem Kommando wird sie wieder aktiviert: defaults delete com.apple.screencapture disable-shadow Anschließend muss jedoch jeweils der SystemUIServer neu gestartet werden, was sich mit folgendem Kommando im Terminal erledigen lässt: killall SystemUIServer 3b55abd2ead59453b3dbc5299fb50d4933f0923f Screenshots von Fenstern ohne Schatten 0 221 1206 2023-03-10T09:02:59Z Hagbard 2 Hagbard moved page [[Screenshots von Fenstern ohne Schatten]] to [[Create Screen Shots of Windows without Drop Shadow]]: Translated page title wikitext text/x-wiki #REDIRECT [[Create Screen Shots of Windows without Drop Shadow]] 33bbd712080c06fd0af48e06c7f6788723c5c2bd Kurztipp - Screenshots ohne Schatten erstellen 0 170 1209 811 2023-03-10T09:05:48Z Hagbard 2 Redirected page to [[Create Screen Shots of Windows without Drop Shadow]] wikitext text/x-wiki #redirect[[Create Screen Shots of Windows without Drop Shadow]] 65e262cc1aa26ecdda1cad1d7899d24066cfda1e Free unused disk cache 0 171 1210 815 2023-03-10T09:06:29Z Hagbard 2 Hagbard moved page [[Kurztipp - Ungenutzten Arbeitsspeicher freigeben]] to [[Free unused disk cache]] wikitext text/x-wiki [[Category:Hint]][[Category:Terminal]][[Category:OS]] Gestarteten Applikationen zugewiesener Speicher wird in der Regel nicht sofort nach dem Beenden der jeweiligen Applikation wieder freigegeben, um einen erneuten Start zu beschleunigen. Falls die Applikation jedoch so schnell nicht wieder gestartet werden soll und (wie beispielsweise Bildbearbeitungen oder Virtualisierungsumgebungen wie Virtual Box) relativ viel Speicher benötigt, kann dieser auch manuell freigegeben werden. Zu diesem Zweck existieren im Mac App Store zwar verschiedene - teils kostenlose, teils kostenpflichtige - Apps, ein einfacher Aufruf im [[:Category:Terminal|Terminal]] genügt dafür jedoch ebenfalls: purge Durch dieses Kommando wird inaktiver (also derzeit nicht verwendeter) Speicher wieder freigegeben, üblicherweise eben durch Applikationen, die in letzter Zeit gestartet und bereits wieder beendet wurden. Ein vorher-nachher Vergleich ist über das Dienstprogramm "Aktivitätsanzeige" möglich. Der dort als "Inaktiv" bezeichnete Speicherbereich kann durch {{TT|purge}} in der Regel größtenteils freigegeben werden: * '''Reserviert (wired):''' Von Systemprozessen belegter Speicher (z.B. Kernel, Treiber usw.) * '''Aktiv:''' von aktuell gestarteten Programmen belegter Speicher * '''Inaktiv:''' für in der jüngeren Vergangenheit gestartete und bereits wieder beendete Programme reservierter Speicher * '''Benutzt:''' Die Summe dieser drei Werte {{Information|'''Hinweis:''' damit dieses Terminal-Kommando verfügbar ist, muss unter älteren OS X Versionen (bis incl. 10.6) das "BSD Subsystem" von OS X installiert sein. Dies ist Teil der OS X Systemdistribution und war bis Version 10.6 auf den Installationsmedien als extra Installationspaket enthalten. Seit OS X Lion ist es jedoch immer installiert.}} ==Siehe auch== * manpage zu {{Man|purge|purge}} * [http://support.apple.com/kb/HT1342?viewlocale=en_US&locale=en_US Using Activity Monitor to read System Memory and determine how much RAM is being used] (support.apple.com) * [http://blog.55minutes.com/2012/05/taming-the-lion-inactive-memory-problem/ Taming the Lion Inactive Memory Problem] (blog.55minutes.com) * [http://hints.macworld.com/article.php?story=20120410153721860 Automatically reclaim memory from leaky programs] (hints.macworld.com) ec2216ac8348042e27a91558092d25b6b780e0f8 Kurztipp - Ungenutzten Arbeitsspeicher freigeben 0 222 1211 2023-03-10T09:06:29Z Hagbard 2 Hagbard moved page [[Kurztipp - Ungenutzten Arbeitsspeicher freigeben]] to [[Free unused disk cache]] wikitext text/x-wiki #REDIRECT [[Free unused disk cache]] 31747071427a96bd951870b2facefb453f85b6be Show Hidden Files and Folders in Finder Windows 0 172 1212 819 2023-03-10T09:07:32Z Hagbard 2 Hagbard moved page [[Kurztipp - Versteckte Dateien im Finder anzeigen]] to [[Show Hidden Files and Folders in Finder Windows]]: Translated page title wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]]Um mit Bordmitteln und ohne weitere Tools (wie z.B. dem [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool]) die Darstellung versteckter (System-)Dateien zu aktivieren, ist einfach folgende Zeile im {{Terminal}} einzugeben: defaults write com.apple.finder AppleShowAllFiles -boolean true Damit die Änderung wirksam wird, muss man sich entweder ab- und wieder anmelden, oder man startet mit Hilfe des folgenden Terminal-Kommandos den Finder neu: killall Finder Deaktiviert wird das ganze mit folgendem Kommando: defaults delete com.apple.finder AppleShowAllFiles ==Alle Symbole des Desktop ausblenden== Umgekehrt kann man mit folgender Anweisungf auch alle Symbole des Desktop ausblenden: defaults write com.apple.finder CreateDesktop -bool FALSE; killall Finder Was sich mit folgender Anweisung auch wieder rückgängig machen lässt: defaults write com.apple.finder CreateDesktop -bool TRUE; killall Finder a3de54260559427b95d70f761edc239bf98b991b Kurztipp - Versteckte Dateien im Finder anzeigen 0 223 1213 2023-03-10T09:07:32Z Hagbard 2 Hagbard moved page [[Kurztipp - Versteckte Dateien im Finder anzeigen]] to [[Show Hidden Files and Folders in Finder Windows]]: Translated page title wikitext text/x-wiki #REDIRECT [[Show Hidden Files and Folders in Finder Windows]] 2566531bab894149f48cca5ded512bd2e13bbda6 Show Numbered Chapters in a TeX TOC 0 173 1214 824 2023-03-10T09:08:39Z Hagbard 2 Hagbard moved page [[Kurztipp - Verzeichnisse mit Kapitelnummern]] to [[Show Numbered Chapters in a TeX TOC]]: Translated page title wikitext text/x-wiki [[Category:TeX]][[Category:Hint]] ==Verzeichnisse mit Kapitelnummern versehen== Standardmäßig werden im Dokumententyp ''book'' Verzeichnisse ohne Kapitelnummern dargestellt und tauchen nicht im Inhaltsverzeichnis auf. Das entspricht dem Effekt, den man durch die Verwendung von <source lang="latex"> \chapter*{} </source> anstatt von <source lang="latex"> \chapter{} </source> erreicht. Das kann aber durch Überladen einiger Anweisungen aus der Datei '''book.cls''' geändert werden, wobei der Code im Kopf des TeX-Dokumentes (also vor <font face="courier">\begin{document}</font>) zwischen den Tags <source lang="latex"> \makeatletter ... \makeatother </source> stehen sollte. Das sieht dann etwa so aus: ===Abbildungsverzeichnis=== <source lang="latex"> \renewcommand\listoffigures{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi %\chapter*{\listfigurename}% \chapter{\listfigurename}% \@mkboth{\MakeUppercase\listfigurename}% {\MakeUppercase\listfigurename}% \@starttoc{lof}% \if@restonecol\twocolumn\fi } </source> ===Tabellenverzeichnis=== <source lang="latex"> \renewcommand\listoftables{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi %\chapter{\listtablename}% \chapter{\listtablename}% \@mkboth{% \MakeUppercase\listtablename}% {\MakeUppercase\listtablename}% \@starttoc{lot}% \if@restonecol\twocolumn\fi } </source> ===Literaturverzeichnis=== <source lang="latex"> \renewenvironment{thebibliography}[1] %{\chapter*{\bibname}% {\chapter{\bibname}% \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% \list{\@biblabel{\@arabic\c@enumiv}}% {\settowidth\labelwidth{\@biblabel{#1}}% \leftmargin\labelwidth \advance\leftmargin\labelsep \@openbib@code \usecounter{enumiv}% \let\p@enumiv\@empty \renewcommand\theenumiv{\@arabic\c@enumiv}}% \sloppy \clubpenalty4000 \@clubpenalty \clubpenalty \widowpenalty4000% \sfcode`\.\@m} {\def\@noitemerr {\@latex@warning{Empty `thebibliography' environment}}% \endlist} </source> df0e6d617cf56b42b99d6d4222271a03c1029525 Kurztipp - Verzeichnisse mit Kapitelnummern 0 224 1215 2023-03-10T09:08:39Z Hagbard 2 Hagbard moved page [[Kurztipp - Verzeichnisse mit Kapitelnummern]] to [[Show Numbered Chapters in a TeX TOC]]: Translated page title wikitext text/x-wiki #REDIRECT [[Show Numbered Chapters in a TeX TOC]] dd36949ef3a20a0c716b1f679106fc0199410589 Adding Watermarks with LaTeX 0 174 1216 829 2023-03-10T09:08:58Z Hagbard 2 Hagbard moved page [[Kurztipp - Wasserzeichen in LaTeX]] to [[Adding Watermarks with LaTeX]]: Translated page title wikitext text/x-wiki [[Category:TeX]][[Category:Hint]] ==Wasserzeichen in TeX-Dokumenten== Mit den folgenden Zeilen Code und einer Grafik lassen sich einfach TeX-Dokumente mit Wasserzeichen hinterlegen, z.B.: "Muster", "Draft" oder ähnliches. Dazu werden zuerst die folgenden Pakete benötigt: \usepackage{eso-pic,graphicx} Anschließend wird innerhalb der Tags \makeatletter ... \makeatother das Element \BackgroundPicture überladen: \newcommand\BackgroundPicture[3]{% \setlength{\unitlength}{1pt}% \put(0,\strip@pt\paperheight){% \parbox[t][\paperheight]{\paperwidth}{% \vfill \centering\includegraphics[<font color="orange">width=21.4cm</font>,<font color="orange">angle=45</font>]{<font color="orange">img/draft</font>} \vfill } } } und das Hintergrundbild vor dem einleitenden Tag \begin{document} eingefügt: \AddToShipoutPicture{\BackgroundPicture} '''Anm.:''' die <font color="orange">hervorgehobenen</font> Bereiche müssen ggf. an die eigene Grafik angepasst werden, im obigen Beispiel handelt es sich um ein DinA4 Format '''width:''' Breite<br /> '''height:''' Höhe<br /> '''angle:''' Drehungswinkel Beispielgrafik: ''DRAFT'' als [[media:tex-watermark-draft.pdf.zip|PDF]] oder [[media:tex-watermark-draft.ps.zip|PostScript]] e2a63c146b6de20d027dcce1427d75cb2b74dbe8 Kurztipp - Wasserzeichen in LaTeX 0 225 1217 2023-03-10T09:08:58Z Hagbard 2 Hagbard moved page [[Kurztipp - Wasserzeichen in LaTeX]] to [[Adding Watermarks with LaTeX]]: Translated page title wikitext text/x-wiki #REDIRECT [[Adding Watermarks with LaTeX]] c99e8e4f9f6090df201a500f40db26d23a967e95 Jumping Wordwise in Terminal Commands 0 175 1218 837 2023-03-10T09:09:48Z Hagbard 2 Hagbard moved page [[Kurztipp - Wortweises Springen im Terminal]] to [[Jumping Wordwise in Terminal Commands]]: Translated page title wikitext text/x-wiki [[Category:Terminal]][[Category:Hint]]Unter Snow Leopard ist die Tastaturbelegung der [[:Category:Terminal|Terminal]].app scheinbar etwas durcheinandergeraden, so bewirkt z.B. der wortweise Sprung in der Eingabe via <KB>ctrl + links</KB> beziehungsweise <KB>ctrl + rechts</KB> ein Einfügen der Großbuchstaben "D" bzw. "C". Um das zu ändern, sind die Einstellungen der Terminal App zu öffnen und im Abschnitt "Tastatur" die entsprechenden Belegungen zu ändern. So sehen sie (höchstwahrscheinlich) aus: {| |-- style="background-color:#f2f2f2;" | style="width:200px;" | Belegung || style="width:100px;" | ist || style="width:100px;" | soll |-- | Ctrl-Taste Linkspfeil || {{TT|\033[5D}} || {{TT|\033b}} |-- | Ctrl-Taste Rechtsspfeil || {{TT|\033[5C}} || {{TT|\033f}} |} Ggg. ist (unter OS X 10.7 und neuer) vorher die entsprechende Tastaturbelegung für den Wechsel von Spaces in den Systemeinstellungen (unter "Tastatur" > "Mission Control") zu deaktivieren c0175e272694286b0b8e6633e2cd4bac7977fbe9 Kurztipp - Wortweises Springen im Terminal 0 226 1219 2023-03-10T09:09:48Z Hagbard 2 Hagbard moved page [[Kurztipp - Wortweises Springen im Terminal]] to [[Jumping Wordwise in Terminal Commands]]: Translated page title wikitext text/x-wiki #REDIRECT [[Jumping Wordwise in Terminal Commands]] d28fded07a60bb8f1edcc56a2f82bab6c2a95137 Looup Words and Terms in a Dictionary 0 61 1220 267 2023-03-10T09:10:07Z Hagbard 2 Hagbard moved page [[Wörter im Dictionary nachschlagen]] to [[Looup Words and Terms in a Dictionary]]: Translated page title wikitext text/x-wiki [[Category:Hint]][[Category:Translate]] ==Dictionary Schnellzugriff== Für all diejenigen, die häufiger Wörter (oder heisst es dann Worte) im Duden nachschlagen müssen, empfiehlt sich die Tastenkombination {{Key press|Ctrl}} {{Key press|cmd}} {{Key press|d}}. Es kann auch eine Trackpad-Geste zugeordnet werden, üblicherweise ist das ein Tap mit 3 Fingern. Die Funktion ist in Cocoa-Applikationen wie den folgenden verfügbar: * TextEdit * Safari * Mail * Pages * Keynote Wer Sidetrack oder eine Mehr-Button-Maus benutzt, kann auch einen Shortcut auf diese Kombination legen ([http://www.agentlebossanova.net/images/sidetrack.jpg Einrichtung mit Sidetrack]) ==Auswahl an Wörterbüchern== Leider wird Mac OS X nur mit englischen Wörterbüchern ausgeliefert: * New Oxford American Dictonary * Oxford American Writers Dictionary * englische Wikipedia (seit Mac OS 10.5) Es lässt sich aber mit denen [http://web.mac.com/tekl/deutsch/W%C3%B6rterb%C3%BCcher.html auf dieser Seite] verfügbaren Wörterbüchern/Thesauri nachrüsten. ==Dictionary-Interna== Die Dictionaties sind in Form von <font face="courier">*.dict</font> Archiven im folgenden Verzeichnis zu finden: /Library/Dictionaries/ und beinhalten die folgenden Dateien: '''dict_body''' Dictionary-Inhalte als XML-Datei '''dictionary_1''' sieht ziemlich binär aus ... vllt. irgendeine Art TOC? '''images/''' ggf. noch ein Unterverzeichnis mit Bilddateien und die üblichen MacOS X Archiv-Beschreibungsdateien '''Info.plist''' '''PkgInfo''' Typ des Archivs (dictlam) '''version.plist''' Das Dictionary selber ist eine XML-Datei und folgt der [http://oup.dataformat.com/doc/OUP_DTD_Dictionary.html Dictionary DTD]. Vielleicht weiss jemand, was sich hinter der Binärdatei versteckt, sie beginnt auf jeden Fall recht obskur mit dictL,com.apple.DictionaryAccessMethod.ForwardTrie [http://www.google.com Google] wusste da auf die Schnelle auch nicht weiter ... ==Dictionaries hinzufügen== Nett wäre z.B. ein Wrapper für [http://dict.leo.org dict.leo.org] oder die [http://de.wikipedia.org Wikipedia] :) Vielleicht kann man ja irgendwie die [http://de.wikipedia.org/wiki/Wikipedia:Wikipedia-Distribution/Rohdaten Rohdaten] der Wikipedia Offline-Distribution Nutzen, die es als XML-Datei [http://download.directmedia.de/wikipedia/wikipedia_1_2005_xml.zip hier] zum Download gibt. Die ist aber anscheinend nicht sonderlich well-formed ... Unter [http://meta.wikimedia.org/wiki/Wik2dict diesem Link hier] gibts ein Konvertierungstool, um den SQL-Dump eines mediawikis ins dict-Format zu konvertieren (was ja das Dictionary-Tool in MacOS X verwendet). Damit wärs theoretisch möglich, die Wikipedia zu importieren, halt nur immer mit den aktuellen Release-Ständen 377cfd68a1f3400185b00204d3abde7b1d92b959 Wörter im Dictionary nachschlagen 0 227 1221 2023-03-10T09:10:07Z Hagbard 2 Hagbard moved page [[Wörter im Dictionary nachschlagen]] to [[Looup Words and Terms in a Dictionary]]: Translated page title wikitext text/x-wiki #REDIRECT [[Looup Words and Terms in a Dictionary]] bfebd40c32f32a0fb970f265237b262c466da2b5 Change the Encoding of Text Files 0 176 1222 847 2023-03-10T09:10:49Z Hagbard 2 Hagbard moved page [[Kurztipp - Zeichenkodierung von Textdateien konvertieren]] to [[Change the Encoding of Text Files]]: Translated page title wikitext text/x-wiki [[Category:Terminal]]Um die [[wikipedia:de:Zeichenkodierung|Zeichenkodierung]] von Textdateien (beispielsweise [[wikipedia:de:UTF-8|UTF-8]] oder [[wikipedia:ISO 8859-1|ISO Latin-1]]) zu konvertieren, genügt folgende Zeile im Terminal: <source lang="bash"> iconv -f QUELLKODIERUNG -t ZIELKODIERUNG QUELLDATEI > ZIELDATEI </source> beispielsweise um ein russisches (kyrillisches) Textfile in UTF-8 umzuwandeln: <source lang="bash"> iconv -f WINDOWS-1251 -t UTF-8 text.txt > text-utf8.txt </source> Alternativ kann natürlich auch der Texteditor des Vertrauens dazu verwendet werden, allerdings ist imho eine Zeile im Terminal schneller eingetippt als man durch ein seitenlanges Menü verschiedener Textkodierungen gescrollt hat ... ==Unterstützte Kodierungen== Im Folgenden ein kleiner Auszug aus der Liste der von iconv unterstützten Kodierungen. Über die Option {{TT|-l}} oder {{TT|--list}} kann man sich eine Liste aller unterstützter Kodierungen ausgeben lassen, weitere Informationen dazu sind auch in der Manpage von {{Man|iconv|iconv}} zu finden. Die in einer Zeile stehenden Kodierungen sind dabei geleichbedeutend (alternative Schreibweisen und Bezeichnungen) ;Unicode :UTF-8, UTF8 :UTF-8-MAC, UTF8-MAC :UTF-16 :UTF-16BE :UTF-16LE :UTF-32 :UTF-32BE :UTF-32LE :UTF-7 ;ISO :CP819, IBM819, ISO8859-1, ISO_8859-1, ISO_8859-1:1987, L1, LATIN1, CSISOLATIN1 :ISO-8859-2, ISO-IR-101, ISO8859-2, ISO_8859-2, ISO_8859-2:1987, L2, LATIN2, CSISOLATIN2 :ISO-8859-3, ISO-IR-109, ISO8859-3, ISO_8859-3, ISO_8859-3:1988, L3, LATIN3, CSISOLATIN3 :ISO-8859-4, ISO-IR-110, ISO8859-4, ISO_8859-4, ISO_8859-4:1988, L4, LATIN4, CSISOLATIN4 :CYRILLIC, ISO-8859-5, ISO-IR-144, ISO8859-5, ISO_8859-5, ISO_8859-5:1988, CSISOLATINCYRILLIC ==Siehe auch== * {{Man|iconv|iconv}} * [[wikipedia:de:Iconv|iconv]] in der [[wikipedia:de:Hauptseite|Wikipedia]] aca9eb74ab8b3e216232420511893592eb35bb98 Kurztipp - Zeichenkodierung von Textdateien konvertieren 0 228 1223 2023-03-10T09:10:49Z Hagbard 2 Hagbard moved page [[Kurztipp - Zeichenkodierung von Textdateien konvertieren]] to [[Change the Encoding of Text Files]]: Translated page title wikitext text/x-wiki #REDIRECT [[Change the Encoding of Text Files]] 97422a72ed6c8a29b7f5ea05bb1139081a15d4f1 Mount DMG Disk Images on Linux 0 177 1224 852 2023-03-10T09:11:09Z Hagbard 2 Hagbard moved page [[Kurztipp - dmg Images unter Linux mounten]] to [[Mount DMG Disk Images on Linux]]: Translated page title wikitext text/x-wiki [[Category:Hint]][[Category:Linux]] Da .dmg Images im Prinzip ganz normale Disk-Images mit dem HFS-Dateisystem sind, lassen sie sich auch unter Linux benutzen. Dazu muss die Linux Installation allerdings über HFS+ Treiber verfügen, die üblicherweise als Modul geladen werden. Da unter Mac OS X allerdings mehrere unterschiedliche Imageformate erzeugt werden können, kann ich hier nicht beurteilen, ob wirklich alle gelesen werden können. Das gilt insbesondere für verschlüsselte oder komprimierte Diskimages, aber auch für die mitwachsenden welchen (Sparse Image). ==dmg Image testen== Bei einem gültigen - d.h. für Linux nutzbaren - Image sollte das Kommando file <imagename>.dmg die folgende (oder eine vergleichbare) Ausgabe erzeugen: <imagename>.dmg: Macintosh HFS data (mounted) created: ....bla..., last modified: ...bla..., block size: ...bla..., number of blocks: ...bla..., volume name: <volumename> ==dmg Image mounten== Eingebunden wird es dann einfach mit {{Man|mount|mount}} -t hfs -o loop <imagefile> <mountpoint> ==Weitere Informationen== * Manpage zu {{Man|mount|mount}} * Manpage zu {{Man|hdiutil|hdiutil}} (für das Erstellen von Images unter Mac OS X) * Artikel zu [[hdiutil]] (incl. Liste der verschiedenen Imagetypen) e600cf810a711655248085e64458e881e65dc1a7 Kurztipp - dmg Images unter Linux mounten 0 229 1225 2023-03-10T09:11:09Z Hagbard 2 Hagbard moved page [[Kurztipp - dmg Images unter Linux mounten]] to [[Mount DMG Disk Images on Linux]]: Translated page title wikitext text/x-wiki #REDIRECT [[Mount DMG Disk Images on Linux]] f571bbde32700fb5649864f6babc7d4677f5d5a5 MacOS beschleunigen und ausmisten 0 191 1226 1011 2023-03-10T09:12:18Z Hagbard 2 Hagbard moved page [[Mac OS X beschleunigen und ausmisten]] to [[MacOS beschleunigen und ausmisten]]: Updated page title to current product names wikitext text/x-wiki [[Category:OS]] ==Inhalte== '''Warnung:''' Die Folgenden Aktionen bitte nur durchführen, wenn man genau weiß, was man tut! Außerdem sollten solche Änderungen dokumentiert werden, um bei späteren Fehlersituationen die hier durchgeführten Änderungen parat zu haben (zum Fehler einordnen) und sie ggf. rückgängig machen zu können. Bei solchen Eingriffen ins System sollte ein laufend aktualisiertes Backup selbstverständlich sein, idealerweise ein kompletter Klon des Systemvolume, erstellt mit einem Hilfsprogramm wie dem [https://www.bombich.com CCC]. Im Fehlerfall kann dann einfach von diesem Volume gebootet oder das System davon wiederhergestellt werden. ===Performance optimieren=== * kaputte Fonts finden und deaktivieren/deinstallieren * überflüssige und nicht benutzte Schriften deaktivieren (Aktivieren nur bei Benutzung, beschleunigt die Darstellung im Auswahlfenster) * Wichtige Schriften (nicht deaktivieren!): Geneva, Monaco, Lucida Grande, Courier, Helvetica, Times, Symbol, Zapf Dingbats und ggf. zusätzliche Fonts von Drittanbietern (z.B. MS Office) * Caches löschen * Systemoptimierung * prebinding (vor 10.4) * Zugriffsrechte reparieren (Link) * Systemeigene Default-Cronjobs (befinden sich in {{tt|/etc/periodic/}}) * Manuelles aufrufen mit {{tt|sudo periodic daily weekly monthly}} (als admnin) oder mit [http://www.macupdate.com/info.php/id/5856 MacJanitor] bzw. anderen Tools, vor allem wichtig wenn der Mac nachts immer aus ist und die cronjobs somit ao gut wie nie laufen. * Ab Tiger läuft alles über {{Man|launchd|launchd}} / {{Man|launchctl|launchctl}} und nicht mehr über crond * immer genügend Platz auf den Festplatten (bzw. "Volumes") freihalten (5-10%), damit die HFS+ Selbstoptimierungsfunktionen greifen (aka Defragmentierung etc.) * zusätzlichen Platz für die Auslagerungsdatei frei halten (aka "virtueller Speicher"), kann schon mal 1-2 GB umfassen. * usw. ===Platzverschwendung verhindern=== * Bereits bei der Installation: angepasste Installation (Clean Install) * Fonts und Lokalisierungen/Sprachdateien * Demo-Filme und Medien (z.B. AIFF-Loops von GarageBand) * überflüssige Treiber (z.B. Druckertreiber) * temporäre Dateien nach einer Installation * ... ===Arbeitspeicher=== * '''beliebte Speicherschleudern''' sind vor allem Webbrowser (incl. Safari, Seamonkey/Firefox, Camino), vor allem wenn sie längere Zeit gestartet sind und häufiger benutzt werden. Dann belegen sie gern einmal 200-300 MB physikalischen RAM oder mehr. Diese Programme sollten also immer mal wieder beendet und neu gestartet werden. * '''Dashboard und die aktiven Widgets''' hängen hin und wieder auch einmal, manchmal gehen Widgets auch nicht in den Suspend Mode während Dashboard nicht aktiv ist und benötigen dann u.U. auch viel CPU-Last und Arbeitsspeicher. Empfehlung: das "DisableDashboard" Widget (siehe [[Dashboard]]) zum gelegentlichen Neustart von Dashboard verwenden. * Hin und wieder einmal abmelden, das gibt einiges an Arbeitsspeicher frei. Im Anmeldebildschirm kann dann auch durch die Eingabe von ">exit" im Benutzerfeld der WindowServer neu gestartet werden. Nach einer längeren Laufzeit belegt auch er unter Umständen relativ viel Arbeitsspeicher (siehe [[Spiele mit dem Login Screen]]). * Es können auch eine Reihe [[Deaktivieren ungenutzter Hintergrunddienste|unerwünschter Hintergrunddienste deaktiviert]] werden, allerdings auf eigene Gefahr! Man sollte genau wissen, was man hierbei tut, da durchaus Nebeneffekte auftreten könnten. ===Optimierungen kosmetischer Art=== * .DS_Store Dateien verhindern, lästig vor allem bei der parallelen Nutzung von Volumes unter Linux und/oder Windows * ... ===Häufige Probleme=== * PlugIns und Erweiterungen nach System-/Anwendungsupdates (z.b. Safari, Mail, ...) * ... ===Unnötige Aktionen / Was man besser bleiben lassen sollte=== * Logfiles löschen (siehe oben), diese werden ohnehin rotiert (gepackt und archiviert) und nehmen daher üblicherweise nicht viel Platz weg. Es sei denn man weiß genau, was man tut (z.B. Logfiles von Anwendungen, die gar nicht mehr installiert sind) * Receipts in {{tt|/Library/Receipts}} löschen (sollte man tunlichst unterlassen, da diese Dateien von Mac OS X unter anderem für die Zugriffsrechtereparatur verwendet werden. * ... ===verwendbare Tools=== * Kommandozeilentools wie {{Man|ps|ps}}, {{Man|top|top}}, {{Man|kill|kill}} (bordwerkzeug) * Aktivitäts-Anzeige (bordwerkzeug / Dienstprogramme]) * [https://www.titanium-software.fr/en/onyx.html OnyX] (free) * [http://www.macupdate.com/info.php/id/5856 MacJanitor] (free) * [https://ingmarstein.github.io/Monolingual/ Monolingual] (oss) * [http://www.macupdate.com/info.php/id/14393 Disk Inventory] * Applikations-Helferlein, z.B. für Safari (SafariEnhancer, SafariSpeed, SafariFixer, ...) * siehe auch Artikel [[Systemwartungstools]] 9add9ecdd0c677a473b42f258bf53c4802c304ba Mac OS X beschleunigen und ausmisten 0 230 1227 2023-03-10T09:12:18Z Hagbard 2 Hagbard moved page [[Mac OS X beschleunigen und ausmisten]] to [[MacOS beschleunigen und ausmisten]]: Updated page title to current product names wikitext text/x-wiki #REDIRECT [[MacOS beschleunigen und ausmisten]] 0a76d2f088b306ae85121587eb9ee78a5a8917a0 MacOS absichern/Betriebssystemkonfiguration 0 76 1228 1004 2023-03-10T09:12:26Z Hagbard 2 Hagbard moved page [[Mac OS X absichern - Betriebssystemkonfiguration]] to [[MacOS absichern - Betriebssystemkonfiguration]]: Updated page title to current product names wikitext text/x-wiki [[Category:OS]][[Category:Translate]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! style="width:220px;" | Service Name !! ! style="width:60px;" | |-- | Screen Sharing || ✅ || replacement or maybe even in-place update possible |-- | File Sharing || ✅ || replacement or maybe even in-place update possible |-- | Printer Sharing || ✅ || replacement or maybe even in-place update possible |-- | Remote Login || ✅ || replacement or maybe even in-place update possible |-- | Remote Management || ✅ || replacement or maybe even in-place update possible |-- | Remote Apple Events || ❌ || Don't use it, no replacement |-- | Bluetooth Sharing || ❓ || TBD |-- | Internet Sharing || ❓ || TBD |-- | Content Sharing || ❌ || Don't use it, no replacement |-- | Media Sharing<br/>a.k.a. "iTunes Library Sharing" || ❌ || Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] |-- | Web Sharing<br/>''Only in OS X Lion and earlier'' || ✅ || replacement or maybe even in-place update possible |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Drittprogramme absichern== * Das [https://www.privacy-handbuch.de/ Privavy-Handbuch] ** [https://www.privacy-handbuch.de/handbuch_21.htm Spurenarm Surfen mit Firefox] ** [https://www.privacy-handbuch.de/handbuch_21j2.htm Starke Passwörter verwenden] ** [https://www.privacy-handbuch.de/handbuch_21n.htm Überflüssige Funktionen in Firefox deaktivieren] (aus dem o.g. Privacy-Handbuch) ** [https://www.privacy-handbuch.de/handbuch_21i.htm#dnt Kommentar zu "Do-Not-Track"]] (more trouble than it's worth) ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Tools=== * [https://objective-see.org/ Objective-See] source of several amazing and free privacy tools like KnockKnock, Lulu or Oversight * [https://www.murusfirewall.com/murus/ Murus<sup>2</sup>] Firewall, a UI for the builtin macOS packet filter. The free Lite version filters outgoing traffic only, which makes it an ideal companion for LuLu or Little Snitch (Mini). ===Self-hosted Services=== * [https://freshrss.org FreshRSS], a free, self-hostable feeds aggregator * [https://pi-hole.net/ Pi-hole], Network-wide Ad Blocking ===Other Services=== * [https://hostux.network/en/ Hostux] Publicly hosted services such as a public encrypted DNS service, a disposable email inbox, and many more. ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs ===Encrypting/Signing=== * [https://github.com/FiloSottile/age age]: A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability. * [https://jedisct1.github.io/minisign/ minisign]: A dead simple tool to sign files and verify signatures. see also: * [https://nick.groenen.me/notes/stop-using-pgp/ Stop using PGP] f93ebfb577a08ac66a03af5882ff1d7e518936b4 1230 1228 2023-03-10T09:12:51Z Hagbard 2 Hagbard moved page [[MacOS absichern - Betriebssystemkonfiguration]] to [[MacOS absichern/Betriebssystemkonfiguration]]: Moved to a subpage wikitext text/x-wiki [[Category:OS]][[Category:Translate]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! style="width:220px;" | Service Name !! ! style="width:60px;" | |-- | Screen Sharing || ✅ || replacement or maybe even in-place update possible |-- | File Sharing || ✅ || replacement or maybe even in-place update possible |-- | Printer Sharing || ✅ || replacement or maybe even in-place update possible |-- | Remote Login || ✅ || replacement or maybe even in-place update possible |-- | Remote Management || ✅ || replacement or maybe even in-place update possible |-- | Remote Apple Events || ❌ || Don't use it, no replacement |-- | Bluetooth Sharing || ❓ || TBD |-- | Internet Sharing || ❓ || TBD |-- | Content Sharing || ❌ || Don't use it, no replacement |-- | Media Sharing<br/>a.k.a. "iTunes Library Sharing" || ❌ || Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] |-- | Web Sharing<br/>''Only in OS X Lion and earlier'' || ✅ || replacement or maybe even in-place update possible |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Drittprogramme absichern== * Das [https://www.privacy-handbuch.de/ Privavy-Handbuch] ** [https://www.privacy-handbuch.de/handbuch_21.htm Spurenarm Surfen mit Firefox] ** [https://www.privacy-handbuch.de/handbuch_21j2.htm Starke Passwörter verwenden] ** [https://www.privacy-handbuch.de/handbuch_21n.htm Überflüssige Funktionen in Firefox deaktivieren] (aus dem o.g. Privacy-Handbuch) ** [https://www.privacy-handbuch.de/handbuch_21i.htm#dnt Kommentar zu "Do-Not-Track"]] (more trouble than it's worth) ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Tools=== * [https://objective-see.org/ Objective-See] source of several amazing and free privacy tools like KnockKnock, Lulu or Oversight * [https://www.murusfirewall.com/murus/ Murus<sup>2</sup>] Firewall, a UI for the builtin macOS packet filter. The free Lite version filters outgoing traffic only, which makes it an ideal companion for LuLu or Little Snitch (Mini). ===Self-hosted Services=== * [https://freshrss.org FreshRSS], a free, self-hostable feeds aggregator * [https://pi-hole.net/ Pi-hole], Network-wide Ad Blocking ===Other Services=== * [https://hostux.network/en/ Hostux] Publicly hosted services such as a public encrypted DNS service, a disposable email inbox, and many more. ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs ===Encrypting/Signing=== * [https://github.com/FiloSottile/age age]: A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability. * [https://jedisct1.github.io/minisign/ minisign]: A dead simple tool to sign files and verify signatures. see also: * [https://nick.groenen.me/notes/stop-using-pgp/ Stop using PGP] f93ebfb577a08ac66a03af5882ff1d7e518936b4 Mac OS X absichern - Betriebssystemkonfiguration 0 231 1229 2023-03-10T09:12:26Z Hagbard 2 Hagbard moved page [[Mac OS X absichern - Betriebssystemkonfiguration]] to [[MacOS absichern - Betriebssystemkonfiguration]]: Updated page title to current product names wikitext text/x-wiki #REDIRECT [[MacOS absichern - Betriebssystemkonfiguration]] 2262b93dd9af8c394f593ef721928073d9e1f1af MacOS absichern - Betriebssystemkonfiguration 0 232 1231 2023-03-10T09:12:52Z Hagbard 2 Hagbard moved page [[MacOS absichern - Betriebssystemkonfiguration]] to [[MacOS absichern/Betriebssystemkonfiguration]]: Moved to a subpage wikitext text/x-wiki #REDIRECT [[MacOS absichern/Betriebssystemkonfiguration]] 621c7a2c51a7978c0526648df25f1e43633eaeda MacOS absichern 0 190 1232 956 2023-03-10T09:13:05Z Hagbard 2 Hagbard moved page [[Mac OS X absichern]] to [[MacOS absichern]]: Updated page title to current product names wikitext text/x-wiki [[Category:OS]]Auch wenn das Mac OS X einen sehr guten Ruf hinsichtlich Sicherheit genießt, ist es dennoch ratsam, sich einige Gedanken zu diesem Thema zu machen. Schließlich ist bei einer Standardinstallation noch reichlich Optimierungspotential vorhanden, zumal das Betriebssystem dafür bereits recht umfangreiche Möglichkeiten mitbringt. Zudem ist auch zu erwarten, dass bei zunehmender Verbreitung des Mac OS auch das Gefahrenpotential durch Schadsoftware zunehmen und die Sicherheit auch auf dem Mac ein wichtiges und nicht zu unterschätzendes Thema sein wird. Die Artikelreihe "Mac OS X absichern" widmet sich daher diesem Thema, von der Betriebssystemkonfiguration bis hin zu Tipps und Tricks für die tägliche Nutzung. Die thematische Aufteilung der Unterartikel sieht dabei wie folgt aus: ----- {{Contentbox|width=100%|content=[[Image:Finder icon macOS Yosemite.png|128px|right]]<big>'''Teil 1: [[Mac_OS_X_absichern_-_Betriebssystemkonfiguration|Betriebssystemkonfiguration]]'''</big> :&nbsp; :Dieser Teil widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen.}} {{Contentbox|width=100%|content=[[Image:Crystal Project Connect to network.png|128px|right]]<big>'''Teil 2: Netzwerkkonfiguration und Firewall'''</big> :&nbsp; :Dieser Teil der Artikelreihe widmet sich unter anderem der Netzwerkkonfiguration. Außerdem wird auf die Konfiguration der Mac OS X Firewall ({{Man|ipfw|ipfw}}, eigentlich ein Paketfilter) ebenso eingegangen wie aif die sichere Einrichtung der verschiedenen Serverdienste wie SSH ("entfernte Anmeldung"), httpd ("Personal Web Sharing") und AFP ("Personal File Sharing").}} {{Contentbox|width=100%|content=[[Image:Gnome-dialog-password.svg|128px|right]]<big>'''Teil 3: Applikationen für die Systemsicherheit'''</big> :&nbsp; :In diesem Artikel geht es um die Nutzung und Konfiguration von Anwendungen für die Systemsicherheit. Das umfasst neben der laufenden System- und Anwendungsaktualisierung auch die Nutzung von Dritthersteller-Software. Auch wenn die Viren- und Wurmschwemme (noch) am Mac vorbeizieht, lohnt sich dennoch ein Blick auf die in diesem Bereich bereits verfügbare Software. }} {{Contentbox|width=100%|content=[[Image:Softies-icons-meter 256px.png|128px|right]]<big>'''Teil 4: Die alltägliche Nutzung'''</big> :&nbsp; :Hier sollen dem Anwender Hilfestellungen für die tägliche Arbeit am Mac gegeben werden. Gefahrenpotentiale werden aufgedeckt und bestimmte Verhaltensweisen für die sichere Nutzung beschrieben. Die dafür zu verwendenden Bordwerkzeuge des Betriebssystems werden dabei ebenso beschrieben wie wiederkehrende Aufgaben zur Bereinigung des Systems.}} {{Contentbox|width=100%|content=[[Image:Laptop icon.svg|128px|right]]<big>'''Teil 5: Sicher unterwegs - mobile Nutzung'''</big> :&nbsp; :In diesem Artikel geht es hauptsächlich um die mobile Nutzung, z.B. mit einem Notebook. Dabei sollen Möglichkeiten für Diebstahlsicherung und den Schutz der persönlichen Daten aufgezeigt werden, wofür auch zu diesem Zweck verfügbare Software vorgestellt wird.}} ----- Links zu Artikeln im Internet und anderen weiterführenden Informationen sind thematisch sortiert am Ende des jeweiligen Artikels im Abschnitt "Weitere Informationen" zu finden. Wünsche, Anregungen, Kritik und Fehlerhinweise sind wie immer willkommen und auf der Diskussionsseite des jeweiligen Artikels zu vermerken. Ich habe diese Artikelreihe begonnen, um einmal einen Gesamtüberblick über alle Möglichkeiten zu schaffen, die das Mac OS so in Sachen Security bietet. Ich werde mich nach und nach den einzelnen Artikel widmen, Themenvorschläge und Anregungen sind bitte so lange auf der Diskussionsseite dieses Artikels zu hinterlegen. __NOTOC__ 5fc88d52e5a5b9d5b07d4a994e3cadc4d563b2fe Mac OS X absichern 0 233 1233 2023-03-10T09:13:05Z Hagbard 2 Hagbard moved page [[Mac OS X absichern]] to [[MacOS absichern]]: Updated page title to current product names wikitext text/x-wiki #REDIRECT [[MacOS absichern]] af5c6d46d3a35161b4c12948f85369c475d29ca1 MacOS Login Screen 0 189 1234 948 2023-03-10T09:13:29Z Hagbard 2 Hagbard moved page [[Mac OS X Anmeldebildschirm]] to [[MacOS Login Screen]]: Updated page title to current product names wikitext text/x-wiki [[Category:OS]] ==Verhalten des Login-Fensters beeinflussen== === Eingabefeld "Benutzername" === Für den Anmeldebildschirm von Mac OS X existieren einige "hidden features", die mitunter recht praktisch sind. Über folgende Kommandos lassen sich diverse Aktionen ausführen, das Login-Fenster muss dazu natürlich in den Systemeinstellungen (Panel "Benutzer" > "Anmeldeoptionen") auf "Name und Kennwort" gesetzt sein. {| |-- bgcolor=#e2e2e2 ! width=100px|Kommando || width=200px|Wirkung || getestet mit Mac OS Version |-- | >shutdown || den Mac herunterfahren || 10.4 |-- | >restart || den Mac neustarten || 10.3, 10.4 |-- | >sleep || Ruhezustand || 10.4 |-- | >power || den Mac herunterfahren || 10.3, 10.4 {{Translucent|1=Unter 10.2 nicht getestet, sollte aber auch funktionieren}} |-- | >exit || den WindowServer neu starten || 10.3, 10.4 {{Translucent|1=Unter 10.2 nicht getestet, sollte aber auch funktionieren}} |-- | >console || in den Darwin Text-Mode wechseln ||10.3, 10.4 {{Translucent|1=Unter 10.2 nicht getestet, sollte aber auch funktionieren}} |} Herunterfahren und Neu starten kann man jedoch nicht im Login-Screen zum Benutzerwechsel sondern nur, wenn aktuell kein weiterer Benutzer angemeldet ist. === Script beim Anmelden ausführen === http://www.macosxhints.com/article.php?story=20050517210406483 === Systeminformationen anzeigen === Keine Ahnung in welchen Systemen das genau funktioniert, aber in 10.4.1 tut es: Bei click auf den Systemnamen unter dem Apfel und über der Userliste, wechselt die Anzeige auf: Hostname -> Version -> Build -> Seriennummer -> Datum -> Hostname Der Sinn dahinter ist wohl, dass der Applesupport direkt helfen kann, auch wenn der Benutzer sagt: "Ich kann mich nicht einloggen!" Das Funktioniert auch im Finder-Info-Fenster "Über diesen Mac" (erster Eintrag im Apfel-Menü) === Spracheinstellungen === Die Sprache im Anmeldebildschirm richtet sich nach der systemweiten Spracheinstellung, die bei der Installation von OS X gesetzt wird. Diese lässt sich mit Admin-Rechten und folgendem Terminal-Kommando jedoch jederzeit ändern und ist sofort wirksam: sudo languagesetup ==Login Tweaks== === Login Style ändern === Wie kann man von der Userliste auf User/Password wechseln per Shortcut? Die angegebene Kombination <KB>shift + opt + return</KB> funktioniert bei mir nicht! Die Umschaltung mittels <KB>shift + opt + return</KB> gibt es erst seit Tiger, unter 10.3 und davor existiert ein extra Button zum Umschalten. Außerdem funktioniert es offensichtlich nicht mit aktivem [http://wincent.com/a/products/winswitch/ WinSwitch]. ===Hintergrundbild ändern=== Das Login-Fenster benutzt als Hintergrundbild immer "Aqua Blue", das als 2560x1600 Pixel (Mac OS 10.4) große Grafikdatei dort zu finden ist: /Library/Desktop Pictures/Aqua Blue.jpg Um das Bild zu ändern, ist einfach diese Datei durch eine andere zu ersetzen. Alternativ lässt sich das auch in der Konfigurationsdatei /Library/Preferences/com.apple.loginwindow.plist ändern, indem ein Schlüssel namens "DesktopPicture" hinzugefügt wird. Das kann auch durch die Eingabe des folgenden Kommandos im Terminal erfolgen (alles in einer Zeile): sudo defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture -string "/Library/Desktop Pictures/Nature/Stones.jpg" Falls die Änderungen nicht sofort sichtbar werden, muss entweder der Mac neu gestartet oder der Prozess des loginwindow gekillt werden. ===Aktuelle Konfiguration des Login Fensters=== Die aktuellen Einstellungen des Login-Fensters befinden sich im Library-Ordner, und zwar z.B. dort: /Library/Preferences/com.apple.loginwindow.plist Dort sind unter anderem auch die folgenden Informationen zu finden: * Name des zuletzt angemeldeten Benutzers * Der aktuelle Status des Benutzers (z.B. "loggedIn") Außerdem lassen sich dort folgende Einstellungen vornehmen: * '''AdminHostInfo''': Info-Anzeige im Login-Fenster beeinflussen (default: Time) * '''HideAdminUsers''': Administratoren in der Benutzerliste verbergen (default: false) * '''HideLocalUsers''': Lokale Benutzer verbergen (default: false) * '''IncludeNetworkUser''': Netzwerkbenutzer anzeigen (default: false) * '''Kiosk''': Kiosk Mode (default: false - habe ich noch nicht getestet, keine Ahnung was das bewirkt) * '''PowerOffDisabled''': Button "Ausschalten" nicht anzeigen (default: no) * '''RetriesUntilHint''': Anzahl der Login Versuche, bis der Hinweistext erscheint (so denn der Benutzer einen in den Benutzereinstellungen angegeben hat; default: 0) * '''SHOWFULLNAME''': den vollständigen Namen anzeigen (default: yes) Wie sich die Werte im Pendant des Benutzerverzeichnisses genau zusammensetzen, konnte ich auf die Schnelle nicht ermitteln. die Datei befindet sich dort: /Users/BENUTZERNAME/Library/Preferences/com.apple.loginwindow.plist und beinhaltet die folgenden Schlüssel: * NSWindow Frame About This Mac * NSWindow Frame ProcessPanel Außerdem existiert noch die folgende Konfigurationsdatei, die offensichtlich für die beim Login automatisch zu startenden Anwendungen (Key AutoLaunchedApplicationDictionary) zuständig ist: /Users/BENUTZERNAME/Library/Preferences/loginwindow.plist Außerdem wird hier wohl auch die Darstellungsform der aktuellen Systemversion (Build Version und System Version) abgelegt ... ==Tools== Es existieren auch fertige Tools, die einige Login-Tweaks in einer graphischen Oberfläche zugänglich machen: * [http://www.bombich.com/software/lwm.html LoginWindow Manager] 2.0 (Freeware) bc5c9e216e9331edc953437b44042e2f11da57f3 Mac OS X Anmeldebildschirm 0 234 1235 2023-03-10T09:13:29Z Hagbard 2 Hagbard moved page [[Mac OS X Anmeldebildschirm]] to [[MacOS Login Screen]]: Updated page title to current product names wikitext text/x-wiki #REDIRECT [[MacOS Login Screen]] acdded7042b2648323a6df3b27f12f775a57583a MacOS Login Screen 0 189 1236 1234 2023-03-10T09:13:50Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Museum]] ==Verhalten des Login-Fensters beeinflussen== === Eingabefeld "Benutzername" === Für den Anmeldebildschirm von Mac OS X existieren einige "hidden features", die mitunter recht praktisch sind. Über folgende Kommandos lassen sich diverse Aktionen ausführen, das Login-Fenster muss dazu natürlich in den Systemeinstellungen (Panel "Benutzer" > "Anmeldeoptionen") auf "Name und Kennwort" gesetzt sein. {| |-- bgcolor=#e2e2e2 ! width=100px|Kommando || width=200px|Wirkung || getestet mit Mac OS Version |-- | >shutdown || den Mac herunterfahren || 10.4 |-- | >restart || den Mac neustarten || 10.3, 10.4 |-- | >sleep || Ruhezustand || 10.4 |-- | >power || den Mac herunterfahren || 10.3, 10.4 {{Translucent|1=Unter 10.2 nicht getestet, sollte aber auch funktionieren}} |-- | >exit || den WindowServer neu starten || 10.3, 10.4 {{Translucent|1=Unter 10.2 nicht getestet, sollte aber auch funktionieren}} |-- | >console || in den Darwin Text-Mode wechseln ||10.3, 10.4 {{Translucent|1=Unter 10.2 nicht getestet, sollte aber auch funktionieren}} |} Herunterfahren und Neu starten kann man jedoch nicht im Login-Screen zum Benutzerwechsel sondern nur, wenn aktuell kein weiterer Benutzer angemeldet ist. === Script beim Anmelden ausführen === http://www.macosxhints.com/article.php?story=20050517210406483 === Systeminformationen anzeigen === Keine Ahnung in welchen Systemen das genau funktioniert, aber in 10.4.1 tut es: Bei click auf den Systemnamen unter dem Apfel und über der Userliste, wechselt die Anzeige auf: Hostname -> Version -> Build -> Seriennummer -> Datum -> Hostname Der Sinn dahinter ist wohl, dass der Applesupport direkt helfen kann, auch wenn der Benutzer sagt: "Ich kann mich nicht einloggen!" Das Funktioniert auch im Finder-Info-Fenster "Über diesen Mac" (erster Eintrag im Apfel-Menü) === Spracheinstellungen === Die Sprache im Anmeldebildschirm richtet sich nach der systemweiten Spracheinstellung, die bei der Installation von OS X gesetzt wird. Diese lässt sich mit Admin-Rechten und folgendem Terminal-Kommando jedoch jederzeit ändern und ist sofort wirksam: sudo languagesetup ==Login Tweaks== === Login Style ändern === Wie kann man von der Userliste auf User/Password wechseln per Shortcut? Die angegebene Kombination <KB>shift + opt + return</KB> funktioniert bei mir nicht! Die Umschaltung mittels <KB>shift + opt + return</KB> gibt es erst seit Tiger, unter 10.3 und davor existiert ein extra Button zum Umschalten. Außerdem funktioniert es offensichtlich nicht mit aktivem [http://wincent.com/a/products/winswitch/ WinSwitch]. ===Hintergrundbild ändern=== Das Login-Fenster benutzt als Hintergrundbild immer "Aqua Blue", das als 2560x1600 Pixel (Mac OS 10.4) große Grafikdatei dort zu finden ist: /Library/Desktop Pictures/Aqua Blue.jpg Um das Bild zu ändern, ist einfach diese Datei durch eine andere zu ersetzen. Alternativ lässt sich das auch in der Konfigurationsdatei /Library/Preferences/com.apple.loginwindow.plist ändern, indem ein Schlüssel namens "DesktopPicture" hinzugefügt wird. Das kann auch durch die Eingabe des folgenden Kommandos im Terminal erfolgen (alles in einer Zeile): sudo defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture -string "/Library/Desktop Pictures/Nature/Stones.jpg" Falls die Änderungen nicht sofort sichtbar werden, muss entweder der Mac neu gestartet oder der Prozess des loginwindow gekillt werden. ===Aktuelle Konfiguration des Login Fensters=== Die aktuellen Einstellungen des Login-Fensters befinden sich im Library-Ordner, und zwar z.B. dort: /Library/Preferences/com.apple.loginwindow.plist Dort sind unter anderem auch die folgenden Informationen zu finden: * Name des zuletzt angemeldeten Benutzers * Der aktuelle Status des Benutzers (z.B. "loggedIn") Außerdem lassen sich dort folgende Einstellungen vornehmen: * '''AdminHostInfo''': Info-Anzeige im Login-Fenster beeinflussen (default: Time) * '''HideAdminUsers''': Administratoren in der Benutzerliste verbergen (default: false) * '''HideLocalUsers''': Lokale Benutzer verbergen (default: false) * '''IncludeNetworkUser''': Netzwerkbenutzer anzeigen (default: false) * '''Kiosk''': Kiosk Mode (default: false - habe ich noch nicht getestet, keine Ahnung was das bewirkt) * '''PowerOffDisabled''': Button "Ausschalten" nicht anzeigen (default: no) * '''RetriesUntilHint''': Anzahl der Login Versuche, bis der Hinweistext erscheint (so denn der Benutzer einen in den Benutzereinstellungen angegeben hat; default: 0) * '''SHOWFULLNAME''': den vollständigen Namen anzeigen (default: yes) Wie sich die Werte im Pendant des Benutzerverzeichnisses genau zusammensetzen, konnte ich auf die Schnelle nicht ermitteln. die Datei befindet sich dort: /Users/BENUTZERNAME/Library/Preferences/com.apple.loginwindow.plist und beinhaltet die folgenden Schlüssel: * NSWindow Frame About This Mac * NSWindow Frame ProcessPanel Außerdem existiert noch die folgende Konfigurationsdatei, die offensichtlich für die beim Login automatisch zu startenden Anwendungen (Key AutoLaunchedApplicationDictionary) zuständig ist: /Users/BENUTZERNAME/Library/Preferences/loginwindow.plist Außerdem wird hier wohl auch die Darstellungsform der aktuellen Systemversion (Build Version und System Version) abgelegt ... ==Tools== Es existieren auch fertige Tools, die einige Login-Tweaks in einer graphischen Oberfläche zugänglich machen: * [http://www.bombich.com/software/lwm.html LoginWindow Manager] 2.0 (Freeware) d3857023ae4f6b7f6dc33a08a907390fcbf85125 MacOS - Reset Password 0 188 1237 942 2023-03-10T09:14:05Z Hagbard 2 Hagbard moved page [[Mac OS X - Passwort zurücksetzen]] to [[MacOS - Reset Password]]: Updated page title to current product names wikitext text/x-wiki [[Category:OS]]{{Important|Bein Zurücksetzen von Passwörtern oder generell beim Durchführen von Wartungsarbeiten mit hilfe der Dienstprogramme auf Installations-/Wiederherstellungs-DVDs ist extem wichtig, dass die Mac OS X Hauptversion (z.B. 10.5) dieser DVDs '''dieselbe''' ist wie diejenige der Installation, die man bearbeiten möchte!}} Falls man dummerweise das Anmeldepasswort einer Mac OS X Installation vergessen haben sollte und sich somit selber ausgesperrt hat, gibt diverse weniger zeit- und nervenaufwändige Möglichkeiten als eine komplette Neuinstallation ==Mac OS X 10.6 und davor== === Verwendung der Installations-/Wiederherstellungs-DVDs === Diese Möglichkeit gibt es im Prinzip bei allen Mac OS X Versionen (zumindest seit 10.3/Panther), die können sich jedoch in Details voneinander unterscheiden (für 10.7 Lion [[#Mac OS X 10.7 (Lion)|siehe unten]]): # Von der DVD booten (siehe [[Startup_Key_Combinations|hier]]), durch Drücken folgender Taste beim Start des Mac:<KB>C</KB> # Die Installationsanwendung solange weiterführen, bis am oberen Bildschirmrand die Menüleiste verfügbar ist # Dort steht im Menü "Installer" der Eintrag "Reset Password ..." zur Verfügung, über den man die Kennwörter einzelner Benutzer neu setzen kann. Da der Schlüsselbund mit dem alten Passwort verschlüsselt ist, was man aus Sicherheitsgründen (ohne das alte Passwort zu kennen) nicht ändern kann, ist selbiges zu löschen, bevor man den alten Account mit den neuen Zugangsdaten nutzen kann. Dazu ist nach dem Neustart der Inhalt des Ordners ~/Library/Keychains innerhalb des Benutzerverzeichnisses (Home) zu löschen. Bei der nächsten Anmeldung wird dann automatisch ein neuer Schlüsselbund angelegt. === Ohne Verwendung von Installations-DVDs === Hier unterscheidet sich die Vorgehensweise von Version zu Version u.U. erheblich, daher wird an dieser Stelle auf folgenden (recht umfassenden) Artikel verwiesen: [http://www.macyourself.com/2009/08/03/how-to-reset-your-mac-os-x-password-without-an-installer-disc/ How to reset your Mac OS X password without an installer disc] (macyourself.com) === Letzte Möglichkeit: einen neuen Admin-Account anlegen === Um ein vergessenes Passwort ohne vorhandene Installations-DVD und ohne Systemlogin neu zu setzen, existiert nur der Umweg über den Single-User-Modus. Über diesen kann man dann anschließend die Passwörter der anderen Benutzer neu vergeben: # Mac OS X im Single-User Modus starten (siehe [[Startup_Key_Combinations|hier]]), dorthin gelangt man durch Drücken folgender Tastenkombination beim Start des Mac:<KB>apfel + S</KB> # dadurch gelangt man anschließend nicht in eine graphische Umgebung sondern bekommt lediglich eine Eingabeaufforderung präsentiert. # dort ist mit Hilfe folgender Kommandos ein neuer Admin-Benutzer anzulegen, dabei ist jede Zeile mit <KB>return</KB> zu bestätigen: <div style="margin-left:40px;"><source lang="bash"> mount -uw / rm /var/db/.AppleSetupDone shutdown -h now </source></div> Mit Hilfe dieses Admin-Benutzers kann man sich dann nach einem Neustart die Passwörter der anderen Benutzer neu vergeben/zurücksetzen. ==Mac OS X 10.7 (Lion)== Im Prinzip funktioniert dies unter Lion genau wie in früheren Versionen mit Hilfe der Installations-DVDs (siehe [[#Verwendung der Installations-/Wiederherstellungs-DVDs#|oben]]), jedoch mit zwei kleinen Unterschieden (anderer Boot-Modus, {{TT|resetpassword}} ist nicht direkt sondern nur über das Terminal zu erreichen): ===Recovery-Modus=== # im Recovery-Modus booten (siehe [[Startup_Key_Combinations|hier]]), dorthin gelangt man durch Drücken folgender Tastenkombination beim Start des Mac:<KB>apfel + R</kb> # Sobald das Installationsprogramm gestartet wurde (Auswahl von Time Machine Backup, Neuinstallation, ...), steht im Menü "Dienstprogramme" ("Utilities") das Terminal zur Verfügung. Dies ist nun zu starten # im Terminal folgendes eingeben und mit <KB>return</KB> bestätigen: <div style="margin-left:40px;"><source>resetpassword</source></div> Dadurch wird das Passwort zurückgesetzt und es wird ein Dienstprogramm geöffnet, mit dem man für einzelne Benutzer ein neues Passwort vergeben kann. Da der Schlüsselbund mit dem alten Passwort verschlüsselt ist, was man aus Sicherheitsgründen (ohne das alte Passwort zu kennen) nicht ändern kann, ist selbiges zu löschen, bevor man den alten Account mit den neuen Zugangsdaten nutzen kann. Dazu ist nach dem Neustart der Inhalt des Ordners ~/Library/Keychains innerhalb des Benutzerverzeichnisses (Home) zu löschen. Bei der nächsten Anmeldung wird dann automatisch ein neuer Schlüsselbund angelegt. ===Verwendung der Apple-ID=== Seit 10.7 existiert außerdem die Möglichkeit, das Passwort '''anhand der Apple-ID''' zurückzusetzen, diese Eigenschaft muss jedoch '''vorher''' bereits in den Benutzereinstellungen aktiviert sein (sie ist es standardmäßig nicht). ==Siehe auch== * Apple Support: [https://support.apple.com/en-us/HT202860 If you forgot your Mac login password] * Apple Support: [https://support.apple.com/en-us/HT212190 If you can't reset your Mac login password] * [http://www.macyourself.com/2009/08/03/how-to-reset-your-mac-os-x-password-without-an-installer-disc/ How to reset your Mac OS X password without an installer disc] (macyourself.com) a839c38647b60d43402aca3619a8289b7062baaf Mac OS X - Passwort zurücksetzen 0 235 1238 2023-03-10T09:14:05Z Hagbard 2 Hagbard moved page [[Mac OS X - Passwort zurücksetzen]] to [[MacOS - Reset Password]]: Updated page title to current product names wikitext text/x-wiki #REDIRECT [[MacOS - Reset Password]] 45a74cf63ff0c7dc6336be46eb5da0a4df0bc3b0 Main Page 0 1 1239 363 2023-03-10T09:15:53Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. For the time being the old wiki will still be around here: [http://www.macwrench.de macwrench.de], but new edits will most likely go in here. [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) {| style="width:100%; border: 1px solid ButtonBorder; padding:10px;" |-- | colspan="3" | '''Important articles:''' || rowspan="7" style="width:148px" | [[Image:W21-1a.svg|128px|right]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|24px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''External resources:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|18px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|18px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} {| style="width:100%; border: 1px solid ButtonBorder; padding:10px; margin-top:16px;" |-- ! '''Important categories:''' |-- | style="text-align:center;" | [[:Category:OS|Operating System]] &bull; [[:Category:Development|Development]] &bull; [[:Category:Terminal|Terminal]] &bull; [[:Category:Networking|Networking]] &bull; [[:Category:Hints|Hints]]<hr/>[[:Category:Museum|Museum]] &bull; [[:Category:Verify|Verify]] &bull; [[:Category:Translate|Translate]]<br/>[[Special:Categories|All categories]] |} 146bbbc71ee21b2cde43784c9485fa3271e6b2fb 1240 1239 2023-03-10T09:16:28Z Hagbard 2 wikitext text/x-wiki [[Category:Misc]] [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. For the time being the old wiki will still be around here: [http://www.macwrench.de macwrench.de], but new edits will most likely go in here. [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) {| style="width:100%; border: 1px solid ButtonBorder; padding:10px;" |-- | colspan="3" | '''Important articles:''' || rowspan="7" style="width:148px" | [[Image:W21-1a.svg|128px|right]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|24px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''External resources:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|18px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|18px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} {| style="width:100%; border: 1px solid ButtonBorder; padding:10px; margin-top:16px;" |-- ! '''Important categories:''' |-- | style="text-align:center;" | [[:Category:OS|Operating System]] &bull; [[:Category:Development|Development]] &bull; [[:Category:Terminal|Terminal]] &bull; [[:Category:Networking|Networking]] &bull; [[:Category:Hint|Hints]]<hr/>[[:Category:Museum|Museum]] &bull; [[:Category:Verify|Verify]] &bull; [[:Category:Translate|Translate]]<br/>[[Special:Categories|All categories]] |} ff5bc7d9a5275801dd892e9f6cc40c4079d24667 1243 1240 2023-03-10T09:27:47Z Hagbard 2 wikitext text/x-wiki [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. For the time being the old wiki will still be around here: [http://www.macwrench.de macwrench.de], but new edits will most likely go in here. [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) {| style="width:100%; border: 1px solid ButtonBorder; padding:10px;" |-- | colspan="3" | '''Important articles:''' || rowspan="7" style="width:148px" | [[Image:W21-1a.svg|128px|right]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|24px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''External resources:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|18px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|18px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} {| style="width:100%; border: 1px solid ButtonBorder; padding:10px; margin-top:16px;" |-- ! '''Important categories:''' |-- | style="text-align:center;" | [[:Category:OS|Operating System]] &bull; [[:Category:Development|Development]] &bull; [[:Category:Terminal|Terminal]] &bull; [[:Category:Networking|Networking]] &bull; [[:Category:Hint|Hints]]<hr/>[[:Category:Museum|Museum]] &bull; [[:Category:Verify|Verify]] &bull; [[:Category:Translate|Translate]]<br/>[[Special:Categories|All categories]] |} 749f7c43a7cad7fa967c6a96a7cdf42e79fa0d38 Category:TeX 14 236 1241 2023-03-10T09:18:44Z Hagbard 2 Created page with "Tips, Tricks, and Code Samples about Typesetting, Formatting, and Layout of *TeX Documents (e.g. LaTeX)" wikitext text/x-wiki Tips, Tricks, and Code Samples about Typesetting, Formatting, and Layout of *TeX Documents (e.g. LaTeX) be17ef799a84025e270598998aa68864ec4e1074 Netzwerktopologien 0 238 1244 2023-03-11T09:28:36Z Hagbard 2 Created page with "[[Category:Networking]] ==Netzwerktopologien== Eine Netzwerktopologie beschreibt in erster Linie den strukturellen Aufbau eines Netzwerkes und die damit verbundenen Eigenschaften, beispielsweise hinsichtlich * Ausfallsicherheit * Erweiterbarkeit / Skalierbarkeit * Performance * Anschaffungs- und Betriebskosten * Wegfindung durch das Netzwerk ([[wikipedia:Routing|Routing]]) Desweiteren wird zwischen ''physischen Topologien'' (die Verkabelung der Komponenten) und ''logisch..." wikitext text/x-wiki [[Category:Networking]] ==Netzwerktopologien== Eine Netzwerktopologie beschreibt in erster Linie den strukturellen Aufbau eines Netzwerkes und die damit verbundenen Eigenschaften, beispielsweise hinsichtlich * Ausfallsicherheit * Erweiterbarkeit / Skalierbarkeit * Performance * Anschaffungs- und Betriebskosten * Wegfindung durch das Netzwerk ([[wikipedia:Routing|Routing]]) Desweiteren wird zwischen ''physischen Topologien'' (die Verkabelung der Komponenten) und ''logischen Topologien'' (der Datenfluss und die logische, abstrahierte Sicht auf die Geräte) unterschieden. In diesem Artikel soll zunächst eine kürze Übersicht über die aktuellen und historisch wichtigen Netzwerktopologien gegeben werden, auch wenn heute im SOHO-Bereich eigentlich nur noch das [[Ethernet]] eine Rolle spielt. ==logische Topologien== ===Token Ring=== Token Ring ist ein [[#Ring|Ringnetzwerk]] mit 4 bzw. 16 Mbit. Die Vollauslastung des Netzwerks liegt im Gegensatz zu [[#Ethernet|Ethernet]] bei 90-95%, d.h. ein 4Mbit Token Ring Netzwerk entspricht bzgl. Durchsatz und Bandbreite einem 10Mbit Ethernet Netzwerk. Dabei wandert ein Token im Ring. Diejenige Station, die den Token hat, darf senden. Ein Master-Controller verwaltet dabei den Token (Dauer des Sendens, etc.) und sorgt für eine dauernde Wanderung des Tokens im Ring. '''Vorteile:''' * deterministisches Verhalten des Netzwerks, d.h. der Durchsatz zwischen zwei Stationen kann eher nachvollzogen werden als bei Ethernet. * höhere Effizienz und Netzauslastung '''Nachteile:''' Token Ring hat sich allerdings aus den folgenden Gründen nicht durchsetzen können: * komplexe, komplizierte Technik (vor allem hinsichtlich der Software-Implementierung) * aufwändigere Verkabelung ===FDDI=== FDDI ist prinzipiell vergleichbar mit Token Ring, da es sich hier ebenfalls um ein Ringnetzwerk handelt. Hier geschieht die Verkabelung jedoch auf optischer Basis mittels Lichtwellenleiter (LWL), die Durchsatzraten liegen dadurch wesentlich höher (100Mbit) und es können größere Entfernungen überbrückt werden. Anwendung findet diese Technik insbesondere in High-Performance-Netzwerken mit großen Strecken zwischen den Knoten - beispielsweise ist das Hochschulentzwerk [http://www.belwue.de/ BelWue] ein auf einem doppelten FDDI-Ring basierendes ATM-Netzwerk. ===Ethernet=== Ethernet stellt eine verbindungslose Kommunikation dar, da zwischen zwei Kommunikationspartnern keine dedizierte Verbindung aufgebaut wird sondern die Pakete (mindestens 1500 Byte groß) mit Adressinformationen versehen über einen Bus geschickt werden (wurde von Xerox entwickelt). Ethernet verwendet dabei das CSMA/CD (Carrier Sense Multiple Access/Collision Detection) Verfahren, um bestimmte Zugriffsverfahren auf diesen Bus zu vereinbaren. Es bedeutet, dass nur einer gleichzeitig auf den Bus zugreifen kann. Wenn dies mehrere Teilnehmer gleichzeitig versuchen (Collision), warten diese eine unterschiedliche Zeit lang aufeinander und versuchen es dann erneut (Collision Detection). Dieser Zeitraum wird nach jeder Collision länger. Eine Collision Rate von 10% ist dabei grenzwertig und bedeutet eine Vollauslastung des Netzwerks. '''Vorteile:''' * Statisches Zugriffsverfahren * Einfache Handhabung (Verkabelung, Technik – 50&#937; Koax-Kabel) * bei 50&#937; Koax-Kabel: maximal 150m Leitungslänge * bei 75&#937; Koax-Kabel: maximal 500m Leitungslänge '''Nachteile:''' * keine Kollisionsvorbeugung (nur Kollisionserkennung) * dadurch relativ undeterministisches Verhalten * nur sehr kurze Strecken können ohne Repeater / Verstärker überbrückt werden '''Verschiedene Formen des Ethernet:''' * Thin (Wire) Ethernet - 10Base2 (Bus, Koaxialkabel) * Thick Ethernet - 10Base5 (Bus, Koaxialkabel) * 10BaseT (Stern, TP/LWL) * Fast-Ethernet - 100Base* (Stern, TP) * Gigabit-Ethernet - 1000Base* (Stern, TP/LWL) * 10 Gigabit-Ethernet - 10000Base* (Stern, TP/LWL) ''Mehr dazu im [[Ethernet]]-Artikel oder in der [http://de.wikipedia.org/wiki/Ethernet Wikipedia]'' ==physische Topologien== ===Bus=== ===Ring=== ===Stern=== ===Zellen=== ==weiterführende Informationen== 00ed317c8fbd5bba0ece4965b12a73f8c82fe2da 1245 1244 2023-03-11T09:29:03Z Hagbard 2 wikitext text/x-wiki [[Category:Networking]][[Category:Finish]] ==Netzwerktopologien== Eine Netzwerktopologie beschreibt in erster Linie den strukturellen Aufbau eines Netzwerkes und die damit verbundenen Eigenschaften, beispielsweise hinsichtlich * Ausfallsicherheit * Erweiterbarkeit / Skalierbarkeit * Performance * Anschaffungs- und Betriebskosten * Wegfindung durch das Netzwerk ([[wikipedia:Routing|Routing]]) Desweiteren wird zwischen ''physischen Topologien'' (die Verkabelung der Komponenten) und ''logischen Topologien'' (der Datenfluss und die logische, abstrahierte Sicht auf die Geräte) unterschieden. In diesem Artikel soll zunächst eine kürze Übersicht über die aktuellen und historisch wichtigen Netzwerktopologien gegeben werden, auch wenn heute im SOHO-Bereich eigentlich nur noch das [[Ethernet]] eine Rolle spielt. ==logische Topologien== ===Token Ring=== Token Ring ist ein [[#Ring|Ringnetzwerk]] mit 4 bzw. 16 Mbit. Die Vollauslastung des Netzwerks liegt im Gegensatz zu [[#Ethernet|Ethernet]] bei 90-95%, d.h. ein 4Mbit Token Ring Netzwerk entspricht bzgl. Durchsatz und Bandbreite einem 10Mbit Ethernet Netzwerk. Dabei wandert ein Token im Ring. Diejenige Station, die den Token hat, darf senden. Ein Master-Controller verwaltet dabei den Token (Dauer des Sendens, etc.) und sorgt für eine dauernde Wanderung des Tokens im Ring. '''Vorteile:''' * deterministisches Verhalten des Netzwerks, d.h. der Durchsatz zwischen zwei Stationen kann eher nachvollzogen werden als bei Ethernet. * höhere Effizienz und Netzauslastung '''Nachteile:''' Token Ring hat sich allerdings aus den folgenden Gründen nicht durchsetzen können: * komplexe, komplizierte Technik (vor allem hinsichtlich der Software-Implementierung) * aufwändigere Verkabelung ===FDDI=== FDDI ist prinzipiell vergleichbar mit Token Ring, da es sich hier ebenfalls um ein Ringnetzwerk handelt. Hier geschieht die Verkabelung jedoch auf optischer Basis mittels Lichtwellenleiter (LWL), die Durchsatzraten liegen dadurch wesentlich höher (100Mbit) und es können größere Entfernungen überbrückt werden. Anwendung findet diese Technik insbesondere in High-Performance-Netzwerken mit großen Strecken zwischen den Knoten - beispielsweise ist das Hochschulentzwerk [http://www.belwue.de/ BelWue] ein auf einem doppelten FDDI-Ring basierendes ATM-Netzwerk. ===Ethernet=== Ethernet stellt eine verbindungslose Kommunikation dar, da zwischen zwei Kommunikationspartnern keine dedizierte Verbindung aufgebaut wird sondern die Pakete (mindestens 1500 Byte groß) mit Adressinformationen versehen über einen Bus geschickt werden (wurde von Xerox entwickelt). Ethernet verwendet dabei das CSMA/CD (Carrier Sense Multiple Access/Collision Detection) Verfahren, um bestimmte Zugriffsverfahren auf diesen Bus zu vereinbaren. Es bedeutet, dass nur einer gleichzeitig auf den Bus zugreifen kann. Wenn dies mehrere Teilnehmer gleichzeitig versuchen (Collision), warten diese eine unterschiedliche Zeit lang aufeinander und versuchen es dann erneut (Collision Detection). Dieser Zeitraum wird nach jeder Collision länger. Eine Collision Rate von 10% ist dabei grenzwertig und bedeutet eine Vollauslastung des Netzwerks. '''Vorteile:''' * Statisches Zugriffsverfahren * Einfache Handhabung (Verkabelung, Technik – 50&#937; Koax-Kabel) * bei 50&#937; Koax-Kabel: maximal 150m Leitungslänge * bei 75&#937; Koax-Kabel: maximal 500m Leitungslänge '''Nachteile:''' * keine Kollisionsvorbeugung (nur Kollisionserkennung) * dadurch relativ undeterministisches Verhalten * nur sehr kurze Strecken können ohne Repeater / Verstärker überbrückt werden '''Verschiedene Formen des Ethernet:''' * Thin (Wire) Ethernet - 10Base2 (Bus, Koaxialkabel) * Thick Ethernet - 10Base5 (Bus, Koaxialkabel) * 10BaseT (Stern, TP/LWL) * Fast-Ethernet - 100Base* (Stern, TP) * Gigabit-Ethernet - 1000Base* (Stern, TP/LWL) * 10 Gigabit-Ethernet - 10000Base* (Stern, TP/LWL) ''Mehr dazu im [[Ethernet]]-Artikel oder in der [http://de.wikipedia.org/wiki/Ethernet Wikipedia]'' ==physische Topologien== ===Bus=== ===Ring=== ===Stern=== ===Zellen=== ==weiterführende Informationen== d96d29d44edfdef0df14efe1aea42d3d4aa8030d Eject unmounted CD/DVD 0 239 1246 2023-03-11T09:29:49Z Hagbard 2 Created page with "[[Category:OS]][[Category:Terminal]][[Category:Hint]]Hin und wieder kommt es (leider) vor, dass nach dem Brennen einer CD oder DVD selbige weder ausgeworfen noch auf dem Desktop gemountet wird. Für solche Fälle "hängengebliebener" CDs/DVDs bieten sich folgende Möglichkeiten an: ==Dienstprogramme== ===Festplatten-Dienstprogramm=== Manchmal erscheint das Volume noch im Festplatten-Dienstprogramm (Disk Utility, zu finden unter Dienstprogramme_und_ihre_Terminal-Äquiv..." wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]]Hin und wieder kommt es (leider) vor, dass nach dem Brennen einer CD oder DVD selbige weder ausgeworfen noch auf dem Desktop gemountet wird. Für solche Fälle "hängengebliebener" CDs/DVDs bieten sich folgende Möglichkeiten an: ==Dienstprogramme== ===Festplatten-Dienstprogramm=== Manchmal erscheint das Volume noch im Festplatten-Dienstprogramm (Disk Utility, zu finden unter [[Dienstprogramme_und_ihre_Terminal-Äquivalente|{{TT|/Programme/Dienstprogramme}}]]), dann lässt es sich dort über die Toolbar oder das Menü "Ablage" auswerfen. ==[[:Category:Terminal|Terminal]]-Kommandos== ==={{Man|drutil|drutil}}=== Über das Terminal-Programm {{TT|drutil}} lässt sich ein CD/DVD-Medium wie folgt auswerfen: drutil eject Über das folgende Kommando lässt sich dabei eine Liste der Laufwerke (zweites Kommando: Medien) sowie deren aktueller Status erfragen: drutil info drutil discinfo Wenn hier als Status "busy" steht, ist die Wahrscheinlichkeit groß, dass entweder das Brennprogramm noch läuft und die CD/DVD einfach nicht freigibt, sie aber auch nicht mountet. Oder aber das Programm wurde nicht sauber beendet (ist abgestürzt?), läuft im Hintergrund als Zombie-Prozess weiter und blockiert das Laufwerk. In letzterem Fall ist im Terminal über ps -ax | grep APPNAME die Prozess-ID (erste Spalte) herauszufinden, die dann mit folgendem Kommando gekillt wird: kill -9 PID ==={{Man|disktool|disktool}}=== Falls das fehlschlägt oder das Volume nicht angezeigt wird, kann man mit folgendem Kommando im Terminal das Laufwerk herausfinden: disktool -l Und anschließend versuchen, es auszuwerfen disktool -e diskN wobei N durch die jeweilige (fortlaufende) Nummer des Geräts zu ersetzen ist. ;Siehe auch * Manpage von {{Man|disktool|disktool}} ===[[Hdiutil|hdiutil]]=== Mit folgendem Terminal-Kommando lässt sich evtl. alternativ die CD/DVD dazu bewegen, das Laufwerk zu verlassen: hdiutil detach /dev/rdiskN hdiutil detach /dev/rdiskN -force wobei N durch die jeweilige (fortlaufende) Nummer des Geräts zu ersetzen ist und das {{TT|-force}} bewirkt, dass auf ggf. geöffnete Dateien keine Rücksicht genommen wird. ;Siehe auch * Artikel über [[hdiutil]] * Manpage von {{Man|hdiutil|hdiutil}} ==Weitere Tipps== ===Menu Extra "Eject"=== Im Systemverzeichnis /System/Library/CoreServices/Menu Extras/ befinden sich eine ganze Menge zusätzlicher Menü-Extras, die durch Doppelklick entsprechende Einträge im Hauptmenü oben rechts erzeugen. Eines davon ist {{TT|'''Eject.menu'''}} dessen Funktion hier wahrscheinlich keiner weiteren Beschreibung bedarf ... ;-) ===Beim Neustart auswerfen=== Wenn alles nichts hilft, muss der Mac neugestartet werden. Beim Einschalten ist dabei von Anfang an die <u>linke Maustaste</u> oder alternativ die <KB>EJECT</KB> Taste gedrückt zu halten, bis das Laufwerk die CD/DVD wieder ausspuckt ;Siehe auch * [[Startup_Key_Combinations|Startup Key Combintations]] ===Weitere Tipps=== * Hin und wieder soll es auch geholfen haben, den Mac einfach schlafenzulegen und anschließend wieder aufzuwecken. Danach ist die CD/DVD dann plötzlich wieder auf dem Desktop erschienen. * auf [http://www.macosxhints.com/ macosxhints.com] wurde ein [http://www.macosxhints.com/article.php?story=20031203232530190 Perl Skript veröffentlicht], das mit Hilfe des {{Man|disktool|disktool}} versucht, solche hängengebliebenen CDs/DVDs auszuwerfen (nicht getestet, Verwendung auf eigene Gefahr!) ==Weitere Informationen== * [[Hdiutil#Gerätenamen von CD-/DVD-Laufwerken|Gerätenamen von CD-/DVD-Laufwerken]] im Artikel über [[hdiutil]] * [http://www.kainjow.com/ Semulov]: eine (kostenlose) Menüleisten-App zum Wiedereinhängen gerade nicht gemounteter aber noch angeschlossener Laufwerke ad3123ce27d4cc72ce1ceaacf1a085d62bf8cdb6 1247 1246 2023-03-11T09:30:22Z Hagbard 2 Hagbard moved page [[Nicht gemountete DVD auswerfen]] to [[Nicht mehr eingehängte CD/DVD auswerfen]] wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]]Hin und wieder kommt es (leider) vor, dass nach dem Brennen einer CD oder DVD selbige weder ausgeworfen noch auf dem Desktop gemountet wird. Für solche Fälle "hängengebliebener" CDs/DVDs bieten sich folgende Möglichkeiten an: ==Dienstprogramme== ===Festplatten-Dienstprogramm=== Manchmal erscheint das Volume noch im Festplatten-Dienstprogramm (Disk Utility, zu finden unter [[Dienstprogramme_und_ihre_Terminal-Äquivalente|{{TT|/Programme/Dienstprogramme}}]]), dann lässt es sich dort über die Toolbar oder das Menü "Ablage" auswerfen. ==[[:Category:Terminal|Terminal]]-Kommandos== ==={{Man|drutil|drutil}}=== Über das Terminal-Programm {{TT|drutil}} lässt sich ein CD/DVD-Medium wie folgt auswerfen: drutil eject Über das folgende Kommando lässt sich dabei eine Liste der Laufwerke (zweites Kommando: Medien) sowie deren aktueller Status erfragen: drutil info drutil discinfo Wenn hier als Status "busy" steht, ist die Wahrscheinlichkeit groß, dass entweder das Brennprogramm noch läuft und die CD/DVD einfach nicht freigibt, sie aber auch nicht mountet. Oder aber das Programm wurde nicht sauber beendet (ist abgestürzt?), läuft im Hintergrund als Zombie-Prozess weiter und blockiert das Laufwerk. In letzterem Fall ist im Terminal über ps -ax | grep APPNAME die Prozess-ID (erste Spalte) herauszufinden, die dann mit folgendem Kommando gekillt wird: kill -9 PID ==={{Man|disktool|disktool}}=== Falls das fehlschlägt oder das Volume nicht angezeigt wird, kann man mit folgendem Kommando im Terminal das Laufwerk herausfinden: disktool -l Und anschließend versuchen, es auszuwerfen disktool -e diskN wobei N durch die jeweilige (fortlaufende) Nummer des Geräts zu ersetzen ist. ;Siehe auch * Manpage von {{Man|disktool|disktool}} ===[[Hdiutil|hdiutil]]=== Mit folgendem Terminal-Kommando lässt sich evtl. alternativ die CD/DVD dazu bewegen, das Laufwerk zu verlassen: hdiutil detach /dev/rdiskN hdiutil detach /dev/rdiskN -force wobei N durch die jeweilige (fortlaufende) Nummer des Geräts zu ersetzen ist und das {{TT|-force}} bewirkt, dass auf ggf. geöffnete Dateien keine Rücksicht genommen wird. ;Siehe auch * Artikel über [[hdiutil]] * Manpage von {{Man|hdiutil|hdiutil}} ==Weitere Tipps== ===Menu Extra "Eject"=== Im Systemverzeichnis /System/Library/CoreServices/Menu Extras/ befinden sich eine ganze Menge zusätzlicher Menü-Extras, die durch Doppelklick entsprechende Einträge im Hauptmenü oben rechts erzeugen. Eines davon ist {{TT|'''Eject.menu'''}} dessen Funktion hier wahrscheinlich keiner weiteren Beschreibung bedarf ... ;-) ===Beim Neustart auswerfen=== Wenn alles nichts hilft, muss der Mac neugestartet werden. Beim Einschalten ist dabei von Anfang an die <u>linke Maustaste</u> oder alternativ die <KB>EJECT</KB> Taste gedrückt zu halten, bis das Laufwerk die CD/DVD wieder ausspuckt ;Siehe auch * [[Startup_Key_Combinations|Startup Key Combintations]] ===Weitere Tipps=== * Hin und wieder soll es auch geholfen haben, den Mac einfach schlafenzulegen und anschließend wieder aufzuwecken. Danach ist die CD/DVD dann plötzlich wieder auf dem Desktop erschienen. * auf [http://www.macosxhints.com/ macosxhints.com] wurde ein [http://www.macosxhints.com/article.php?story=20031203232530190 Perl Skript veröffentlicht], das mit Hilfe des {{Man|disktool|disktool}} versucht, solche hängengebliebenen CDs/DVDs auszuwerfen (nicht getestet, Verwendung auf eigene Gefahr!) ==Weitere Informationen== * [[Hdiutil#Gerätenamen von CD-/DVD-Laufwerken|Gerätenamen von CD-/DVD-Laufwerken]] im Artikel über [[hdiutil]] * [http://www.kainjow.com/ Semulov]: eine (kostenlose) Menüleisten-App zum Wiedereinhängen gerade nicht gemounteter aber noch angeschlossener Laufwerke ad3123ce27d4cc72ce1ceaacf1a085d62bf8cdb6 1249 1247 2023-03-11T09:30:42Z Hagbard 2 Hagbard moved page [[Nicht mehr eingehängte CD/DVD auswerfen]] to [[Eject unmounted CD/DVD]] wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]]Hin und wieder kommt es (leider) vor, dass nach dem Brennen einer CD oder DVD selbige weder ausgeworfen noch auf dem Desktop gemountet wird. Für solche Fälle "hängengebliebener" CDs/DVDs bieten sich folgende Möglichkeiten an: ==Dienstprogramme== ===Festplatten-Dienstprogramm=== Manchmal erscheint das Volume noch im Festplatten-Dienstprogramm (Disk Utility, zu finden unter [[Dienstprogramme_und_ihre_Terminal-Äquivalente|{{TT|/Programme/Dienstprogramme}}]]), dann lässt es sich dort über die Toolbar oder das Menü "Ablage" auswerfen. ==[[:Category:Terminal|Terminal]]-Kommandos== ==={{Man|drutil|drutil}}=== Über das Terminal-Programm {{TT|drutil}} lässt sich ein CD/DVD-Medium wie folgt auswerfen: drutil eject Über das folgende Kommando lässt sich dabei eine Liste der Laufwerke (zweites Kommando: Medien) sowie deren aktueller Status erfragen: drutil info drutil discinfo Wenn hier als Status "busy" steht, ist die Wahrscheinlichkeit groß, dass entweder das Brennprogramm noch läuft und die CD/DVD einfach nicht freigibt, sie aber auch nicht mountet. Oder aber das Programm wurde nicht sauber beendet (ist abgestürzt?), läuft im Hintergrund als Zombie-Prozess weiter und blockiert das Laufwerk. In letzterem Fall ist im Terminal über ps -ax | grep APPNAME die Prozess-ID (erste Spalte) herauszufinden, die dann mit folgendem Kommando gekillt wird: kill -9 PID ==={{Man|disktool|disktool}}=== Falls das fehlschlägt oder das Volume nicht angezeigt wird, kann man mit folgendem Kommando im Terminal das Laufwerk herausfinden: disktool -l Und anschließend versuchen, es auszuwerfen disktool -e diskN wobei N durch die jeweilige (fortlaufende) Nummer des Geräts zu ersetzen ist. ;Siehe auch * Manpage von {{Man|disktool|disktool}} ===[[Hdiutil|hdiutil]]=== Mit folgendem Terminal-Kommando lässt sich evtl. alternativ die CD/DVD dazu bewegen, das Laufwerk zu verlassen: hdiutil detach /dev/rdiskN hdiutil detach /dev/rdiskN -force wobei N durch die jeweilige (fortlaufende) Nummer des Geräts zu ersetzen ist und das {{TT|-force}} bewirkt, dass auf ggf. geöffnete Dateien keine Rücksicht genommen wird. ;Siehe auch * Artikel über [[hdiutil]] * Manpage von {{Man|hdiutil|hdiutil}} ==Weitere Tipps== ===Menu Extra "Eject"=== Im Systemverzeichnis /System/Library/CoreServices/Menu Extras/ befinden sich eine ganze Menge zusätzlicher Menü-Extras, die durch Doppelklick entsprechende Einträge im Hauptmenü oben rechts erzeugen. Eines davon ist {{TT|'''Eject.menu'''}} dessen Funktion hier wahrscheinlich keiner weiteren Beschreibung bedarf ... ;-) ===Beim Neustart auswerfen=== Wenn alles nichts hilft, muss der Mac neugestartet werden. Beim Einschalten ist dabei von Anfang an die <u>linke Maustaste</u> oder alternativ die <KB>EJECT</KB> Taste gedrückt zu halten, bis das Laufwerk die CD/DVD wieder ausspuckt ;Siehe auch * [[Startup_Key_Combinations|Startup Key Combintations]] ===Weitere Tipps=== * Hin und wieder soll es auch geholfen haben, den Mac einfach schlafenzulegen und anschließend wieder aufzuwecken. Danach ist die CD/DVD dann plötzlich wieder auf dem Desktop erschienen. * auf [http://www.macosxhints.com/ macosxhints.com] wurde ein [http://www.macosxhints.com/article.php?story=20031203232530190 Perl Skript veröffentlicht], das mit Hilfe des {{Man|disktool|disktool}} versucht, solche hängengebliebenen CDs/DVDs auszuwerfen (nicht getestet, Verwendung auf eigene Gefahr!) ==Weitere Informationen== * [[Hdiutil#Gerätenamen von CD-/DVD-Laufwerken|Gerätenamen von CD-/DVD-Laufwerken]] im Artikel über [[hdiutil]] * [http://www.kainjow.com/ Semulov]: eine (kostenlose) Menüleisten-App zum Wiedereinhängen gerade nicht gemounteter aber noch angeschlossener Laufwerke ad3123ce27d4cc72ce1ceaacf1a085d62bf8cdb6 Nicht gemountete DVD auswerfen 0 240 1248 2023-03-11T09:30:22Z Hagbard 2 Hagbard moved page [[Nicht gemountete DVD auswerfen]] to [[Nicht mehr eingehängte CD/DVD auswerfen]] wikitext text/x-wiki #REDIRECT [[Nicht mehr eingehängte CD/DVD auswerfen]] 69cd68eba34d63258ce02a56790ef5c7d49db5b6 Nicht mehr eingehängte CD/DVD auswerfen 0 241 1250 2023-03-11T09:30:42Z Hagbard 2 Hagbard moved page [[Nicht mehr eingehängte CD/DVD auswerfen]] to [[Eject unmounted CD/DVD]] wikitext text/x-wiki #REDIRECT [[Eject unmounted CD/DVD]] bd57734685d399c9ae35c14f14535c1ed16c1252 OS X App aus Xcode in anderer Sprache und Locale starten 0 287 1561 1560 2023-03-15T07:51:30Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Development]][[Category:Hint]]Beim Entwickeln lokalisierter OS X Programme mit Xcode muss man zum Verifizieren der lokalisierten Oberfläche das Programm des öfteren auch in anderen Sprachen testen. Der übliche weg über das Umstellen der Sprache in den Systemeinstellungen oder das Verwenden von Hilfsprogrammen wie [http://www.tj-hd.co.uk/en-gb/languageswitcher/ Language Switcher] ist jedoch recht umständlich. ==im {{Terminal}}== Einfacher geht es durch den Start mit folgendem Startparameter: <source> -AppleLanguages "(German, English)" </source> also z.B.: <source> /Applications/Calendar.app/Contents/MacOS/Calendar -AppleLanguages "(German,English)" </source> Die Anführungszeichen sind dabei nur notwendig, wenn mehrere Sprachen angegeben werden sollen (für die Reihenfolge von Ersatzsprachen). Analog dazu lassen sich auch verschieden Locales testen, und zwar mit folgendem Parameter: <source> -AppleLocale en_GB </source> Für die Verwendung im Terminal ist zu beachten, dass das Terminal-Kommando {{TT|1={{Man|open|open}}}} hierzu offenbar '''nicht''' verwendet werden kann. == mit Xcode == [[Image:Xcode_SchemeEditor_Languages.png|right|{{TT|-AppleLanguages}} Startparameter in Xcode|thumb]]Um das nun direkt von Xcode durchführen zu lassen, sind folgende Schritte notwendig: # "manage schemes..." aufrufen (Schema-Verwaltung) # das jeweilige Schema auswählen # dort unter "Run" in das Tab "Arguments" wechseln # in die Liste "Arguments Passed On Launch" einen Eintrag mit diesem Parameter erstellen (siehe Screenshot rechts) Für einen einfachen Wechsel zwischen mehreren Sprachen können auch mehrere Schemata erzeugt werden, die dann im Xcode-Hauptfenster direkt ausgewählt werden können. [[Image:Xcode_SchemeEditor_Options.png|right|Neuere Xcode-Versionen erlauben die Konfiguration von Region und Sprache über Auswahlfelder|thumb]] 0250a61ab94105faac987fdb41b392bfa3d808f4 OS X Installationsmedium erstellen (Mac App Store) 0 288 1563 1562 2023-03-15T07:51:30Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[MacOS Installationsmedium erstellen (Mac App Store)]] 638b5052621fe5e38e142382dbf72d7f785dc805 OS X Lion - Uhrzeitformat im Lockscreen 0 289 1565 1564 2023-03-15T07:51:30Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:OS]][[Category:Hint]]Auf einigen OS X Lion Installationen tritt offenbar das Problem auf, dass im Sperrbildschirm (z.B. bei aktivierter Passwortabfrage nach dem Beenden des Ruhezustands) die Uhr rechts oben im falschen Format angezeigt wird. Nicht wirklich lebensbedrohlich, aber irgendwie lästig. Um das zu beheben, sind allerdings Admin-Rechte und der Gebrauch des Terminals notwendig. Zuerst wird die zu verwendende Locale gesetzt: sudo defaults write /var/root/Library/Preferences/.GlobalPreferences AppleLocale de_DE Anschließend kann man entweder den Mac neu starten, oder eine erzwungene Neuanmeldung über die Eingabe des folgenden Kommandos veranlassen. Dazu ist zuerst die Prozess-ID (pid) von "{{TT|loginwindow.app}}" zu ermitteln, deren Prozess anschließend beendet wird: ps -ax | grep "loginwindow.app" sudo kill -1 <pid> Daraufhin wird die laufende Sitzung beendet und man landet wieder direkt im Anmeldebildschirm von OS X. Eine Neuanmeldung reicht offenbar nicht aus, da hierbei wohl {{TT|loginwindow.app}} nicht neu gestartet wird. Anschließend sollte die Uhr auch im Sperrbildschirm im korrekten Format erscheinen. b1d03c9c31367b6c3a06c67a28695a38a30aeeab OS X Systemvoraussetzungen 0 290 1567 1566 2023-03-15T07:51:31Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[MacOS Systemvoraussetzungen]] e965a4fe79c93030e1d7ed139df17523cb18e066 ObjC Quickies 0 291 1569 1568 2023-03-15T07:51:31Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Development]] Hier eine kleine Sammlung aus ObjC Schnippseln, die dem einen oder anderen beim Quereinstieg in ObjC eventuell helfen könnten: ==Strings verketten== zuerst werden die Strings erzeugt: NSString *vorname = @"hagbard"; NSString *nachname = @"celine"; und anschließend verkettet: NSString *name = [vorname stringByAppendingString:nachname]; oder so: NSString *name = [NSString stringWithFormat:@"%@ %@", voname, nachname]; Das ganze deshalb, weil in ObjC (wie auch in Java) Strings Objekte sind und keine Variablen. - [[User:Hagbard|hagbard]] 14:08, 22. Sep 2006 (CEST) ==Strings vergleichen== aus demselben Grund kann man Strings auch nicht so vergleichen: if (vorname == "hagbard") { ... } sondern so: if ([vorname isEqualToString:@"hagbard") { ... } oder so: if ([[sender title] isEqualToString:@"hagbard"]) { NSLog(@"huhu!"); } Mehr dazu gibts [[ADC:documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/Reference.html|hier]] und [[ADC:documentation/Cocoa/Reference/ApplicationKit/Classes/NSString_AppKitAdditions/Reference/Reference.html|hier]] zu sehen 6b556000170c71d7404a7944050a8e172f2e46d5 Objective-C Quickies 0 292 1571 1570 2023-03-15T07:51:31Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Terminal]] [[Category:Development]] ==Encapsulating Data== ===Difference between {{TT|__weak}} and {{TT|__block}}=== From the [https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html#//apple_ref/doc/uid/TP40011210 Apple Documentation]: : '''{{TT|__weak}}''' specifies a reference that does not keep the referenced object alive. A weak reference is set to nil when there are no {{TT|__strong}} references to the object. {{TT|__weak}} is the opposite of {{TT|__strong}}. : '''{{TT|__block}}''' variables live in storage that is shared between the lexical scope of the variable and all blocks and block copies declared or created within the variable’s lexical scope. Thus, the storage will survive the destruction of the stack frame if any copies of the blocks declared within the frame survive beyond the end of the frame (for example, by being enqueued somewhere for later execution). Multiple blocks in a given lexical scope can simultaneously use a shared variable. : '''Note:''' A variable maintains a {{TT|__strong}} reference to an object only as long as that variable is in scope, or until it is reassigned to another object or nil. [...] You don’t need to specify __strong explicitly, because it is the default. ==See also== * Apple: ** [https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html#//apple_ref/doc/uid/TP40011210 Programming with Objective-C] ** [https://developer.apple.com/documentation/objectivec Objective-C Runtime] ** [https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html The Objective-C Programming Language] ** [https://developer.apple.com/documentation/swift/imported_c_and_objective-c_apis Imported C and Objective-C APIs] * Wikipedia: ** [[wikipedia:Objective-C|Objective-C]] dd5464ce5ffd4967f2be2500a96d499a61195682 Open 0 293 1573 1572 2023-03-15T07:51:32Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Terminal]] ==open== Mit dem Kommando '''open''' lassen sich auch vom Terminal aus Programme starten und Dateien öffnen - selbst wenn es sich dabei um sog. "Application Bundles" (.app "Dateien") handelt. Prinzipiell läuft der Aufruf so ab: open [option] [programm, datei oder verzeichnis] Dabei ist immer zu beachten, dass die Pfadangaben im Terminal nicht lokalisiert werden. Die Verzeichnisse heissen also z.B.: Applications (im Finder: Programme) Utilities (im Finder: Dienstprogramme) Users (im Finder: Benutzer) Pictures (im Finder: Bilder) etc. ===Aufruf ohne weitere Option=== Bei direkter Angabe eines Pfades wird das zugehörige Verzeichnis im Finder geöffnet: open /Applications/Utilities Bei Angabe einer Datei wird diese mit der dem Datentyp zugeordneten Anwendung gestartet, z.B. mit der Vorschau: open ~/Desktop/ReadMe.pdf Außerdem ist die Angabe in Form eines URL-Schemas erlaubt, beispielsweise: open http://www.apple.com/de/ oder open file://localhost/Volumes/Macintosh HD/MeinText.txt open file://localhost/Volumes/Macintosh HD/Applications/Utilities/ open file:///Users/hagbard/Documents/Desktop/MeinText.txt ===Anwendungen starten=== Application Bundles können z.b. mit einem Befehl wie folgt gestartet werden: open /Applications/TextEdit.app oder anhand ihres "Namens" unter dem sie bei den [[Launchd|Launch Services]] registriert sind. Im obigen Fall TextEdit genügt also auch das folgende Kommando: open -a TextEdit Dieser Wert steht innerhalb des Application Bundles in der Datei "info.plist". Außerdem kann ein Programm anhand des "Bundle Identifiers" gestartet werden, und zwar mit Hilfe der Option -b Dabei ist wiederum zu beachten, dass die englischen Bezeichnungen verwendet werden, also beispielsweise "Preview" statt "Vorschau" oder "Calculator" statt "Rechner". ===Dateien öffnen=== Tetdateien (.txt, .rtf, ...) können auch unter Angabe dr option "-e" direkt in TextEdit geöffnet werden: open -e ~/Desktop/MeinText.rtf oder wahlweise auch mit dem in den [[Launchd|Launch Services]] eingetragenen Standard-Texteditor: open -t ~/Desktop/MeinText.txt ===stdout im Texteditor anzeigen=== mit -f wird die Ausgabe von stdout umgelenkt und anschließend im Standard-Texteditor angezeigt: ls -l | open -f Die Inhalte werden dabei währenddessen in /tmp zwischengespeichert. Das Ende der auszugebenden Daten wird mit EOF (End of File) durch die Eingabe von <KB> CTRL + D</KB> gekennzeichnet, was z.B. bei Datenquellen wie der folgenden notwendig ist: tcpdump -i en0 tcp dst port 80 | open -f Die ganze Sache funktioniert jedoch nur für denjenigen Benutzer, der gerade angemeldet ist. Die Ausgabe eines mittels {{Man|sudo|sudo}} oder {{Man|su|su}} gestarteten Kommandos läuft ins Leere, da offensichtlich die Weitergabe der Daten zu TextEdit fehlschlägt. ==Weitere Informationen== * {{Man|open|manpage open}} 41fce8ac071f01ff9bd09ddd73e56adbc30c00cd Open Source Anwendungen 0 36 1575 113 2023-03-15T07:51:32Z Hagbard 2 1 revision imported wikitext text/x-wiki '''coming soon''' 052a486052778b90ac2ba6f19d8e3dd3144769ec Open Source Anwendungen/Grafik- und Bildbearbeitung 0 294 1577 1576 2023-03-15T07:51:32Z Hagbard 2 1 revision imported wikitext text/x-wiki __NOTOC__ {{Navigation_Open_Source_Anwendungen}} ==Grafik- und Bildbearbeitung== {{SoftwareTable |TITLE=Bildbearbeitungen |ENTRIES= {{SoftwareTableEntry|NAME=The GIMP |ICON=GIMP.png |URL=http://www.gimp.org |DESCRIPTION=''Die'' [[wikipedia:de:GIMP|OpenSource Bildbearbeitung]], seit Version 2.8 wird kein X11 mehr benötigt (nativ). |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv3]] }} {{SoftwareTableEntry |NAME=Seashore |URL=http://seashore.sourceforge.net/ |DESCRIPTION=OpenSource Bildbearbeitung (es sind jedoch bisher nur grundlegende Funktionen vorhanden) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=CinePaint |URL=http://www.cinepaint.org/ |DESCRIPTION=[[wikipedia:de:GIMP|GIMP]]-Fork für die Bearbeitung ganzer Bilderserien (bietet auch eine höhere Farbtiefe als 8Bit, in erster Linie für die Filmbranche und für Fotografen, siehe [[wikipedia:de:CinePaint|Wikipedia]]) |DEPS={{Navimg|xsize=32px|ysize=32px|image=X11.png|link=X11}} |LICENSE=[[wikipedia:de:GNU General Public License|GPL]], [[wikipedia:de:GNU Lesser General Public License|LGPL]], [[wikipedia:de:BSD-Lizenz|BSD]], [[wikipedia:de:Mozilla Public License|MPL]] }} {{SoftwareTableEntry |NAME=Inkscape |ICON=Inkscape Logo.svg |URL=http://www.inkscape.org/?lang=de |DESCRIPTION=Open-Source-Vektorgrafikeditor (siehe [[wikipedia:de:Inkscape|Wikipedia]]), auch als [http://www.freesmug.org/portableapps/inkscape/ portable Version] |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Fotografie |ENTRIES= {{SoftwareTableEntry |NAME=darktable |ICON=Darktable icon.svg |URL=http://www.darktable.org |DESCRIPTION=Open Source Lighttable und Darkroom Software (incl. Workflows, scriptable mit [[wikipedia:en:Lua_(programming_language)|LUA]]), experimentelle Builds für OS X stehen [http://sourceforge.net/projects/darktable/files/darktable/ hier zur Verfügung] |DEPS= |LICENSE=[[wikipedia:en:GNU_General_Public_License_3|GPLv3]] }} }} {{SoftwareTable |TITLE=Viewer und Converter |ENTRIES= {{SoftwareTableEntry |NAME=Phoenix Slides |URL=http://www.blyt.net/phxslides/ |DESCRIPTION=Schneller Bildbetrachter mit einigen, grundlegenden Bearbeitungsfunktionen und [[wikipedia:de:Exchangeable_Image_File_Format|EXIF]] Support |DEPS= |LICENSE=[http://creativecommons.org/licenses/by-nc-sa/2.0/ CCPL]<br />(by-nc-sa) }} }} {{SoftwareTable |TITLE=Kamera-Tools |ENTRIES= {{SoftwareTableDummyEntry}} }} {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableEntry |NAME=SmillaEnlarger |URL=http://sourceforge.net/projects/imageenlarger/ |DESCRIPTION=Werkzeug zum qualitativ hochwertigen Vergrößern von Bildern auf bis zu 200% der Originalgröße (siehe [http://www.golem.de/0908/68926.html Artikel dazu] auf [http://www.golem.de golem.de]) |DEPS=[[Image:Font Awesome 5 brands windows.svg|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv3]] }} }} c1d2be29f3e3c237ca21c0ed0a8750deb737389c Open Source Anwendungen/Internet und Netzwerk 0 295 1579 1578 2023-03-15T07:51:33Z Hagbard 2 1 revision imported wikitext text/x-wiki __NOTOC__ {{Navigation_Open_Source_Anwendungen}} ==Internet und Netzwerk== Für E-Mail Programme siehe [[Open_Source_Anwendungen/Kommunikation_und_Messaging|Kommunikation und Messaging]] {{SoftwareTable |TITLE=Web-Browser |ENTRIES= {{SoftwareTableEntry |NAME=Moziilla Firefox |ICON=Firefox_Logo,_2017.png |URL=http://www.mozilla.com/firefox/ |DESCRIPTION=Plattformübergreifender Open Source Web Browser der Mozilla Foundation, mehr Informationen dazu u.a. im deutschsprachigen [http://www.firefox-browser.de FiefoxWiki]<br />Die '''ESR'''-Versionen mit längerem Update-Support (ab Version 10, v.a. für Unternehmen) gibt es [https://www.mozilla.org/en-US/firefox/organizations/faq/#esr-downloads hier] oder [https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/ hier] |DEPS= |LICENSE=[[wikipedia:de:Mozilla Public License|MPL]]/[[wikipedia:de:GNU General Public License|GPL]]/[[wikipedia:de:GNU Lesser General Public License|LGPL]] Dreifachlizenz }} {{SoftwareTableEntry |NAME=TenFourFox |ICON=Deer park globe.svg |URL=http://www.floodgap.com/software/tenfourfox/ |DESCRIPTION=Firefox für PowerPC Macs |DEPS= |LICENSE=[[wikipedia:de:Mozilla Public License|MPL]]/[[wikipedia:de:GNU General Public License|GPL]], andere (siehe About-Box) }} {{SoftwareTableEntry |NAME=Camino |ICON=Camino icon.png |URL=http://www.caminobrowser.org |DESCRIPTION=Speziell für Mac OS X angepasster Mozilla-Browser |DEPS= |LICENSE=[[wikipedia:de:Mozilla Public License|MPL]]/[[wikipedia:de:GNU General Public License|GPL]]/[[wikipedia:de:GNU Lesser General Public License|LGPL]] Dreifachlizenz }} {{SoftwareTableEntry |NAME=Mozilla Seamonkey |ICON=SeaMonkey.png |URL=http://www.mozilla.org/projects/seamonkey/ |DESCRIPTION=Die klassische Browser-Suite (Vorgänger: Mozilla Suite) mit Browser, E-Mail- und News-Client |DEPS= |LICENSE=[[wikipedia:de:Mozilla Public License|MPL]]/[[wikipedia:de:GNU General Public License|GPL]]/[[wikipedia:de:GNU Lesser General Public License|LGPL]] Dreifachlizenz }} {{SoftwareTableEntry |NAME=Webkit |ICON=WebKit logo.svg |URL=http://www.webkit.org |DESCRIPTION=Referenzimplementierung der [http://www.webkit.org/ WebKit] Browser-Engine sowie die Entwicklerversion von [http://www.apple.com/de/safari/ Apple Safari] (Webkit Browser) |DEPS= |LICENSE=teils [[wikipedia:de:GNU Lesser General Public License|LGPL]], teils [[wikipedia:de:BSD-Lizenz|BSD]] }} {{SoftwareTableEntry |NAME=Google Chrome |ICON=Chrome-512.png |URL=http://chrome.google.com |DESCRIPTION=Auf [http://www.webkit.org/ WebKit] basierender Browser für Mac OS X |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD]] }} {{SoftwareTableEntry |NAME=Shiira |ICON=Shiira.png |URL=http://shiira.jp/en |DESCRIPTION=<del>Auf [http://www.webkit.org/ WebKit] basierender Browser für Mac OS X</del> Wird scheinbar nicht mehr aktiv weiterentwickelt (letzte Version 2.2 vom 18.07.2007) |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD]] }} }} {{SoftwareTable |TITLE=Browser-Erweiterungen und Werkzeuge |ENTRIES= {{SoftwareTableEntry |NAME=Safari AdBlock |URL=http://safariadblock.sourceforge.net/ |DESCRIPTION=Adblocking AddOn für Safari, ähnlich der bekannten [http://adblockplus.org Firefox-Erweiterung] |DEPS=[[Image:Font Awesome 5 brands safari.svg|24px|Safari]] |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=GlimmerBlocker |URL=http://glimmerblocker.org/ |DESCRIPTION=Browserübergreifender Adblocking-Proxy, funktionell ähnlich der bekannten [http://adblockplus.org Firefox-Erweiterung].Ein kleiner Bericht dazu ist auf [http://www.opensourcemac.de/2009/01/14/werbefrei/ opensourcemac.de] erschienen. |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} }} {{SoftwareTable |TITLE=Dateitransfer |ENTRIES= {{SoftwareTableEntry |NAME=Cyberduck |ICON=Cyberduck_icon.png |URL=http://www.cyberduck.ch/ |DESCRIPTION=Client für FTP, FTP/TLS, SFTP, Amazon S3, Google Docs und Cloud Files |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Filezilla |ICON=FileZilla logo.png |URL=http://filezilla.sourceforge.net |DESCRIPTION=Plattformünergreifender Client für die Protokolle FTP, FTP/TLS und SFTP (seit Version 3 plattformübergreifend auch für Mac OS X, davor: nur für Windows) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Fugu |ICON=Fugu icon.png |URL=http://rsug.itd.umich.edu/software/fugu/ |DESCRIPTION=Graphischer SFTP/SCP Client für Mac OS X, Entwicklung offensichtlich eingeschlafen (letzte Version: 1.2.0 vom 10.01.2006) |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD]] }} {{SoftwareTableEntry |NAME=Vuze |ICON=Vuze icon.png |URL=http://www.vuze.com/ |DESCRIPTION=Plattformübergreifender BitTorrent-Client (früher: [http://azureus.sourceforge.net/ Azureus]) |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=OneButton FTP |URL=http://www.onebutton.org/ |DESCRIPTION=<del>Einfacher, schlanker und schneller FTP-Client</del> wird leider nicht mehr weiterentwickelt (siehe auch: [http://sourceforge.net/projects/gosee/ Sourceforge Projektseite]) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=News, Podcasts, eBooks |ENTRIES= {{SoftwareTableEntry |NAME=Vienna |ICON=Vienna news icon.png |URL=http://www.vienna-rss.org/ |DESCRIPTION=Newsreader für RSS-/RDF- und Atom-Newsfeeds |DEPS= |LICENSE=[[wikipedia:de:Apache-Lizenz|Apache]] }} {{SoftwareTableEntry |NAME=Juice |ICON=Juice.png |URL=http://juicereceiver.sourceforge.net/ |DESCRIPTION=Plattformübergreifender Podcast-Client |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Google Book Downloader |URL=http://hactheplanet.com/mac/googlebookdownloader |DESCRIPTION=Download-Client für [http://books.google.com Google Books] (Download als PDF oder Einzelbilder) |DEPS= |LICENSE=-?- }} }} {{SoftwareTable |TITLE=Sicherheit |ENTRIES= {{SoftwareTableEntry |NAME=WaterRoof |URL=http://www.hanynet.com/waterroof/ |DESCRIPTION=Graphisches Frontend für die Bearbeitung von Regeln des Mac OS X Paketfilters {{Man|ipfw|ipfw}} |DEPS= |LICENSE=seit 3.4.2: [http://www.nolicense.org/ NLPL]<br/>davor: [[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=NoobProof |URL=http://www.hanynet.com/noobproof/ |DESCRIPTION=Einfaches, graphisches Frontend für die Bearbeitung von Regeln des Mac OS X Paketfilters {{Man|ipfw|ipfw}} (v.a. für Einsteiger, siehe [http://www.hanynet.com/comparison.html Vergleichsliste]) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Mac GNU PG |URL=http://macgpg.sourceforge.net/ |DESCRIPTION=Mac-Portierung von [http://www.gnupg.org/ GnuPG] für die Verschlüsselung und Zertifizierung von E-Mails |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableEntry |NAME=Zenmap |URL=http://nmap.org/zenmap/ |DESCRIPTION=GUI für den (spätestens [http://www.securityfocus.com/news/4831 seit Matrix Reloaded]) bekannten Portscanner [http://insecure.org/nmap/ nmap] (frühere Mac OS X Version: [http://nmapfe-osx.sourceforge.net/ NmapFE]) |DEPS=[[Image:X11.png|24px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Andiparos |URL=http://code.google.com/p/andiparos/ |DESCRIPTION=http-Monitor, v.a. für die Softwareentwicklungsehr zu empfehlen (da deutlich übersichtlicher als Webscarab) |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} {{SoftwareTableEntry |NAME=WebScarab |URL=http://www.owasp.org/index.php/WebScarab |DESCRIPTION=http/https Monitor/Filter/Injector, v.a. für [[wikipedia:de:Penetrationtest|Penetrationstests]] sehr zu empfehlen (Mac OS X Packages gibt es [http://research.corsaire.com/tools/ hier]) |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]], [[wikipedia:de:GNU Lesser General Public License|LGPL]] }} {{SoftwareTableEntry |NAME=KisMAC |URL=http://www.kismac-ng.org/ |DESCRIPTION=WLAN-Scanner |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=iStumbler |ICON=IStumbler.png |URL=http://www.istumbler.net/ |DESCRIPTION=WLAN-, [http://bonjour.macosforge.org/ Bonjour]- und Bluetooth-Scanner |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD]] }} }} {{SoftwareTable |TITLE=Fernsteuerung |ENTRIES= {{SoftwareTableEntry |NAME=Chicken of the VNC |ICON=Deer park globe.svg |URL=http://sourceforge.net/projects/cotvnc/ |DESCRIPTION=[[wikipedia:de:VNC|VNC-Client]] für Mac OS X |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} bf8cbffe2b957b28022ef127210664cbfd3ea138 Open Source Anwendungen/Kommunikation und Messaging 0 296 1581 1580 2023-03-15T07:51:33Z Hagbard 2 1 revision imported wikitext text/x-wiki __NOTOC__ {{Navigation_Open_Source_Anwendungen}} ==Kommmunikation und Messaging== Für Webbrowser und Dateiübertragungstools siehe [[Open_Source_Anwendungen/Internet und Netzwerk|Internet und Netzwerk]] {{SoftwareTable |TITLE=E-Mail |ENTRIES= {{SoftwareTableEntry |NAME=Mozilla Thunderbird |ICON=Thunderbird.png |URL=http://www.mozilla.com/thunderbird/ |DESCRIPTION=Plattformübergreifender E-Mail Client, News- und RSS-Reader der Mozilla Foundation<br />Die '''ESR'''-Versionen mit längerem Update-Support (ab Version 10, v.a. für Unternehmen) gibt es [https://www.mozilla.org/en-US/thunderbird/organizations/all-esr.html hier] oder [https://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/ hier] |DEPS= |LICENSE=[[wikipedia:de:Mozilla Public License|MPL]]/[[wikipedia:de:GNU General Public License|GPL]]/[[wikipedia:de:GNU Lesser General Public License|LGPL]] Dreifachlizenz }} {{SoftwareTableEntry |NAME=Mozilla Seamonkey |ICON=SeaMonkey.svg |URL=http://www.mozilla.org/projects/seamonkey/ |DESCRIPTION=Die klassische Browser-Suite (Vorgänger: Mozilla Suite) mit Browser, E-Mail- und News-Client |DEPS= |LICENSE=[[wikipedia:de:Mozilla Public License|MPL]]/[[wikipedia:de:GNU General Public License|GPL]]/[[wikipedia:de:GNU Lesser General Public License|LGPL]] Dreifachlizenz }} {{SoftwareTableEntry |NAME=<del>Correo Mail</del> |URL=http://code.google.com/p/correo/ |DESCRIPTION=<del>Mail Client von [http://www.nkreeger.com/ Nick Kreeger] (einem der [http://www.caminobrowser.org Camino]-Entwickler) auf Basis der Camino-Engine (Ziel: eine native Alternative zu Mozilla Thunderbird)</del> Projekt scheinbar inaktiv oder Entwicklung eingestellt |DEPS= |LICENSE=[[wikipedia:de:Mozilla Public License|MPL 1.1]] }} }} {{SoftwareTable |TITLE=Instant Messaging |ENTRIES= {{SoftwareTableEntry |NAME=Adium X |ICON=Adium.png |URL=http://www.adium.im/ |DESCRIPTION=Freier und umfangreich konfigurierbarer Multi-Protocol Chat Client |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=Colloquy |ICON=Colloquy-irc-icon.png |URL=http://www.colloquy.info/ |DESCRIPTION=Feier und umfangreich konfigurierbarer IRC-Client für Mac OS X (Portierung des verbreiteten Programms [[wikipedia:de:XChat|XChat]]) |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=Xchat-Aqua |ICON=X-Chat Aqua.png |URL=http://xchataqua.sourceforge.net/ |DESCRIPTION=Freier IRC-Client für Mac OS X |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=Psi |ICON=Psi icon new.png |URL=http://psi.affinix.com/ |DESCRIPTION=plattformübergreifender Jabber-Client |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=Chax |URL=http://www.ksuther.com/chax/ |DESCRIPTION=Diverse Erweiterungen für iChat (z.B. Tabs u.v.m.), seit Version 1.4.6 OpenSource (siehe [http://www.ksuther.com/weblog/?p=29 Eintrag im Weblog]) |DEPS=[[Image:Font Awesome 5 regular comment-dots.svg|32px|iChat]] |LICENSE=[[wikipedia:de:MIT-Lizenz|MIT]] }} {{SoftwareTableEntry |NAME=<del>Fire</del> |ICON=Fire icon.png |URL=http://sourceforge.net/projects/fire |DESCRIPTION=<del>Multi-Protocol Chat Client</del> Wird offenbar nicht mehr weiterentwickelt (letzte Version 1.5.6 vom 16.02.2006) |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} }} {{SoftwareTable |TITLE=Social Networking |ENTRIES= {{SoftwareTableDummyEntry}} }} {{SoftwareTable |TITLE=Telefon/Mobiles |ENTRIES= {{SoftwareTableDummyEntry}} }} {{SoftwareTable |TITLE=Synchronisierung |ENTRIES= {{SoftwareTableDummyEntry}} }} {{SoftwareTable |TITLE=Kommunikation |ENTRIES= {{SoftwareTableDummyEntry}} }} {{SoftwareTable |TITLE=Wekzeuge |ENTRIES= {{SoftwareTableEntry |NAME=iNdependence |URL=http://code.google.com/p/independence/ |DESCRIPTION=Universalwerkzeug für iPhones (Jailbreak, Aktivierung, SSH-Installation etc.) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} }} e1329700441b46a2e4ea5af730c405e4a3abbd1c Open Source Anwendungen/Multimedia 0 297 1583 1582 2023-03-15T07:51:34Z Hagbard 2 1 revision imported wikitext text/x-wiki __NOTOC__ {{Navigation_Open_Source_Anwendungen}} ==Multimedia== {{SoftwareTable |TITLE=Player |ENTRIES= {{SoftwareTableEntry |NAME=VLC media player |ICON=VLC Icon.svg |URL=http://www.videolan.org |DESCRIPTION=Freier, plattformübergreifender Multiformat-Player mit Unterstützung von Netzwerkstreaming |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=MPlayer |ICON=Mplayer.png |URL=http://www.mplayerhq.hu |DESCRIPTION=Freier, plattformübergreifender und sehr kompatker Multiformat-Player. Per se nur für die Kommandozeile (ohne graphische Oberfläche) existieren für Mac OS X mehrere graphische Umgebungen, z.B.: * [http://mplayerx.org/ MPlayerX] * <del>[http://mplayerosx.sttz.ch/ MPlayer OSX Extended]</del> (letzte Version: r14, Jan. 2011) * <del>[http://mplayerosx.sourceforge.net/ MPlayerOSX]</del> (aktuellste Version vom 20.5.2005) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} {{SoftwareTableEntry |NAME=niceplayer |ICON=NicePlayer.png |URL=http://code.google.com/p/niceplayer/ |DESCRIPTION=Mediaplayer für Mac OS X ("fullscreen, borderless multi-engine player") |DEPS= |LICENSE=[[wikipedia:de:Mozilla_Public_License|MPL 1.1]] }} {{SoftwareTableEntry |NAME=Fullscreen Movie Player |URL=http://www.monkeybreadsoftware.de/Freeware/FullscreenMoviePlayer.shtml |DESCRIPTION=Fullscreen Playback für non-Pro-QuickTime (für MacOS 8, Mac OS X und Windows) |DEPS= |LICENSE= }} {{SoftwareTableEntry |NAME=<del>Perian</del> |ICON=Perian icon.png |URL=http://perian.org/ |DESCRIPTION=<del>Codec-Paket für eine Vielzahl verschiedener Formate (außer MPEG 2)</del> wird leider nicht mehr weiterentwickelt |DEPS= |LICENSE=[[wikipedia:de:GNU_Lesser_General_Public_License|LGPLv2]] }} }} {{SoftwareTable |TITLE=TV und Mediacenter |ENTRIES= {{SoftwareTableEntry |NAME=TV-Browser |ICON=TV-Browser.svg |URL=http://www.tvbrowser.org/ |DESCRIPTION=Umfassender, funktionsreicher und erweiterbarer Browser für das Fernsehprogramm |DEPS=[[Image:Crystal Project java.png|32px]]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Plex Media Center |ICON=Plex vector logo.svg |URL=http://www.plexapp.com/ |DESCRIPTION=Auf [[wikipedia:de:XBMC_Media_Center|XMBC]] basierende Media Center Lösung |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} }} {{SoftwareTable |TITLE=Videobearbeitung |ENTRIES= {{SoftwareTableEntry |NAME=Avidemux |ICON=Avidemux-logo.png |URL=http://avidemux.sourceforge.net/ |DESCRIPTION="... is a free video editor designed for simple cutting, filtering and encoding tasks" (plattformübergreifend, Tipp: die QT-Variante läuft unter Mac OS X offenbar deutlich stabiler) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=ProjectX |URL=http://www.lucike.info/ |DESCRIPTION=Nachbearbeitung (Demuxen und Schneiden) von DVB-Aufnahmen, weitere Infos gibts auch [http://wiki.tuxbox.org/ProjectX hier] |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE= }} {{SoftwareTableEntry |NAME=DVDStyler |ICON=DVDStyler.png |URL=http://www.dvdstyler.org/ |DESCRIPTION=DVD-Authoring für Mac OS X, Windows und Linux |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Audiobearbeitung |ENTRIES= {{SoftwareTableEntry |NAME=Audacity |ICON=Audacity.svg |URL=http://audacity.sourceforge.net |DESCRIPTION=Audiobearbeitung (mit [[wikipedia:de:Virtual_Studio_Technology|VST]] Plugin-Schnittstelle), weitere Downloads (z.B. Codecs oder den VST-Enabler) gibts [http://audacity.sourceforge.net auf der Projektseite.] |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} c3f02d8af4b43ed2e02231239a73b713e20d5d61 Open Source Anwendungen/PowerPC 0 298 1585 1584 2023-03-15T07:51:34Z Hagbard 2 1 revision imported wikitext text/x-wiki __NOTOC__ {{Navigation_Open_Source_Anwendungen}} [[Image:PowerPC_logo.svg|128px|right]] Dieser Artikel bietet eine kleine Übersicht wichtiger Programme, die weiterhin mit PowerPC Unterstützung verfügbar und teilweise sogar noch weiterentwickelt werden. Weitere Programme dieser Art sind auch in den anderen Artikeln dieser Artikelreihe zu finden. {{SoftwareTable |TITLE=Internet und Kommunikation |ENTRIES= {{SoftwareTableEntry |NAME=TenFourFox |ICON=Deer park globe.svg |URL=http://www.floodgap.com/software/tenfourfox/ |DESCRIPTION=Aktuelle Firefox Builds für PowerPC Macs |DEPS= |LICENSE=[[wikipedia:de:Mozilla Public License|MPL]]/[[wikipedia:de:GNU General Public License|GPL]], andere (siehe About-Box) }} {{SoftwareTableEntry |NAME=SeaMonkey PPC |ICON=SeaMonkey.png |URL=https://code.google.com/p/seamonkey-ppc/ |DESCRIPTION=Aktuelle [http://www.seamonkey-project.org/ Seamonkey] Builds für PowerPC Macs |DEPS= |LICENSE=[[wikipedia:de:Mozilla Public License|MPL]]/[[wikipedia:de:GNU General Public License|GPL]], andere (siehe About-Box) }} {{SoftwareTableEntry |NAME=GlimmerBlocker |URL=http://glimmerblocker.org/ |DESCRIPTION=Browserübergreifender Adblocking-Proxy, funktionell ähnlich der bekannten [http://adblockplus.org Firefox-Erweiterung].Ein kleiner Bericht dazu ist auf [http://www.opensourcemac.de/2009/01/14/werbefrei/ opensourcemac.de] erschienen. |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=Cyberduck |ICON=Cyberduck_icon.png |URL=http://www.cyberduck.ch/ |DESCRIPTION=Client für FTP, FTP/TLS, SFTP, Amazon S3, Google Docs und Cloud Files |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Adium X |ICON=Adium.png |URL=http://www.adium.im/ |DESCRIPTION=Freier und umfangreich konfigurierbarer Multi-Protocol Chat Client |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} }} {{SoftwareTable |TITLE=Multimedia |ENTRIES= {{SoftwareTableEntry |NAME=VLC media player |ICON=VLC Icon.svg |URL=http://www.videolan.org |DESCRIPTION=Freier, plattformübergreifender Multiformat-Player mit Unterstützung von Netzwerkstreaming |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=niceplayer |ICON=NicePlayer.png |URL=http://code.google.com/p/niceplayer/ |DESCRIPTION=Mediaplayer für Mac OS X ("fullscreen, borderless multi-engine player") |DEPS= |LICENSE=[[wikipedia:de:Mozilla_Public_License|MPL 1.1]] }} {{SoftwareTableEntry |NAME=TV-Browser |ICON=TV-Browser.svg |URL=http://www.tvbrowser.org/ |DESCRIPTION=Umfassender, funktionsreicher und erweiterbarer Browser für das Fernsehprogramm |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Office und Produktivität |ENTRIES= {{SoftwareTableEntry |NAME=LibreOffice |ICON=LibreOffice icon 3.3.1 48 px.svg |URL=http://www.libreoffice.org |DESCRIPTION=OpenOffice Fork mit demselben Funktionsumfang (s.u.), wird derzeit aktiver weiterentwickelt als das OpenOffice |DEPS= |LICENSE=[[wikipedia:de:GNU Lesser General Public License|LGPL]] }} {{SoftwareTableEntry |NAME=OpenOffice.org |ICON=Aoo4icon.svg |URL=http://de.openoffice.org |DESCRIPTION=Komplette Bürosuite, bestehend aus Textverarbeitung, Tabellenkalkulation, Präsentationsporgramm u.v.m. OpenOffice.org ist seit Version 3 eine native Mac OS X Anwendung und benötigt daher kein X11 mehr. |DEPS= |LICENSE=[[wikipedia:de:GNU Lesser General Public License|LGPL]] }} {{SoftwareTableEntry |NAME=NeoOffice |ICON=NeoOffice icon.png |URL=http://www.neooffice.org/ |DESCRIPTION=NeoOffice (ehem. NeoOffice/J) ist ein Projekt, dessen Ziel es ist, durch Java-Integration das Office-Paket OpenOffice.org nativ auf Mac OS X ohne X11-Umgebung zu portieren. Bis Version 3.1.2 auf PPC-Macs lauffähig |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=ScratchPad |URL=http://scratchpad.alexseifert.com/ |DESCRIPTION=Einfacher Notizblock incl. Textformatierung (fett/kursiv/Tabulatoren/...) und Einbindung von Bilddateien |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableEntry |NAME=SimplyBurns |URL=http://simplyburns.berlios.de/ |DESCRIPTION=Brennprogramm für CDs und DVDs (Daten, Audio-CD, Kopien, Images (ISO, DMG, CUE/BIN, TOC/BIN) brennen) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Burn |ICON=Burn.png |URL=http://burn-osx.sourceforge.net/ |DESCRIPTION=Kleines Brennprogramm für CDs und DVDs (Daten, Audio, Video-DVD (VIDEO_TS-Ordner), Kopien) |DEPS=[[Image:Quicktime-Logo.svg|Quicktime 7|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=CronniX |URL=http://code.google.com/p/cronnix/ |DESCRIPTION=Graphische Oberlfäche für das Verwalten von cronjobs ([[wikipedia:de:cron|crontab]]) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL 3]] }} }} {{SoftwareTable |TITLE=Datenrettung und Wiederherstellung |ENTRIES= {{SoftwareTableEntry |NAME=PhotoRec |URL=http://www.cgsecurity.org/wiki/PhotoRec |DESCRIPTION=Software zum Wiederherstellen von Videos, Bildern und anderen Dokumenten von Festplatten oder CD-ROMs oder Kamera-Speichermedien. Verfügbar für Mac OS X (PPC unt Intel), Windows, Linux, BSD und SunOS |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=TestDisk |URL=http://www.cgsecurity.org/wiki/TestDisk |DESCRIPTION=Werkzeug zum Wiederherstellen verlorener Partitionen oder um nicht bootende Festplatten wieder bootfähig zu machen. Verfügbar für Mac OS X (PPC unt Intel), Windows, Linux, BSD und SunOS |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Grafik und Bildbearbeitung |ENTRIES= {{SoftwareTableEntry|NAME=The GIMP |ICON=GIMP.png |URL=http://www.gimp.org |DESCRIPTION=''Die'' [[wikipedia:de:GIMP|OpenSource Bildbearbeitung]] in verschiedenen Formen: * [http://sourceforge.net/projects/gimponosx Für X11], siehe auch [http://gimp.lisanet.de/Website/Download.html hier] (stabil, aber Mac-untypisch) * [http://www.plasticbugs.com/ GIMPShop] (GIMP-Hack für Photoshop-Nutzer, passt Menüstruktur und Tastatursteuerung an, benötigt X11) * [http://gimp-app.sourceforge.net/ Nativ] (Pakete leider veraltet) |DEPS={{Navimg|xsize=32px|ysize=32px|image=X11.png|link=X11}} |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Seashore |URL=http://seashore.sourceforge.net/ |DESCRIPTION=OpenSource Bildbearbeitung (es sind jedoch bisher nur grundlegende Funktionen vorhanden) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=CinePaint |URL=http://www.cinepaint.org/ |DESCRIPTION=[[wikipedia:de:GIMP|GIMP]]-Fork für die Bearbeitung ganzer Bilderserien (bietet auch eine höhere Farbtiefe als 8Bit, in erster Linie für die Filmbranche und für Fotografen, siehe [[wikipedia:de:CinePaint|Wikipedia]]) |DEPS={{Navimg|xsize=32px|ysize=32px|image=X11.png|link=X11}} |LICENSE=[[wikipedia:de:GNU General Public License|GPL]], [[wikipedia:de:GNU Lesser General Public License|LGPL]], [[wikipedia:de:BSD-Lizenz|BSD]], [[wikipedia:de:Mozilla Public License|MPL]] }} {{SoftwareTableEntry |NAME=Inkscape |ICON=Inkscape Logo.svg |URL=http://www.inkscape.org/?lang=de |DESCRIPTION=Open-Source-Vektorgrafikeditor (siehe [[wikipedia:de:Inkscape|Wikipedia]]), auch als [http://www.freesmug.org/portableapps/inkscape/ portable Version] |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} 930a56e56cb8dc1eee79a8d4d549965222950ef2 Open Source Anwendungen/Produktivität und Büro 0 299 1587 1586 2023-03-15T07:51:34Z Hagbard 2 1 revision imported wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ {{Navigation_Open_Source_Anwendungen}} ==Produktivität / Büro== {{SoftwareTable |TITLE=Finanzen |ENTRIES= {{SoftwareTableEntry |NAME=Pecunia |URL=http://www.pecuniabanking.de/ |DESCRIPTION=HBCI-fähiges Homebanking Programm (basiert auf [http://www.aqbanking.de/ AqBanking]) mit Reporting für Kontoentwicklung und Kategorien für Umsätze. Derzeit nur PIN/TAN-Verfahren, Chipkarten-Unterstützung ist geplant |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Buddi |URL=http://buddi.digitalcave.ca/ |DESCRIPTION=Einfache Finanzverwaltung für Privatpersonen, über Plug-Ins erweiterbar |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=GnuCash |ICON=GnuCash logo.svg |URL=http://www.gnucash.org/ |DESCRIPTION=Finanzverwaltung für Prvatpersonen und kleine Unternehmen. Weitere Informationen dazu auf der [http://www.gnucash.org/ Webseite] oder in der [[wikipedia:de:GnuCash|Wikipedia]], Builds für Intel und PPC stehen [http://www.gnucash.org/download.phtml hier zur Verfügung].<br /> Aktuelle Versionen (seit Version 2.3.9) benötigen durch Verwendung von Quartz mindestens Mac OS X 10.5, dafür wird kein X11 mehr benötigt. Es stehen aber auch ältere Versionen zum Download zur Verfügung, diese erfordern dann eine X11 Installation.<br /> '''Hinweis:''' GnuCash hat leider immer noch keine [[wikipedia:de:ELSTER|ELSTER]]-Unterstützung (z.B. zur [[wikipedia:de:Umsatzsteuer-Voranmeldung|UStVa]]) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Taxbird |URL=http://www.taxbird.de/ |DESCRIPTION=Freier [[wikipedia:de:ELSTER|ELSTER]]-Client zur Einreichung von [[wikipedia:de:Lohnsteuer_(Deutschland)|LStA]] und [[wikipedia:de:Umsatzsteuer-Voranmeldung|UStVa]] |DEPS=[[Image:Tux.svg|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Komplettpakete |ENTRIES= {{SoftwareTableEntry |NAME=LibreOffice |ICON=LibreOffice icon 3.3.1 48 px.svg |URL=http://www.libreoffice.org |DESCRIPTION=OpenOffice Fork mit demselben Funktionsumfang (s.u.), wird derzeit aktiver weiterentwickelt als das OpenOffice |DEPS= |LICENSE=[[wikipedia:de:GNU Lesser General Public License|LGPL]] }} {{SoftwareTableEntry |NAME=OpenOffice.org |ICON=Aoo4icon.svg |URL=http://de.openoffice.org |DESCRIPTION=Komplette Bürosuite, bestehend aus Textverarbeitung, Tabellenkalkulation, Präsentationsporgramm u.v.m. OpenOffice.org ist seit Version 3 eine native Mac OS X Anwendung und benötigt daher kein X11 mehr. |DEPS= |LICENSE=[[wikipedia:de:GNU Lesser General Public License|LGPL]] }} {{SoftwareTableEntry |NAME=NeoOffice |ICON=NeoOffice icon.png |URL=http://www.neooffice.org/ |DESCRIPTION=NeoOffice (ehem. NeoOffice/J) ist ein Projekt, dessen Ziel es ist, durch Java-Integration das Office-Paket OpenOffice.org nativ auf Mac OS X ohne X11-Umgebung zu portieren. Bis Version 3.1.2 auf PPC-Macs lauffähig |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=DTP / Layout |ENTRIES= {{SoftwareTableEntry |NAME=Scribus |ICON=Scribus logo.svg |URL=http://www.scribus.net |DESCRIPTION=Plattformüergreifende, freie DTP-/Layout-Software |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=ScratchPad |URL=http://scratchpad.alexseifert.com/ |DESCRIPTION=Einfacher Notizblock incl. Textformatierung (fett/kursiv/Tabulatoren/...) und Einbindung von Bilddateien |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=TeXShop |ICON=TeXShop icon.png |URL=http://darkwing.uoregon.edu/~koch/texshop/texshop.html |DESCRIPTION=Graphische Arbeitsumgebung für den Textsatz mit [[wikipedia:de:LaTeX|LaTeX]] |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Terminplanung / Kalender |ENTRIES= {{SoftwareTableEntry |NAME=Mozilla Calendar Projekte |ICON=Crystal Clear app mozilla.png |URL=http://mozilla.org |DESCRIPTION=Calendar, Sunbird und Lightning sind Mozilla-Projekte für Kalender- und Terminplanungsprogramme, wahlweise eigenständig (Sunbird) oder als Integration in Thunderbird (Lightning) |DEPS= |LICENSE=[[wikipedia:de:Mozilla Public License|MPL]]/[[wikipedia:de:GNU General Public License|GPL]]/[[wikipedia:de:GNU Lesser General Public License|LGPL]] Dreifachlizenz }} }} {{SoftwareTable |TITLE=Dateibetrachter |ENTRIES= {{SoftwareTableEntry |NAME=iChm |URL=http://code.google.com/p/ichm/ |DESCRIPTION=Freier CHM-Reader für Mac OS X und [http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=295187047&mt=8 iPhone/iPod touch] |DEPS=iPhone OS 2.1 |LICENSE=[[wikipedia:de:MIT-Lizenz|MIT]] }} {{SoftwareTableEntry |NAME=Chmox |URL=http://chmox.sourceforge.net |DESCRIPTION=Dateibetrachter für CHM Dokumente (wird offensichtlich nicht mehr weiterentwickelt, letzte Version aus dem Jahr 2006) |DEPS= |LICENSE=[[wikipedia:de:GNU Lesser General Public License|LGPL]] }} }} {{SoftwareTable |TITLE=Verwaltungsprogramme |ENTRIES= {{SoftwareTableEntry |NAME=KeePass |URL=http://keepass.info/ |DESCRIPTION=Plattformübergreifende Passwortverwaltung, ab Version 2.0 basierend auf [[wikipedia:de:.NET|.NET]] (benötigt daher eine installierte [http://www.mono-project.com/ Mono-Laufzeitumgebung])<br />Mit [http://www.keepassx.org/ KeePassX] existiert eine OS X-Portierung von KeePass 1.x |DEPS=[[Image:Mono_Project_Logo.svg|24px|Mono 2.6 oder neuer wird für KeePass ab Version 2.0 benötigt]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=KeepassXC |ICON=KeePassXC.svg |URL=https://keepassxc.org |DESCRIPTION=[http://www.keepass.org/ Keepass]-kompatible, plattformübergreifende Passwortverwaltung |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Macpass |URL=https://macpassapp.org/ |DESCRIPTION=[http://www.keepass.org/ Keepass]-kompatible Passwortverwaltung für macOS |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableEntry |NAME=Skim |URL=http://skim-app.sourceforge.net |DESCRIPTION=PDF-Dokumente annotieren, mit Notizen und Anmerkungen versehen, Texte hervorheben/unterstreichen u.v.m. |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD]] }} {{SoftwareTableEntry |NAME=Combine PDFs |URL=http://www.monkeybreadsoftware.de/Freeware/CombinePDFs.shtml |DESCRIPTION=mehrere PDF Dateien zusammenführen |DEPS= |LICENSE=''-?-'' }} {{SoftwareTableEntry |NAME=ScratchPad |URL=http://scratchpad.alexseifert.com/ |DESCRIPTION=Einfacher Notizblock incl. Textformatierung (fett/kursiv/Tabulatoren/...) und Einbindung von Bilddateien |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=FBReader |URL=http://www.fbreader.org |DESCRIPTION=Plattformübergreifender Ebook-Reader für verschiedene Formate, z.B. ePub oder MobiPocket. Ein Mac Port ist [http://gobunov.ru/projects hier verfügbar]. |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} 99fdc3ffe4ec7e0013dde323bc0a8aa5349b7d78 Open Source Anwendungen/Programmierung und Entwicklung 0 300 1589 1588 2023-03-15T07:51:35Z Hagbard 2 1 revision imported wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ {{Navigation_Open_Source_Anwendungen}} ==Softwareentwicklung== {{SoftwareTable |TITLE=Editoren |ENTRIES= {{SoftwareTableEntry |NAME=TextMate 2 |ICON=TextmateIcon.png |URL=http://github.com/textmate/textmate/ |DESCRIPTION=Sehr flexibler, erweiterbarer und dennoch schneller Cocoa-Texteditor, seit Version 2 Open Source |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv3]] }} {{SoftwareTableEntry |NAME=Editra |ICON=Editra64.png |URL=http://editra.org/ |DESCRIPTION=Plattformübergreifender Texteditor für Mac OS X, Linux und Windows |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=MacVim |ICON=Vim gloss 128.png |URL=http://code.google.com/p/macvim/ |DESCRIPTION=Mac-Portierung des Kommandozeilen-Klassikers [http://www.vim.org/ VIM] |DEPS= |LICENSE=VIM License }} {{SoftwareTableEntry |NAME=jEdit |ICON=JEdit.png |URL=http://jedit.org/ |DESCRIPTION=Über PlugIns erweiterbarer, plattformübergreifender Open-Source Editor |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=HexEdit |URL=http://sourceforge.net/projects/hexedit/ |DESCRIPTION=Hex-Editor für Mac OS X, läuft unter so ziemlich jeder Version von Mac OS (X) |DEPS= |LICENSE=[[wikipedia:de:Mozilla_Public_License|Mozilla Public License 1.0 (MPL)]] }} {{SoftwareTableEntry |NAME=Hex Fiend |URL=http://ridiculousfish.com/hexfiend/ |DESCRIPTION=Schneller, schlanker Hex Editor für Mac OS X |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD]] }} }} {{SoftwareTable |TITLE=Entwicklungsumgebungen (IDE) |ENTRIES= {{SoftwareTableEntry |NAME=Eclipse |ICON=Eclipse-SVG.svg |URL=http://www.eclipse.org |DESCRIPTION=Open-Source-Plattform zur Entwicklung von Software verschiedenster Art und Sprache. |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:Eclipse Public License|EPL]] (früher [[wikipedia:de:Common Public License|CPL]] }} {{SoftwareTableEntry |NAME=NetBeans |ICON=Apache NetBeans Logo.svg |URL=http://www.netbeans.org |DESCRIPTION=Open-Source-Entwicklungsumgebung zur Entwicklung von Software verschiedenster Art. Spezialisierte Versionen für Skriptsprachen wie PHP, Python oder Ruby sind verfügbar. |DEPS= |LICENSE=[[wikipedia:de:CDDL|CDDL]], [[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=MonoDevelop |ICON=Monodevelop Logo.svg |URL=http://www.monodevelop.org |DESCRIPTION=Entwicklungsumgebung auf Basis des [[wikipedia:de:Mono-Projekt|Mono-Projekts]] für die plattformübergreifende Softwareentwicklung mit [[wikipedia:de:.NET|.NET]] |DEPS=[[Image:Mono_Project_Logo.svg|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Programmiersprachen und Entwicklungspakete |ENTRIES= {{SoftwareTableEntry |NAME=PHP |ICON=PHP-logo.svg |URL=http://www.php.net |DESCRIPTION=Plattformübergreifende Programmiersprache; PHP-Installationspakete für Mac OS X sind [http://www.entropy.ch/software/macosx/php/ hier verfügbar] |DEPS= |LICENSE=[[wikipedia:de:PHP-Lizenz|PHP-Lizenz]] }} {{SoftwareTableEntry |NAME=Python |ICON=Python.svg |URL=http://www.python.org/ |DESCRIPTION= |DEPS= |LICENSE=Python License }} }} {{SoftwareTable |TITLE=Versioninerungssysteme |ENTRIES= {{SoftwareTableEntry |NAME=svnX |URL=http://code.google.com/p/svnx/ |DESCRIPTION=Der wohl (funktionell) vollständigste und beste, freie Cocoa [[wikipedia:de:Subversion_(Software)|Subversion]]-Client |DEPS= |LICENSE=[[wikipedia:de:GNU Lesser General Public License|LGPL]] }} {{SoftwareTableEntry |NAME=SCPlugin |ICON=Subversion-logo.svg |URL=http://scplugin.tigris.org/ |DESCRIPTION=[[wikipedia:de:Subversion_(Software)|Subversion]]-Plugins für den Finder, ermöglicht diverse SVN-Operationen über das Finder-Kontextmenü sowie das Durchsuchen von SVN-Repositories via WebDAV über Finder-Serververbindungen (http, https) |DEPS= |LICENSE=[[wikipedia:de:MIT-Lizenz|MIT]] }} {{SoftwareTableEntry |NAME=PySVN Workbench |ICON=Subversion-logo.svg |URL=http://pysvn.tigris.org/ |DESCRIPTION=Plattformübergreifender [[wikipedia:de:Subversion_(Software)|Subversion]]-Client |DEPS=[[Image:Python.svg|32px]] |LICENSE=[[wikipedia:de:Apache-Lizenz|Apache-Lizenz]] }} {{SoftwareTableEntry |NAME=GitX |URL=http://gitx.frim.nl/ |DESCRIPTION=Graphische Oberfläche für das Versionierungssystem [[wikipedia:de:Git|Git]]. Das dafür benötigte Kommandozeilenprogramm gibt es unter [http://git-scm.com/ git-scm.com]. |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Sonstige Werkzeuge|ENTRIES= {{SoftwareTableEntry |NAME=Sequel Pro |URL=http://www.sequelpro.com/ |DESCRIPTION=graphisches MySQL-Verwaltungstool (früher: CocoaMySQL, siehe [http://code.google.com/p/sequel-pro/ Projektseite]), ermöglicht auch den Remote-Zugriff auf MySQL Server via SSH |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Flycut |URL=https://github.com/TermiT/Flycut |DESCRIPTION=Einfache, recht praktische Verwaltung für die Zwischenablage (Fork von [http://jumpcut.sourceforge.net/ Jumpcut]) |DEPS= |LICENSE=[[wikipedia:de:MIT-Lizenz|MIT]] }} }} 194045b33ed8c8fdcdc8d7744d74cf8695357cb6 Open Source Anwendungen/Programmierung und Softwareentwicklung 0 301 1591 1590 2023-03-15T07:51:36Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[Open Source Anwendungen/Programmierung und Entwicklung]] c1162127f5a4cc955d91ad368fc644f9dc727f70 Open Source Anwendungen/Serverdienste 0 302 1593 1592 2023-03-15T07:51:36Z Hagbard 2 1 revision imported wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ {{Navigation_Open_Source_Anwendungen}} ==Serverdienste== {{SoftwareTable |TITLE=Webserver |ENTRIES= {{SoftwareTableEntry |NAME=XAMPP |ICON=Xampp logo.svg |URL=http://www.apachefriends.org |DESCRIPTION=Serverstack für Windows, Linux, Mac OS X und Solaris, bestehend aus Apache, MySQL, PHP, Perl, phpMyAdmin und OpenSSL |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] u.a. }} {{SoftwareTableEntry |NAME=MAMP |URL=http://www.mamp.info |DESCRIPTION=Serverstack für MacOS X, bestehend aus Apache 2, MySQL 5, PHP 4/5 (ab Version 1.9: PHP 5.2/5.3) und einigen weiteren Tools (siehe auch [[MAMP_Quickies|hier]]) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] (MAMP Applikation) u.a. }} }} {{SoftwareTable |TITLE=Datenbank-Server |ENTRIES= {{SoftwareTableEntry |NAME=MySQL |ICON=Mysql-dolphin-square.svg |URL=http://www.mysql.com |DESCRIPTION=MySQL Database Server], Mac OS X Package sind [http://www.entropy.ch/software/macosx/mysql/ hier verfügbar] |DEPS= |LICENSE=Dual ([[wikipedia:de:Proprietär|Proprietär]] und [[wikipedia:de:GNU General Public License|GPL]] ) }} {{SoftwareTableEntry |NAME=PostgreSQL |ICON=Postgresql elephant.svg |URL=http://www.postgresql.org/ |DESCRIPTION=PostgreSQL Database Server, Mac OS X Packages sind [http://www.entropy.ch/software/macosx/postgresql/ hier verfügbar] |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD]] }} }} {{SoftwareTable |TITLE=Web-/Applikationsserver |ENTRIES= {{SoftwareTableEntry |NAME=nginx |ICON=Nginx logo.svg |URL=http://www.nginx.org/ |DESCRIPTION=Plattformübergreifender Webserver, Reverse-Proxy und E-Mail Proxy für den Hochlastbetrieb. Siehe auch: [http://wiki.nginx.org/ nginx Wiki], [[wikipedia:de:Nginx|nginx]] in der [[wikipedia:de:Hauptseite|Wikipedia]] |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD-Lizenz]] }} {{SoftwareTableEntry |NAME=Apache Tomcat |ICON=Logo - Apache Tomcat.svg |URL=http://tomcat.apache.org/ |DESCRIPTION=Plattformübergreifender Kava Applikationsserver, Mac OS X Installationspakete sind [http://sisuworks.com/page3/page3.html hier verfügbar] |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:Apache-Lizenz|Apache-Lizenz]] }} }} {{SoftwareTable |TITLE=Web-Proxies |ENTRIES= {{SoftwareTableEntry |NAME=GlimmerBlocker |URL=http://glimmerblocker.org/ |DESCRIPTION=Browserübergreifender Adblocking-Proxy, funktionell ähnlich der bekannten [http://adblockplus.org Firefox-Erweiterung].Ein kleiner Bericht dazu ist auf [http://www.opensourcemac.de/2009/01/14/werbefrei/ opensourcemac.de] erschienen. |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=Privoxy |URL=http://www.privoxy.org/ |DESCRIPTION=Anonymisierungs-Webproxy |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=Squid Man |URL=http://web.me.com/adg/squidman/ |DESCRIPTION=graphischer Installer für den [http://www.squid-cache.org/ squid] Proxy (siehe auch: [[wikipedia:de:Squid|Wikipedia]], [http://www.squid-handbuch.de/hb/ squid-handbuch.de]) |DEPS= |LICENSE=''-?-'' }} {{SoftwareTableEntry |NAME=Tor Project |ICON=Tor logo-1.png |URL=http://www.torproject.org |DESCRIPTION=Komplett-Paket aus [http://tor.eff.org/ Tor-Client/Server], Privoxy und einer GUI für das Starten und Stoppen des Services. Installationshinweise gibt es [http://tor.eff.org/docs/tor-doc-osx.html.en hier] und im [http://trac.vidalia-project.net/wiki/InstallOSX Vidalia-Wiki], siehe auch [[wikipedia:de:Tor_(Netzwerk)|Wikipedia]] |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} }} {{SoftwareTable |TITLE=Weitere Server-Dienste |ENTRIES= {{SoftwareTableEntry |NAME=Apple Collaboration |URL=http://calendarserver.macosforge.org/ |DESCRIPTION=Der [[ICal-Server|iCal-Server]] von Mac OS X (Server) |DEPS= |LICENSE=[[wikipedia:de:Apache-Lizenz|Apache 2.0 License]] }} {{SoftwareTableEntry |NAME=Darwin Streaming Server |ICON=Crystal Project Quicktime.png |URL=http://developer.apple.com/opensource/server/streaming/index.html |DESCRIPTION=quelloffener Apple Streaming-Server (QuickTime Streaming Server, siehe auch [http://dss.macosforge.org/ Mac OS Forge] und [[wikipedia:de:QuickTime_Streaming_Server|Wikipedia]]) |DEPS= |LICENSE=[[wikipedia:de:Apple_Public_Source_License|Apple Public Source License]] }} {{SoftwareTableEntry |NAME=Funambol Server |URL=http://www.funambol.com/opensource/ |DESCRIPTION=SyncML Server für PIM und E-Mail, mit verschiedenen Clients z.B. für iPod, iPhone, Windows Mobile, Blackberry, Symbian und Microsoft Outlook) |DEPS=[[Image:Tux.svg|32px]] [[Image:Windows logo 2012-Black.svg|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]]/[http://www.funambol.com/opensource/project/HPLv1.1.txt HPL] }} }} {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableDummyEntry}} }} 605cac4251e51a73d5ccd2b96dd57160d7841f6e Open Source Anwendungen/Spiele 0 303 1595 1594 2023-03-15T07:51:36Z Hagbard 2 1 revision imported wikitext text/x-wiki __NOTOC__ {{Navigation_Open_Source_Anwendungen}} ==Tools & Plattformen== {{SoftwareTable |TITLE= |ENTRIES= {{SoftwareTableEntry |NAME=ScummVM |ICON=Scummvm icon.svg |URL=https://www.scummvm.org/ |DESCRIPTION=Software- und Skript-Sammlung, in der zahlreiche nachgebaute Spiel-Engines unter einer gemeinsamen grafischen Benutzeroberfläche zusammengefasst sind. Viele ältere Computer- und Konsolen-Spiele sind damit auch auf neueren Betriebssystemen und Plattformen lauffähig und spielbar, z.B. Monkey Island 1-3, Sam & Max, Discworld, Flight of the Amazon Queen, ... [https://www.scummvm.org/compatibility/ uvm.] |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} ==Spiele nach Kategorien== === Action === {{SoftwareTable |TITLE=3D-Shooter (FPS) |ENTRIES= }} {{SoftwareTable |TITLE=Jump'n'Run |ENTRIES= }} === Adventure === {{SoftwareTable |TITLE=Point&Click Adventure |ENTRIES= }} {{SoftwareTable |TITLE=Rollenspiele |ENTRIES= }} {{SoftwareTable |TITLE=Adventure |ENTRIES= }} === Strategie === {{SoftwareTable |TITLE=Wirtschaftssimulation |ENTRIES= {{SoftwareTableEntry |NAME=Widelands |ICON=Widelands icon 128x128.png |URL=http://wl.widelands.org |DESCRIPTION=Freier [[wikipedia:de:Die_Siedler|Siedler-Klon]], orientiert sich an Siedler I und II (&copy; Bluebyte). Verfügbar für Mac OS X (Intel und PPC), Linux und Windows (siehe auch [http://wiki.ubuntuusers.de/Spiele/Widelands hier]) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Echtzeitstrategie |ENTRIES= }} b4e11ade4435ce7a90d2403c5df0b25d2145d80f Open Source Anwendungen/Systemwerkzeuge 0 304 1597 1596 2023-03-15T07:51:37Z Hagbard 2 1 revision imported wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ {{Navigation_Open_Source_Anwendungen}} ==Systemwerkzeuge== {{SoftwareTable |TITLE=Desktop-Tools |ENTRIES= {{SoftwareTableEntry |NAME=Quicksilver |URL=http://www.qsapp.com/ |DESCRIPTION=Um Plug-Ins Erweiterbarer Programmstarter für Mac OS X. Die aktuelle Version setzt mindestens Mac OS X 10.6 voraus, ältere Versionen sind jedoch verfügbar. Siehe auch: [[wikipedia:en:Quicksilver_(software)|Wikipedia]], [https://github.com/quicksilver/Quicksilver github Projektseite]. |DEPS= |LICENSE=[[wikipedia:de:Apache-Lizenz|Apache Lizenz]] }} {{SoftwareTableEntry |NAME=Launchy |URL=http://www.launchy.net/ |DESCRIPTION=Programmstarter für Mac OS X, Linux und Windows (vergleichbar mit Quicksilver, das <del>allerdings nicht</del> jetzt ebenfalls Open Source ist, s.o.). Siehe auch: [[wikipedia:de:Launchy|Wikipedia]] |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=iTerm |URL=http://iterm.sourceforge.net/downloads.shtml |DESCRIPTION=Terminal-Emulation mit erweiterten Funktionen (Bookmarks, Tabs, ...) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=MenuMeters |URL=http://www.ragingmenace.com/software/menumeters/index.html |DESCRIPTION=Systemmonitor für die Menüleiste (CPU-/Speicherauslastung, Netzwerk-/Festplattenaktivität, ...) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=DoubleCommand |URL=http://doublecommand.sourceforge.net/ |DESCRIPTION=Kernel-Extension zum Umbelegen von Tasten.<br />Downloads für frühere OS X Versionen sind [http://doublecommand.sourceforge.net/download.html hier] zu finden |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Dateisystem-Tools |ENTRIES= {{SoftwareTableEntry |NAME=Parted Magic |URL=http://partedmagic.com/ |DESCRIPTION=bootfägige Linux-Distribution mit dem Partitionierungswerkzeug [http://gparted.sourceforge.net/ GParted] und einer Vielzahl weiterer Systemwerkzeuge, auch als Version mit [http://www.clonezilla.org/ Clonezilla] erhältlich (Backup und Wiedeherstellung von Partitionen). Wahlweise von CD/DVD oder von USB-Medien startbar |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=GParted live |ICON=Gnome-logo.svg |URL=http://gparted.sourceforge.net/livecd.php |DESCRIPTION=Bootäfhige Linuxinstallation mit dem Partitionierungswerkzeug [http://gparted.sourceforge.net/ GParted] (Gnome Partition Editor) für eine Vielzahl an Dateisystemen. Wahlweise von CD/DVD oder von USB-Medien startbar |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=OSXFUSE |URL=http://osxfuse.github.com/ |DESCRIPTION=Fork von [https://code.google.com/p/macfuse/ MacFuse], das nicht mehr weiterentwickelt wird (vollständig abwärtskompatibel). Ermöglicht beispielsweise das Einhängen von FTP- und SSH-Servern als Volume. [http://macfusionapp.org/ MacFusion] (GUI für MacFuse) funktioniert auch mit OSXFUSE, dazu ist jedoch der "MacFUSE Compatibility Layer" zu installieren (standardmäßig deaktiviert)<br /> Weitere Informationen: siehe [[OSXFUSE_verwenden|hier]] |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD-Lizenz]] }} {{SoftwareTableEntry |NAME=Mac OS X Ext Filesystem |URL=http://sourceforge.net/projects/ext2fsx/ |DESCRIPTION=<del>Mac OS X Treiber für das [[wikipedia:de:Ext2|Ext2 Dateisystem]]</del> Wird leider nicht mehr weiterentwickelt |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD-Lizenz]], [[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=BSP |URL=http://www.end.com/BSP/ |DESCRIPTION=PrefPane für die Definition eigener Kategorien zur Erstellung der Spotlight-Indizes |DEPS= |LICENSE=[http://creativecommons.org/licenses/by-nc-sa/2.5/ CC] }} }} {{SoftwareTable |TITLE=Datenrettung und Wiederherstellung |ENTRIES= {{SoftwareTableEntry |NAME=PhotoRec |URL=http://www.cgsecurity.org/wiki/PhotoRec |DESCRIPTION=Software zum Wiederherstellen von Videos, Bildern und anderen Dokumenten von Festplatten oder CD-ROMs oder Kamera-Speichermedien. Verfügbar für Mac OS X (PPC unt Intel), Windows, Linux, BSD und SunOS |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=TestDisk |URL=http://www.cgsecurity.org/wiki/TestDisk |DESCRIPTION=Werkzeug zum Wiederherstellen verlorener Partitionen oder um nicht bootende Festplatten wieder bootfähig zu machen. Verfügbar für Mac OS X (PPC unt Intel), Windows, Linux, BSD und SunOS |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Archivierungs- und Brennprogramme |ENTRIES= {{SoftwareTableEntry |NAME=Keka |URL=http://www.kekaosx.com/de/ |DESCRIPTION=Archivierungsprogramm für Mac OS X, erzeugt (7z, Zip, Tar, Gzip, Bzip2) bzw. entpackt (RAR, 7z, Lzma, Zip, Tar, Gzip, Bzip2, ISO, EXE, CAB, PAX, ACE (PPC)) verschiedene Formate |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv3]] }} {{SoftwareTableEntry |NAME=The Unarchiver |URL=http://code.google.com/p/theunarchiver/ |DESCRIPTION=Ersatz für die Archiv-Funktion (BOMArchiveHelper.app) des Finder zum Entpacken von Archiven, unterstützt u.a. die Formate zip, tar-gzip, tar-bzip2, rar, 7zip, lha, ace, cab, StuffIt u.v.m. (basiert auf der [http://sourceforge.net/projects/libxad/ Amiga libxad]) |DEPS= |LICENSE=[[wikipedia:de:GNU_Lesser_General_Public_License|LGPL]] }} {{SoftwareTableEntry |NAME=SimplyBurns |URL=http://simplyburns.sourceforge.net/ |DESCRIPTION=Brennprogramm für CDs und DVDs (Daten, Audio-CD, Kopien, Images (ISO, DMG, CUE/BIN, TOC/BIN) brennen) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Burn |ICON=Burn.png |URL=http://burn-osx.sourceforge.net/ |DESCRIPTION=Kleines Brennprogramm für CDs und DVDs (Daten, Audio, Video-DVD (VIDEO_TS-Ordner), Kopien) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Backuplösungen |ENTRIES= {{SoftwareTableEntry |NAME=arRsync |URL=http://arrsync.sourceforge.net/ |DESCRIPTION=Auf [[wikipedia:de:Rsync|rsync]] basierendes Backup-Programm |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Bacula |URL=http://www.bacula.org/ |DESCRIPTION=Plattformübergreifende Backuplösung, auch für den Unternehmenseinsatz gedacht (Mac OS X, Unix, Linux, Windows) |DEPS=[[Image:X11.png|32px]] |LICENSE=[http://www.bacula.org/dev-manual/Bacula_Copyri_Tradem_Licens.html verschiedene] }} }} {{SoftwareTable |TITLE=Systemwartung und -pflege, Hardware-Tools |ENTRIES= {{SoftwareTableEntry |NAME=ClamXav |ICON=ClamAV.jpeg |URL=http://www.markallan.co.uk/clamXav/ |DESCRIPTION=Graphische Oberfläche für den plattformübergreifenden Virenscanner [http://www.clamav.net/ ClamAV] |DEPS= |LICENSE=''-?-'' }} {{SoftwareTableEntry |NAME=CronniX |URL=http://code.google.com/p/cronnix/ |DESCRIPTION=Graphische Oberlfäche für das Verwalten von cronjobs ([[wikipedia:de:cron|crontab]]) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL 3]] }} {{SoftwareTableEntry |NAME=Lingon |URL=http://sourceforge.net/projects/lingon/ |DESCRIPTION=Graphische Oberfläche für [http://launchd.macosforge.org/ launchd] ([[wikipedia:en:Launchd|Wikipedia]], engl.), allerdings nur bis zur [http://sourceforge.net/projects/lingon/files/Lingon/2.1.1/ Version 2.1.1] Open Source |DEPS= |LICENSE=[[wikipedia:de:Apache-Lizenz|Apache]] }} {{SoftwareTableEntry |NAME=SMARTReporter |URL=http://www.corecode.at/smartreporter/ |DESCRIPTION=[[wikipedia:deSelf-Monitoring%2C_Analysis_and_Reporting_Technology|SMART]] Status Reporter |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD]] }} {{SoftwareTableEntry |NAME=apcupsd (APC UPS Daemon) |URL=http://www.apcupsd.org/ |DESCRIPTION=Plattformübergreifendes (MacOS, Linux, Solaris, Windows) Monitoring von [http://www.apcc.com APC-USVs] |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} }} {{SoftwareTable |TITLE=Emulatoren & Virtualisierung |ENTRIES= {{SoftwareTableEntry |NAME=Q |URL=http://www.kju-app.org/ |DESCRIPTION=Graphische Oberfläche für den Open Source Emulator [http://fabrice.bellard.free.fr/qemu/ qemu] |DEPS= |LICENSE=[[wikipedia:de:GNU_Lesser_General_Public_License|LGPL]] u.a. }} {{SoftwareTableEntry |NAME=WineBottler |ICON=WINE-Logo.svg |URL=http://winebottler.kronenberg.org/ |DESCRIPTION=Erweiterte Version von Darwine (betrifft v.a. die Installation der Windows-Systemkomponenten, seit der Version 1.1.32 ist Wine zusammen mit WineBottler in einem Installationspaket zusammengefasst) |DEPS= |LICENSE=[[wikipedia:de:GNU_Lesser_General_Public_License|LGPL]] }} {{SoftwareTableEntry |NAME=<del>Darwine</del> |ICON=WINE-Logo.svg |URL=http://darwine.sourceforge.net/ |DESCRIPTION=<del>Mac OS X Portierung von [http://www.winehq.org/ Wine] (Seit der Version 1.1.29 wird der inoffizielle Build von Darwine unter dem Namen Wine weitergeführt)</del> Wird nicht mehr weiterentwickelt, bitte '''WineBottler''' verwenden |DEPS= |LICENSE=[[wikipedia:de:GNU_Lesser_General_Public_License|LGPL]] }} {{SoftwareTableEntry |NAME=VirtualBox |ICON=Virtualbox logo.png |URL=http://www.virtualbox.org/ |DESCRIPTION=Virtualisierungslösung, auch für Linux, Solaris/OpenSolaris und Windows verfügbar. Die OpenSource Edition ist gegenüber der Standardversion funktionell eingeschränkt und besitzt z.B. keinen USB- und 3D-Grafik-Support. |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Boxer |URL=http://boxerapp.com/ |DESCRIPTION=DOS-Emulator, in erster Linie für MS-DOS-Spiele (für Mac OS X 10.4 steht noch Version 0.87 zum Download zur Verfügung) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=FreeDOS |ICON=Freedosfishlogo.png |URL=http://www.freedos.org/ |DESCRIPTION=Open Source Implementierung von MS-DOS, beispielsweise für ältere Software oder zum Einspielen von Firmware-Updates |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} <!-- {{SoftwareTable |TITLE=Sonstige Tools |ENTRIES= }} --> 1b1fc78edc8c553e53892c2de86358c2a0858b0c Open Source Anwendungen/Webbasierte Anwendungen 0 305 1599 1598 2023-03-15T07:51:37Z Hagbard 2 1 revision imported wikitext text/x-wiki __NOTOC__ {{Navigation_Open_Source_Anwendungen}} Webbasierte Applikationen benötigen üblicherweise einen Webserver (in der Regel Apache oder IIS) als Laufzeitumgebung, wobei oftmals statt des in Mac OS X integrierten Apache Webservers sogenannte "[[wikipedia:en:List_of_AMP_packages|AMP]]" Umgebungen eingesetzt werden da diese unabhängig von Betriebssystemupdate sind und neben weiteren Funktionen/Bibliotheken auch in der Regel einen MySQL Datenbankserver beinhalten. ==Webbasierte Anwendungen== {{SoftwareTable |TITLE=Content Management |ENTRIES= {{SoftwareTableEntry |NAME=webEdition |ICON=WebEdition-logo.svg |URL=http://www.webedition.org |DESCRIPTION=Ein benutzerfreundliches, modular aufgebautes, freies Web-Content-Management-System ([[wikipedia:de:Content-Management-System|WCMS]]). Es ist ein Datei- und zugleich Datenbank-basiertes System und kann somit sowohl statische Inhalte performant ablegen als auch komplexe dynamische Inhalte bereitstellen. |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:Mysql-dolphin-square.svg|24px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] (CMS), [[wikipedia:de:GNU_Lesser_General_Public_License|LGPL]] (SDK) }} }} {{SoftwareTable |TITLE=Webstatistiken |ENTRIES= {{SoftwareTableEntry |NAME=matomo |ICON=Matomo Logo.svg |URL=http://www.matomo.org |DESCRIPTION=matomo (früher: Piwik) ist eine funktionsreiche und erweiterbare Web-Analytik-Software für den Betrieb auf dem eigenen Server (siehe auch: [[wikipedia:de:Piwik|Piwik in der Wikipedia]]) |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:Mysql-dolphin-square.svg|24px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Projektmanagement |ENTRIES= {{SoftwareTableDummyEntry}} }} {{SoftwareTable |TITLE=Kommunikation und Zusammenarbeit |ENTRIES= {{SoftwareTableDummyEntry}} }} {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableEntry |NAME=eXtplorer |URL=http://extplorer.sourceforge.net/ |DESCRIPTION=Webbasierter Dateimanager mit großem Funktionsumfang, basiert auf dem JS-Framework [http://www.exts.com ExtJS], Weitere Infos auf der [sourceforge.net/projects/extplorer Projektseite] |DEPS=[[Image:PHP-logo.svg|48px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]], [[wikipedia:de:Mozilla_Public_License|MPL]] }} {{SoftwareTableEntry |NAME=phpMyAdmin |URL=http://www.phpmyadmin.net/ |DESCRIPTION=Webbasiertes Werkzeug zur Verwaltung eines [http://www.mysql.com MySQL] Datenbankservers |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:Mysql-dolphin-square.svg|24px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} {{SoftwareTableEntry |NAME=MySQLDumper |URL=http://www.mysqldumper.de/ |DESCRIPTION=Webbasiertes Werkzeug zur Verwaltung eines [http://www.mysql.com MySQL] Datenbankservers, sehr gut geeignet v.a. für das Erstellen und Wiederherstellen von Backups großer Datenbanken. |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:Mysql-dolphin-square.svg|24px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} 0a6c3c47b453f29e7b945311f52be832f4c9a89c PECL-Extensions für MAMP erstellen 0 306 1601 1600 2023-03-15T07:51:38Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Development]][http://www.mamp.info MAMP] ist bekanntlich ein recht verbreiteter und bekannter [[wikipedia:de:LAMP|Server-Stack]] für Mac OS X, bestehend aus Apache, MySQL und PHP. Um für die mitgelieferten PHP-Versionen eigene [http://pecl.php.net PHP-Extensions] erstellen und übersetzen zu können, sind jedoch einige Vorbereitungen zu treffen. ==Voraussetzungen== Folgende Voraussetzungen müssen erfüllt sein: * Vorhandene MAMP-Installation * Installierte [http://www.apple.com/de/macosx/developers/ Xcode Entwicklungsumgebung] von der Mac OS X Installations-DVD, alternativ zu erhalten bei [http://connect.apple.com Apple] (kostenlose Registrierung erforderlich) * PHP-Quellcode der Version, für die eine PECL-Extension erstellt werden soll (z.B. PHP 5.2.6 für MAMP 1.7.2) * Quellcode der jeweiligen PECL-Extension, erhältlich über [http://pecl.php.net pecl.php.net] ==Installation== ===Vorbereitung=== Für die Installation sind die folgenden Schritte durchzuführen, im Beispiel anhand der MAMP Version 1.7.2 (PHP 5.2.6) # MAMP und Xcode installieren # Im MAMP-Verzeichnis <source>/Applications/MAMP/bin/php5/</source> ein Unterverzeichnis <code>include</code> erstellen # Die PHP-Quelltexte von [http://www.php.net/downloads.php www.php.net] herunterladen und entpacken und das Verzeichnis in <code>php</code> umbenennen. Dieses Verzeichnis dann anschließend in das oben erstellte Verzeichnis verschieben, so dass sie sich im Verzeichnis <source>/Applications/MAMP/bin/php5/include/php/</source> befinden. # Das Mac OS Terminal öffnen und in das Verzeichnis <code>/Applications/MAMP/bin/php5/include/php/</code> wechseln: <source>cd /Applications/MAMP/bin/php5/include/php/</source> # Folgenden Befehl ausführen:<source bash>./configure</source> ===Möglichkeit 1: pecl-Installation=== Installation des Pecl-Archivs mit der Kommandozeilen-App {{TT|pecl}}: # Dazu im Terminal in folgendes Verzeichnis wechseln: <source>/Applications/MAMP/bin/php5/bin/</source> # Danach die Extension mit folgendem Kommando installieren: <source bash>./pecl i PACKAGENAME</source> ===Möglichkeit 2: Archiv von der Webseite === Die Installation aus den Quelltexten von der Webseite: # Das entsprechende Paket von [http://pecl.php.net pecl.php.net] herunterladen (z.B. auf den Desktop) # Im Terminal in dieses Verzeichnis wechseln und das Paket entpacken:<br /><code>cd ~/Desktop/<br />tar xzfv PACKAGENAME-VERSION.tar.gz<br />cd PACKAGENAME-VERSION/</code> # Anschließend mit {{TT|phpize}} das Paket vorbereiten:<source>/Applications/MAMP/bin/php5/bin/phpize</source> # Für die Erzeugung eines Binaries, das sowohl eine 32-Bit als auch eine 64-Bit Version enthält. ist nun folgendes einzugeben:<source>CFLAGS='-arch i386 -arch x86_64'</source> # Nun kann das Paket übersetzt werden:<source>./configure && make</source> ===Installation der Datei=== # Anschließend die erzeugte Datei in das jeweilige PHP-Extensions-Verzeichnis verschieben: <source>/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-******</source> # Die <code>php.ini</code> Konfigurationsdatei anpassen und die Erweiterung im Abschnitt "dynamic extensions" (um Zeile 520 herum) einfügen, z.B.:<source>extension=http.so</source> Danach den MAMP neu starten. ==Siehe auch== Produktwebseiten: * [http://www.mamp.info MAMP-Webseite] * Apple: [http://connect.apple.com Developer Connection] (Downloads), [http://developer.apple.com Developer Portal] * [http://www.php.net/downloads.php PHP Downloads] * [http://pecl.php.net PECL Extension Library] Weitere Infos zum Thema: * [http://developerkarma.com/blog/andrew-m-riley/quick-and-dirty-pecl-mamp-os-x Quick and Dirty PECL for MAMP (os x)] * [http://alex-privat.eu/108 MAMP-Arbeitsumgebung, in der auch PECL funktioniert] 718e365146a9f2fe5f5d5498c66dc64487a68e40 PHP Code Snippets 0 307 1603 1602 2023-03-15T07:51:39Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Development]][[Category:Hint]]Ein paar nützliche Hilfsfunktionen für den täglichen PHP-Irrsinn ;-) ==Dateisystem== ==={{TT|glob_r()}}=== Eine rekursive Variante von [https://secure.php.net/manual/en/function.glob.php glob()] <source lang=php lines=1> function glob_r($dir = "", $flags = 0) { $files = array(); if(empty($dir) || !is_dir(dirname($dir))) { return $files; } $supp = str_replace(dirname($dir),"",$dir); $dir = dirname($dir).DIRECTORY_SEPARATOR; // get all files: $files = glob($dir.$supp,$flags); // get all subdirectories: $_dirs = scandir($dir); $dirs = array(); foreach($_dirs as $_dir) { if(substr($_dir,0,1) == ".") { continue; } if(is_dir($dir.$_dir)) { $dirs[] = $dir.$_dir; } } unset($_dirs); foreach($dirs as $dir) { $_files = glob_r($dir.$supp,$flags); $files = array_merge($files,$_files); } return $files; } </source> alternativ (ab PHP5) mit der Klasse [https://secure.php.net/manual/en/class.recursivedirectoryiterator.php RecursiveDirectoryIterator] der [https://secure.php.net/manual/en/book.spl.php SPL]: <source lang=php lines=1> <?php $dir_iterator = new RecursiveDirectoryIterator("/path/to/directory"); $iterator = new RecursiveIteratorIterator($dir_iterator, RecursiveIteratorIterator::SELF_FIRST); foreach ($iterator as $file) { echo $file, "\n"; } ?> </source> == CLI-Skripte== Ein paar hilfreiche Funktionen für PHP-CLI Skript ==={{TT|isRunning()}}=== überprüft mittels {{TT|{{Man|ps|ps -ax}}}} und {{TT|{{Man|grep|grep}}}}, ob dieses Skript bereits läuft. Die PHP-Funktion {{TT|[https://secure.php.net/manual/en/function.shell-exec.php shell_exec()]}} muss dafür verfügbar sein. Funktioniert nur, wenn das wie folgt Skript direkt aufgerufen wird und nicht über den PHP-Interpreter: <source lang=bash> ./test.php # und NICHT so /usr/bin/local/php5 -q ./test.php </source> Letzterer Aufruf hätte zur Folge, dass in der verwendeten Variable {{TT|$_ENV["_"]}} der PHP-Interpreter (in diesem Fall {{TT|/usr/bin/local/php5}} steht und nicht das Skript. Dazu ist ggf. mittels {{TT|{{Man|chmod|chmod}}}} die Ausführungs-Berechtigung entsprechend zu setzen. <source lang="php" lines=1> public static function isRunning() { if(!isset($_ENV["_"]) || empty($_ENV["_"])) { return false; } if(substr($_ENV["_"],0,1) == "./") { $cmd = substr($_ENV["_"],2); } else { $cmd = $_ENV["_"]; } $psaux = shell_exec('ps -ax | grep "'.$cmd.'"'); $psaux = explode("\n",$psaux); $processes = array(); foreach($psaux as $process) { if(stripos($process,$cmd) && !stripos($process,"grep")) { $processes[] = $process; } } if(count($processes) > 1) { return true; } else { return false; } } </source> ==={{TT|isConsole()}}=== schützt ein CLI-Skript davor, über einen Webserver aufgerufen zu werden: <source lang=php lines=1> /** * check if this script has been called from a terminal (console) or via web server. * @return boolean */ public static function isConsole() { if( (isset($_SERVER["CLIENTNAME"]) && strtolower($_SERVER["CLIENTNAME"]) != "console") || isset($_SERVER["SESSIONNAME"]) || isset($_SERVER["HTTP_HOST"]) ) { return false; } return true; } </source> 705875a58bc4643328af2da146daee4b7b2774d7 PHP Hilfsfunktionen (PHP) 0 308 1605 1604 2023-03-15T07:51:39Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[PHP Code Snippets]] 3783e02a7ab496fc66d08ba39f1f1ae2150a4ca3 Playground 0 309 1607 1606 2023-03-15T07:51:40Z Hagbard 2 1 revision imported wikitext text/x-wiki <!--ACHTUNG: KATEGORIEZUORDNUNG BITTE NICHT ENTFERNEN !!!-->[[Category:Misc]] 4762dd473f6a5d364d266ad108d355e62cdd0060 Pmset 0 310 1609 1608 2023-03-15T07:51:40Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Terminal]]{{Man|pmset|pmset}} ist ein [[:Category:Terminal|Terminal]]-Programm, um verschiedene Parameter der Energieverwaltung wesentlich feingranularer zu konfigurieren, als es die Systemeinstellungen ("Energie" PrefPane) erlauben. Prinzipiell ist das Kommando mit Administrator-Privilegien auszuführen, insbesondere für die Änderung von Einstellungen wie z.B. der HDD Spindown-Time oder Wake-on-LAN ist dies notwendig. Durch den Parameter {{tt|force}} kann das jedoch für einige pmset-Kommandos umgangen werden, um beispielsweise den Mac sofort und ohne Angabe eines Passwortes in den Ruhezustand versetzen zu können. == Allgemeines == ===Konfigurationsdateien=== Systemweite Einstellungen: /Library/Preferences/SystemConfiguration/com.apple.PowerManagement.plist Zeitabhängige Einstellungen: /Library/Preferences/SystemConfiguration/com.apple.AutoWake.plist ===Aktuelle Konfiguration anzeigen=== pmset -g kann auch mit verschiedenen Kommandos kombiniert werden, z.B: pmset -g disk pmset -g [disk | live | cap | sched | ups | ps | pslog] ===Hilfe zur Nutzung anzeigen=== pmset --help == Einstellungen == ===Wake-on-LAN de-/aktivieren=== sudo pmset womp 0 sudo pmset womp 1 ===Spindown für Festplatten=== {{Information|'''Externe Festplatten:'''<br /><br /> Dies funktioniert jedoch nur für interne Festplatten! Externe USB- oder Firewire-Festplatten werden generell nach einer Weile der Untätigkeit heruntergefahren, unabhängig von Energieeinstellungen oder pmset-Konfigurationen. Zu diesem Thema ist [http://www.thexlab.com/faqs/harddrivesleep.html hier] (thexlab.com) ein interessanter Artikel verfügbar.<br /><br /> Um bei externen Festplatten den Spindown dauerhaft zu deaktivieren, sind (unter Snow Leopard und neuer) unter Umständen <u>alle</u> Ruhezustände (Rechner, Monitor und Festplatten) komplett zu deaktivieren, erst dann scheinen auch externe Festplatten nicht mehr heruntergefahren zu werden. Außerdem stehen hierfür unter anderem folgende (kostenlose) Hilfsprogramme zur Verfügung: * [http://www.macupdate.com/app/mac/31158/keep-drive-spinning Keep Drive Spinning] * [http://www.macmaps.com/software.html#spindown Spindown fix] * [http://braintrigger.com/software/SleeplessHD/ SleeplessHD] (spricht laufend die Festplatte an, so dass sie nicht herunterfährt) * [http://www.maintain.se/cocktail/index.php Cocktail] (System Maintenance Software) Allerdings kann auch durchaus das Gehäuse selbst (bzw. der dort verbaute Controller) für den Spindown verantwortlich sein, was aber offenbar relativ selten der Fall ist. Dann jedoch lässt sich die Spindowntime nicht beeinflussen.}} Mit folgendem Kommando wird verhindert, dass angeschlossene Festplatten nach einer best. Zeit heruntergefahren werden (bei Notebooks nur, wenn das Netzteil angeschlossen ist): sudo pmset -c disksleep 0 Um diese Einstellung für alle Stromquellen zu verwenden, ist folgendes Kommando zu verwenden: sudo pmset -a disksleep 0 Analog dazu eine Spindown-Time von einer Stunde (60 Minuten) einstellen (alle Stromquellen): sudo pmset -a disksleep 60 Dasselbe, jedoch nur für Batteriebetrieb (Spindown für Netzbetrieb deaktiviert): sudo pmset -c disksleep 0 -b disksleep 60 Diese Einstellungen sind permanent und auch nach dem nächsten Neustart noch gültig. Die Standardeinstellung ist übrigens 10 Minuten für Netzbetrieb und 5 Minuten für Batteriebetrieb. Dieselbe Funktion wird über die Checkbox "wenn möglich Ruhezustand der Festplatte(n) aktivieren" in den Energieeinstellungen bereitgestellt. {{Information|Außerdem gibt es ein betriebssystemversion-abhängiges Verhalten, falls die Checkbox in den Energieeinstellungen deaktiviert ist. Unter Snow Leopard (10.6) und neuer werden die Festplatten dann nicht mehr heruntergefahren (entspricht also {{TT|pmset disksleep 0}}), in älteren Versionen nach 3 Stunden (entspricht {{TT|pmset disksleep 180}})}} == Tipps für Notebooks == ===Aufwachen beim Wechsel der Stromzufuhr verhindern=== Standardmäßig wacht der Mac beim Anstöpseln des Netzteils auf, was mit dem folgenden Kommando verhindert werden kann: sudo pmset acwake 0 ===Aufwachen beim Aufklappen des Displays verhindern=== sudo pmset lidwake 0 ===Appleskript für Display-Sleep=== <source lang="applescript"> on run {input, parameters} do shell script ("pmset displaysleep 0 force") return input end run </source> ===Bewegungssensor (de-)aktivieren=== Mit folgenden Zeilen lässt sich der in Apple-Notebooks (seit den letzten G4-Generationen) verbaute [http://support.apple.com/kb/HT1935?viewlocale=de_DE Bewegungssensor] (de-)aktivieren: sudo pmset -a sms 0 sudo pmset -a sms 1 Das macht jedoch nur in sehr seltenen Fällen Sinn, da der Sensor dafür sorgt, dass bei Erschütterungen und im freien Fall die Festplatte ausgeschaltet wird und verhindert dadurch mögliche Datenverluste sowie Beschädigungen am Laufwerk. Siehe: [http://support.apple.com/kb/HT1934?viewlocale=de_DE Apple Supportdokument] ==Weitere Informationen== * {{Man|pmset|manpage pmset}} * {{Man|sudo|manpage sudo}} 220f39383fcd49daa1c940efe710cd1c77c9b6f8 Quartz Ressourcen 0 311 1611 1610 2023-03-15T07:51:41Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Development]][[Category:Links]]Quartz ist die Grafikschicht des Apple Betriebssystemes [[:Category:OS|Mac OS X]]. Bei Quartz handelt es sich um eine Render-Bibliothek für 2D- und 3D-Grafiken, die das grundlegende Darstellungsmodell für Mac OS X bildet. Aufbauend auf dem plattformübergreifenden PDF-Standard (Portable Document Format), kann Quartz 2D hochwertige Texte und Grafiken mit Kantenglättung anzeigen und ausdrucken und bietet Unterstützung für OpenType-, PostScript- und TrueType-Zeichensätze ([[wikipedia:de:Quartz|mehr ...]]) Im folgenden ein paar gesammelte Links zu interessanten Informationen im Web rund um das Thema Quartz und Quartz Extreme. ===Quartz Bibliothek=== * [[wikipedia:de:Quartz|Quartz]] in der Wikipedia ([[wikipedia:en:Quartz_(graphics_layer)|engl.]]) * ADC: [[ADC:graphicsimaging/quartz/|Graphics & Imaging - Quartz]] * Apple: [http://developer.apple.com/documentation/MacOSX/Conceptual/SystemOverview/SystemArchitecture/chapter_3_section_4.html Übersicht für Entwickler] ===Quartz Extreme=== * [http://www.quartzcompositions.com/ quartzcompositions.com] * [http://www.quartzcompositions.com/phpBB2/mediawiki/index.php/Main_Page QuartzComposer Wiki] obiger Seite ==Siehe auch== * [[wikipedia:de:Core_Animation|Core Animation]] in der Wikipedia ([[wikipedia:en:Core_Animation|engl.]]) * ADC: [[ADC:documentation/Cocoa/Conceptual/CoreAnimation_guide/index.html|Introduction to Core Animation Programming]] 31f115be92a0ab6c97fa6af89b85865f0784a6fc QuickLook 0 312 1613 1612 2023-03-15T07:51:41Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:OS]] QuickLook ist ein neues Feature von Mac OS X Leopard zur Vorschau verschiedenster Dateiformate und -typen. Es lässt sich über Plugins erweitern, um noch mehr verschiedene Dateiformate lesen zu können. ==Quicklook neu starten== Nach der Installation benötigt das System etwas, bis es die Anwesenheit neuer Plugins (= Quicklook Generator) bemerkt. Das kann man auf folgende Arten beschleunigen: * Quicklook im [[:Category:Terminal|Terminal]] mit {{Man|1=qlmanage|2={{TT|qlmanage}}}} zurücksetzen:<pre>qlmanage -r</pre>Dadurch wird der QuickLook Server neu gestartet und der Cache gelöscht. * Den Finder neu starten, dazu einfach <KB>alt</KB> drücken und gedrückt halten und dann das Finder-Dockicon rechtsklicken. Dann erscheint ein zusätzlicher Menüeintrag "Neu starten" ==Kopieren von Text== {{Contentbox|content='''Hinweis:''' funktioniert erst ab OS X 10.7 (Lion) !}} Um aus Finder-QuickLook-Fenstern Texte via Tastaturkürzel herauskopieren zu können, ist folgender Aufruf im [[:Category:Terminal|Terminal]] abzusetzen: defaults write com.apple.finder QLEnableTextSelection -bool TRUE Zurückgesetzt wird dies via defaults delete com.apple.finder QLEnableTextSelection Um die Änderung wirksam werden zu lassen, ist anschließend ist der Finder entweder via TinkerTool & Co. oder im Terminal über die folgende Anweisung neu zu starten: killall Finder Um dasselbe in Apple Mail zu erreichen, ist zusätzlich zu obiger Anweisung die folgende auszuführen: defaults write com.apple.Mail QLEnableTextSelection -bool TRUE Die Deaktivierung erfolgt via defaults delete com.apple.Mail QLEnableTextSelection Um dasselbe in Microsoft Office 2011 zu erreichen, ist zusätzlich zu obiger Anweisung die folgende auszuführen: defaults write com.microsoft.Outlook QLEnableTextSelection -bool TRUE; Die Deaktivierung erfolgt via defaults delete com.microsoft.Outlook QLEnableTextSelection ==Links== * [http://www.quicklookplugins.com/ www.quicklookplugins.com] - Verzeichnis für QuickLook Plugins * [http://d.hatena.ne.jp/t_trace/20071124 QuickLook Folder Plugin] * [http://macitbetter.com/BetterZipQL-1.0 BetterZip QuickLook Plugin] für Archive (ZIP, TAR, GZip, BZip2, ARJ, LZH, ISO, CHM, CAB, CPIO, RAR, 7-Zip, DEB, RPM, StuffIt's SIT, DiskDoubler, BinHex, und MacBinary) * [http://www.apfelquak.de/2007/11/26/sammelsurium-quicklook-plugins/ apfelquak - Sammelsurium: QuickLook-Plugins] * Macworld.com: [http://www.macworld.com/article/132443/2008/03/leopardsurvival1.html Tipps&Tricks zu Finder und Quick Look] 9e1659deace691523d83bbba3338a0e40e35d31b Rules of Thumb for Secure Passwords 0 313 1615 1614 2023-03-15T07:51:42Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Misc]]Mittlerweile wird ja allerhand durch Passworter geschützt, vom Benutzerkonto auf dem Mac über E-Mail Konten bis hin zum Online-Einkaufsportal. In diesem Artikel sollen ein paar (hoffentlich) hilfreiche Tipps zur sicheren Auswahl von Passwörtern gegeben werden. Damit man nicht den Überblick über diese Passwörter verliert, besitzt Mac OS X ja bekanntermaßen den Schlüsselbund, in dem die verwendeten Zertifikate und Passwörter - unabhängig, ob diese nun im Browser, FTP-Client oder WLAN benutzt werden - abgelegt sind. Einzusehen sind diese über das Programm "'''Schlüsselbund.app'''" (bzw. "'''Keychain.app'''"), allerdings sind dennoch einige Regeln für die Vergabe von Passwörtern zu beachten. Ist beispielsweise das Benutzerpasswort sehr leicht zu erraten, ist der Sicherheitsgewinn durch die verschlüsselte Speicherung im Schlüsselbund hin und ein Angreifer hat freien Zugriff auf alle Daten. Viele begehen auch den Fehler, für unterschiedliche Anwendungen immer dasselbe Passwort zu verwenden. Durch den Schlüsselbund ist es jedoch mittlerweile auch keine große Herausforderung mehr, mehrere verschiedene Passwörter zu verwenden - schließlich muss man sich diese ja nicht mehr alle merken. Auch bei Systemupdates und Neuinstallationen stellt das kein Problem dar, man muss jedoch nur daran denken, den Schlüsselbund vorher zu sichern (ein regelmäßiges Backup schadet sicherlich auch nicht). ==Faustregeln für Passwörter== Aus diesem Grund sollte mindestens für das Benutzerkonto ein sicheres, nicht ohne größen Aufwand zu ermittelndes Passwort gewählt werden, das den folgenden Anforderungen entsprechen sollte: # es sollte '''mindestens 8 Zeichen lang''' sein, besser länger # eine '''Kombination aus Groß- und Kleinbuchstaben, Sonderzeichen und Zahlen''' ist ebenfalls empfehlenswert. Der Umfang der verwendbaren Zeichen ist dabei jedoch von der Anwendung abhängig, so sind oftmals Umlaute und manche Sonderzeichen nicht verwendbar (vor allem bei Internet-Anwendungen). # '''Eigennamen und andere leicht zu erratende Wörter''' sollten auf keinen Fall verwendet werden. # '''Hinweistexte beim Login''' sind - insbesondere in Verbindung mit einem leicht zu erratenden Passwort - geradezu eine Einladung zum Ratespiel. Auch wenn die Bequemlichkeit dazu verleitet, dieses Feature zu benutzen, ist dringend davon abzuraten! # Das Passwort sollte '''kein Wort aus einem Lexikon oder Wörterbuch''' sein, da man diese sehr einfach durch automatisierte Abfragen durch "Trial and Error" (auch bekannt als "Wörterbuch Attacke") ermitteln kann. Ebenso sind '''Wörter des Alltags''' zu vermeiden, beispielsweise bekannte Persönlichkeiten oder Orte. # Auch '''Begriffe aus dem gesellschaftlichen Umfeld''' sollten unbedingt vermieden werden, die Gefahr durch das sogenannte "social engineering" ist nicht zu unterschätzen! # '''einfache Zahlen- und Buchstabentauscher''' oder das '''Rückwärtsschreiben von Wörtern''' werden oft verwendet, beispielsweise indem aus zwei Wörtern die Buchstaben abwechselnd aneinandergehängt werden. Auch solche einfachen "Algorithmen" lassen sich sehr einfach knacken. # '''Bei Zahlenkombinationen gilt dasselbe''', sie sind mitunter sehr leicht zu erraten (z.B. Geburtstage oder Ähnliches). # '''Ein sicherer Aufbewahrungsort''' sollte selbstverständlich sein, damit ist nicht der Post-It Kleber hinter dem Monitor oder unter der Tastatur gemeint!!! ==Passwörter erzeugen== Jeder dürfte wohl so seine eigene Methode haben, Passwörter zu erzeugen. Einige mögliche Vorgehensweisen sind beispielsweise die Folgenden: ===durch das Zerlegen von Sätzen=== Eine sehr einfache Möglichkeit ist es, aus einem möglichst langen Satz immer die Anfagsbuchstaben (oder Endbuchstaben) der einzelnen Wörter herauszupicken. Diese Vorgehensweise ist wohl auch recht verbreitet, allerdings ist hier naturgemäß der Zeichenumfang relativ gering (zumindest falls es sich um sytaktisch und semantisch korrekte Sätze handelt). '''Beispiel:''' :''"Bitte kopieren Sie keine Webseiten, die nicht Ihre eigenen sind, benutzen Sie keine urheberrechtlich geschützten Werke ohne Erlaubnis des Copyright-Inhabers!"'' ergibt BkSkW,dnIes,bSkugWoEdC-I! Besser als "Start", "Mausi" oder "login" ist es allemal ;) ===Mit Mac OS Bordmitteln=== Auch das Mac OS X System bringt bereits einige Tools mit, die man für diesen Zweck benutzen kann: ====Kennwort Assistent==== Seit Mac OS X Panther (10.3) befindet sich Im Schlüsselbund versteckt ein kleines Tool, mit dem sichere Passwörter erstellt werden können. Erreichbar ist es zum Beispiel über das Anlegen eines neuen Passwortes (Datei-Menü) via<KB>apfel + n</KB> und im daraufhin erscheinenden Eingabefenster über das Schlüssel-Symbol: [[Image:Keychain_CreateNewPassword.png]] Der Assistent ist außerdem auch beim Anlegen eines Benutzers über die Systemeinstellungen erreichbar: [[Image:System_Preferences_PasswordAssistant.png]] Anschließend erscheint das folgende Fenster: [[Image:Keychain_PasswordAssistant.png]] ====md5 Verschlüsselung==== Durch einfach Angabe eines "normalen" Satzes wie diesem hier: "huhu ich bin ein hornochse" erhält man durch Eingabe von md5 -s "huhu ich bin ein hornochse" die Passphrase a258cdf2fbf487535c6a5cafa7d8604d Weitere Informationen dazu sind in der {{Man|md5|manpage von md5}} nachzulesen. ====htpasswd==== {{Man|htpasswd|htpasswd}} ist eigentlich ein Hilfsprogramm, um die Benutzer- und Passwortdateien für den Webserver Apache zu erzeugen. Allerdings kann das Tool auch durch die Option "-n" veranlasst werden, die Informationen nicht in eine Datei sondern auf den Ausgabekanal des Terminals zu schreiben (sprich: das erzeugte Passwort wird angezeigt): htpasswd -n username 2mal das neue Passwort eingeben, das erzeugt beiypielsweise: New password: Re-type new password: username:kY7/MnO/h8Pb6 Der Benutzername muss angegeben werden, da das Programm immer ein Paar aus Benutzername und Passwort für das Speichern in einer Datei names .htpasswd erzeugt. Für unsere Zwecke ist es also egal, was man als Benutzername angibt. Weitere Informationen dazu sind in der {{Man|htpasswd|manpage von htpasswd}} nachzulesen. ===Password Assistant=== Der [http://www.codepoetry.net/products/passwordassistant Password Assistant] (OpenSource) bedient sich der obigen Systemfunktion und erlaubt die Erzeugung von sicheren Passwörtern ohne den Umweg über den Schlüsselbund. ===WLAN WEP/WPA Schlüsselgenerator zweckentfremden=== Es gibt eine Reihe kostenloser Tools zur Erzeugung von WEP/WPA Keys und Passphrases, beispielsweise der [http://www.rksoft.at/rk-wlan-keygen-funktionen.html RK-WLAN-Keygen]. Dieser kann Passphrases wie diese hier erzeugen: 0-9,A-Z,a-z :X8XQQhZWsMh4d4sntHclkjSrpZnVEfqZ 0-9,A-Z,a-z + Sonderzeichen :W2y_LF$L&lLS'H|3jD{jTi%'A_h}dP[S 0-9,A-Z,a-z + erweiterte Sonderzeichen :é®r0RHµ¿/"ç)v¼¦ø6¸öP¯AË<Í`-ϱm-¼ Aus Diesen Zeichenketten muss man sich dann nur noch einen beliebigen (möglichst zufällig erzeugt aussehenden) Teilstring herauspicken und fertig ist das Profi-Passwort. Der Vorteil an diesem Tool ist, dass man den Zeichenumfang und die Schlüssellänge (8-63 Zeichen) auswählen kann. Der große Nachteil ist, dass dieses Programm nur unter Windows läuft. Allerdings existieren auch für Mac OS X [http://www.macupdate.com/search.php?keywords=password+generator eine Reihe solcher Tools], bislang habe ich jedoch (mangels Bedarf) noch keines davon getestet ... ==Passwörter überprüfen== Um vorhandene Passwörter auf ihre Sicherheit zu überprüfen, bieten sich die folgenden Möglichkeiten an: ===mac.GWDG Password Tester=== Der [http://www.mac.gwdg.de/index.php?id=60 Password Tester] von mac.GWDG ist ein kostenloses Hilfsprogramm, das sich der oben beschriebenen Systemfunktion (dem Passwort-Assistenten) bedient. Prinzipiell steht diese Funktion auch im Schlüsselbund zur Verfügung, der Password Tester vereinfacht jedoch die Nutzung ohne diesen Umweg. Nicht mehr und nicht weniger ;-) 0aa117b7fbc382146c5b8574fc7c821bb2996af6 Ruhezustand im Terminal aktivieren 0 314 1617 1616 2023-03-15T07:51:43Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Terminal]]Um den Mac in den Ruhezustand zu versetzen, genügt allgemein ein beherzter Druck auf die entsprechende [[MacOS_Keyboard_Shortcuts|Tastenkombination]] :<KB>apfel + alt + eject</KB> oder wahlweise die Aktivierung per Apfel-Menü bzw. der Druck auf den Einschaltknopf <KB>power</KB> (während man angemeldet ist). Gelegentlich jedoch ist es vonnöten, auch über das [[:Category:Terminal|Terminal]] - z.B. aus der Entfernung via SSH - den Rechner schlafen zu legen. Dazu gibt es verschiedene Möglichkeiten, wobei beider Verwendung einer SSH-Verbindung logischerweise der entsprechende Dienst ("entfernte Anmeldung") in den Systemeinstellungen (PrefPane "Sharing") aktiviert sein und eine Verbindung zum Mac bestehen muss. ==per SSH bei eingeloggtem Benutzer== Mit Hilfe von AppleScript kann ein Mac recht einfach in den Ruhezustand versetzt werden, der Aufruf erfolgt dabei über das Kommandozeilentool {{Man|osascript|osascript}} und sieht wie folgt aus: osascript -e 'tell application "Finder" to sleep' oder osascript -e 'tell application "System Events" to sleep' In Verbindung mit dem Kommandozeilentool {{Man|ssh|SSH}} kann das Kommando in einem Rutsch abgesetzt werden: ssh USERNAME@HOSTNAME osascript -e 'tell application "Finder" to sleep' wobei "USERNAME" und "HOSTNAME" entsprechend zu ersetzen sind. Das funktioniert jedoch nur, wenn der Benutzer (der dieses Kommando ausführt), aktuell bereits am System - also über die GUI - angemeldet ist; andernfalls erscheint eine Fehlermeldung. Dabei ist es empfehlenswert, den Rechner per Passwort zu schützen. Das erreicht man durch Aktivieren der Option "Kennwort verlangen beim Beenden des Ruhezustandes oder des Bildschirmschoners" im PrefPane "Sicherheit" der Systemeinstellungen, wodurch verhindert wird, dass sich bei angemeldetem Benutzer jemand lokal am Mac zu schaffen machen kann. ==per SSH mit SleepNow== [http://www.snoize.com/SleepNow/ SleepNow] (OpenSource) ist ein kleines [[:Category:Terminal|Terminal]]-Progrämmchen, um den Mac in den Ruhezustand zu versetzen. Der Benutzer muss dazu allerdings über Administratorrechte verfügen, also in der Gruppe "admin" sein. In den Benutzereinstellungen ist das an der Option "Der Benutzer darf diesen Computer verwalten" zu erkennen. '''Hinweis:''' Im Allgemeinen genügt es völlig, mit einem weniger privilegierten Benutzer zu arbeiten. Es sollten keine Administratorprivilegien vergeben werden, nur um diese Funktion nutzen zu können! Mehr Informationen dazu sind in der Artikelreihe "[[Mac_OS_X_absichern_-_Betriebssystemkonfiguration|Mac OS X absichern / Betriebssystemkonfiguration]]" verfügbar. Um den Ruhezustand zu aktivieren, ist nur der Aufruf von "SleepNow" durch die Eingabe von SleepNow im Terminal nötig, alternativ kann - wenn man root-Anmeldungen via SSH erlaubt (nicht zu empfehlen!) auch das folgende Kommando verwendet werden: ssh root@HOSTNAME SleepNow ==Automatisiert via {{Man|pmset|pmset}}== Eine weitere Möglichkeit bietet sich mit dem Kommandozeilentool {{Man|pmset|pmset}}, das im Prinzip die Funktionen der graphischen Benutzeroberfläche (Systemeinstellungen, PrefPane "Energie sparen") auf der Kommandozeile zur Verfügung stellt. Dabei können sowohl einmalige als auch wiederkehrende Vorgänge automatisiert werden, beispielsweise das tägliche Aufwachen um eine bestimmte Uhrzeit. Da es in diesem Artikel jedoch primär um die sofortige Nutzung des Ruhezustands geht, wird auf diese Möglichkeit an dieser Stelle nicht weiter eingegangen. Weiterführende Informationen dazu sind {{Man|pmset|in der Manpage von pmset}} sowie im [[Pmset|Macwrench-Artikel zu pmset]] verfügbar, bei [http://www.macosxhints.com macosxhints.com] sind außerdem [http://www.macosxhints.com/search.php?query=pmset&type=stories&mode=search&keyType=all einige Artikel zum Thema] verfügbar. ==Weitere Informationen== Wie man den Mac aus der Entfernung ganz ausschaltet, wird [http://www.macworld.com/weblogs/macosxhints/2006/12/remoteshut/index.php in diesem Macworld Artikel] beschrieben. d492d523e112b23ad503cc7c2849e084aeef4f6b Schnellen Wechsel zum zuletzt verwendeten Space aktivieren 0 315 1619 1618 2023-03-15T07:51:43Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Hint]][[Category:OS]] Benutzer eines [https://www.apple.com/de/magictrackpad/ Magic Trackpad] können eine nicht über die Systemeinstellungen verfügbare Geste aktivieren, um mit einem Doppeltap von vier Fingern zum zuletzt verwendeten Space zu wechseln. Dazu ist im {{Terminal}} folgende Anweisung auszuführen: defaults write com.apple.dock double-tap-jump-back -bool TRUE Anschließend muss das Dock mit folgendem Kommando neu gestartet werden: killall Dock Um diese Option wieder zu deaktivieren, genügt folgende Terminal-Anweisung, wiederum gefolgt von einem Neustart des Dock: defaults delete com.apple.dock double-tap-jump-back killall Dock 7ddc8b20a771fb61462bccb07a9bd9e9e19e735a Screencapture 0 316 1621 1620 2023-03-15T07:51:43Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:OS]][[Category:Terminal]] {{TT|1={{Man|screencapture|screencapture}}}} ist ein Kommandozeilenprogramm für das Erstellen von Screenshots, vergleichbar zum [[Dienstprogramme_und_ihre_Terminal-Äquivalente|Dienstprogramm]] "Grab" (Bildschirmfoto). Im Wesentlichen beherrscht es die folgenden Aufgaben: * Screenshot direkt in die Zwischenablage speichern * Mauszeiger im Screenshot anzeigen uvm. ==Optionen== <pre> usage: screencapture [-icMPmwsWxSCUto] [files] -c force screen capture to go to the clipboard -C capture the cursor as well as the screen. only in non-interactive modes -d display errors to the user graphically -i capture screen interactively, by selection or window control key - causes screen shot to go to clipboard space key - toggle between mouse selection and window selection modes escape key - cancels interactive screen shot -m only capture the main monitor, undefined if -i is set -M screen capture output will go to a new Mail message -o in window capture mode, do not capture the shadow of the window -P screen capture output will open in Preview -s only allow mouse selection mode -S in window capture mode, capture the screen not the window -t<format> image format to create, default is png (other options include pdf, jpg, tiff and other formats) -T<seconds> Take the picture after a delay of <seconds>, default is 5 -w only allow window selection mode -W start interaction in window selection mode -x do not play sounds files where to save the screen capture, 1 file per screen </pre> == Siehe auch== * [[Dienstprogramme und ihre Terminal-Äquivalente]] * [[Mac Keyboard Shortcuts]] * [[Kurztipp - Dateiformat von Screenshots ändern]] * [[Kurztipp - Screenshots ohne Schatten]] * [[Screenshots von Dashboard-Widgets erstellen]] * [[Screenshots vom iPhone erstellen]] 7130ded87e8c987cde3b849f52fa93c7e7716946 Screenshots mit dem iPhone 0 317 1623 1622 2023-03-15T07:51:44Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[Screenshots vom iPhone erstellen]] 1dee4719947aa568d191cdaccf02c922889c92a4 Screenshots vom iPhone erstellen 0 318 1625 1624 2023-03-15T07:51:44Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Hint]]Um Screenshots des iPhone-Bildschirminhaltes zu erstellen, gibt es zwei Möglichkeiten: ==Xcode Organizer== [[Image:Xcode_icon.png|48px]] [[Image:Xcode_Organizer.png|thumb|Xcode Organizer]] Hierfür muss das iPhone als Entwicklergerät am Mac (bzw. in Xcode) angemeldet sein und im Xcode Organizer zur Verfügung stehen. Dieser ist über folgende Tastenkombination erreichbar:<KB>ctrl + cmd + o</KB> Dort wählt man das Gerät in der Navigation links aus und öffnet das Tab "Screenshots". Dort kann man dann Screenshots des iPhone-Bildschirminhaltes erstellen. Das hat den Vorteil, dass die Screenshots anschließend direkt auf dem Mac weiterverarbeitet werden können. [[Image:Info_Sign.svg|16px]] Diese Funktion ist (zumindest derzeit) im [http://www.apple.com/support/iphone/enterprise/ iPhone Konfigurationsprogramm] (Version 2.1) nicht verfügbar. ==Auf dem iPhone== [[Image:IPhone_XS_Max_Silver.svg|left|48px]] Seit iPhone OS 2.0 gibt es die Möglichkeit, direkt mit dem iPhone selber einen Screenshot zu erstellen. Dazu ist einfach der Home-Button gedrückt zu halten, während die Taste auf der Oberseite (zum Ein- und Ausschalten des Bildschirms) kurz gedrückt wird (funktioniert nicht im gesperrten Zustand). Es erscheint derselbe Effekt wie unter Mac OS X beim Erstellen eines Fotos mit PhotoBooth, das Bild landet anschließend bei den übrigen Alben in der Foto-Sammlung des iPhone. 26f5ab199092da7b0680475fd0159b04d60bee03 Spotlight 0 319 1627 1626 2023-03-15T07:51:46Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:OS]] ==Spotlight== Spotlight ist die neue, mit MacOS 10.4 (aka Tiger) eingeführe Suchengine ===Tastaturshortcuts=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" |-- bgcolor="#ffffff" | width="300px" | Spotlight-Suche starten || width="100px" | {{Key press|CMD|Space}} (konfigurierbar) |-- bgcolor="#ffffff" | Spotlight-Suche in neuem Fenster starten || {{Key press|CMD|Shift|Space}} |} '''Im Ergebnisfenster:''' {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" |-- bgcolor="#ffffff" | width="300px" | Top-Treffer direkt öffnen || width="100px" | {{Key press|CMD|Return}} |-- bgcolor="#ffffff" | Zum ersten Treffer der nächsten Kategorie wechseln || {{Key press|CMD|down}} |-- bgcolor="#ffffff" | Zum ersten Treffer der vorigen Kategorie wechseln || {{Key press|CMD|up}} |-- bgcolor="#ffffff" | Zum ersten Treffer der Liste wechseln || {{Key press|Ctrl|up}} |-- bgcolor="#ffffff" | Zum letzten Treffer der Liste wechseln || {{Key press|Ctrl|down}} |-- bgcolor="#ffffff" | Eintrag im Finder zeigen || {{Key press|CMD|click}} |-- bgcolor="#ffffff" | 1x: Suchefeld und -ergebnisse löschen<br />2x: das Ergebnisfenster schließen || {{Key press|Esc}} |} ===Suchoperatoren=== In den Spotlight Suchanfragen können Begriffe auch geklammert sowie andere [[wikipedia:de:Logischer_Operator|boolesche Operatoren]] verwendet werden: Außerdem kann durch Verwendung des Präfix "{{TT|art:}}" nach Dateityp gefiltert werden: {| |-- ! Name || Operator || Beispiel |-- | width="80px" | {{TT|AND}} || width="120px" | ''(Leerzeichen)'' || width="400px" | {{TT|begriff1 begriff2}} |-- | {{TT|NOT}} || (-) || {{TT|begriff1 (-begriff3)}} |-- | {{TT|OR}} || {{TT|<nowiki>|</nowiki>}} || {{TT|begriff1 <nowiki>|</nowiki> begriff4}} |-- | Dateityp || {{TT|art:}} || {{TT|art:programm}}<br /> {{TT|art:bild}}, {{TT|art:bilder}}<br /> {{TT|art:lesezeichen}}<br /> {{TT|art:mail}}, {{TT|art:email}}, {{TT|art:e-mail}}<br /> {{TT|art:film}}, {{TT|art:filme}}<br /> {{TT|art:schrift}}, {{TT|art:schriften}}<br /> {{TT|art:kontakt}}<br /> {{TT|art:musik}}<br /> {{TT|art:ordner}}<br /> {{TT|art:präsentation}}<br /> {{TT|art:einstellungen}}, {{TT|art:systemeinstellungen}}<br /> {{TT|art:ereignis}}<br /> {{TT|art:aufgabe}}<br /> |} ;Beispiele <nowiki>(Schinken|Salami) Pizza(-Aufschnitt)</nowiki> Der jeweilige Typ einer Datei ist dabei lokalisiert in der jeweilgen Systemsprache (I lässt sich dabei im [[:Category:Terminal|Terminal]] mit Hilfe des Kommandos {{TT|1={{Man|mdls|mdls}}}} herausfinden: <source lang="bash"> mdls | grep "^kMDItemKind"</source> ===Indizierung=== Spotlight indiziert die folgenden Verzeichnisse: /Library/PreferencePanes/ /System/Library/PreferencePanes/ /Developer/Applications/ /Developer/Examples/ Das Benutzerverzeichnis (Home) ~/ mit den Unterverzeichnissen Documents/ Movies/ Music/ Pictures/ Library/Metadata/ Library/Caches/Metadata/ Library/Mail/ Library/Caches/com.apple.AddressBook/Metadata/ Library/PreferencePanes/ unabhängig davon, ob das Homeverzeichnis lokal, mit filevault verschlüsselt oder per Netzwerkfreigabe eingebunden verwendet wird. Spotlight indiziert '''nicht''' die folgenden Systemverzeichnisse: /automout/ /bin/ /cores/ /dev/ /private/ /sbin/ /tmp/ /usr/ /var/ /Previous Systems/ <font color="#b2b2b2">(für ein bei der 10.4 Installation ggf. erstelltes Backup) </font> /Network/ ebenso werden bei den folgenden Verzeichnissen diejenigen darunterliegenden Strukturen nicht indiziert, die oben nicht explizit aufgeführt wurden: ~/Library/ <font color="#b2b2b2">(ausser die oben genannten Verzeichniss) </font> iPod_Control/ <font color="#b2b2b2">(in gemounteten iPods) </font> /System/ <font color="#b2b2b2">(ausser die oben genannten Verzeichniss) </font> /Library/ <font color="#b2b2b2">(ausser die oben genannten Verzeichniss) </font> /Developer/ <font color="#b2b2b2">(ausser die oben genannten Verzeichniss) </font> Um Ordner aus der Indizierung auszuschliessen benennt man diese in ".noindex" um. Als Beispiel: "MeinOrdner.noindex" Wir sind immernoch auf der Suche "/sw" aus der Indizierung auszuschliessen ohne diesen umzubennen ===PHP Dateien indizieren mit Spotlight=== [[Image:Spotlightpublicphp-script.png|Bearbeiten der info.plist mit dem Preferences Editor|thumb|right|200px]] terminal öffnen und mit open /Library/Spotlight/SourceCode.mdimporter/Contents/Info.plist den PropertyEditor öffnen, dort unter Root/CFBundleDocumentTypes/0/LSItemContentTypes ein neues Sibling anlegen. Der ''key 7'' wird automatisch vergeben und muss den folgenden Wert enthalten: public.php-script Abschliessend mit {{Man|mdimport|mdimport}} -r /Library/Spotlight/SourceCode.mdimporter den SpotlightServer dazu veranlassen das plugin neu einzulesen. === Mülleimer ausschliessen=== Für manche mag es von nutzen sein, dass auch der/die Mülleimer (~/Trash/) indiziert werden. Wer aber häufig den selben Namen verwendet für seine Notizen o.ä. und diese gleich benennt und dann wieder wegschmeisst, kann mit dieser Funktion wahrscheinlich nicht sehr viel anfangen. Deshalb empfiehlt es sich dann, den Mülleimer aus der Indizierung auszuschliessen. * Im Finder {{Key press|CMD|Shift|G}} * und im Eingabe Feld "Gehe zu:" dann ~/.Trash eingeben. * In den Spotlight-Einstallungen auf Privatsphäre klicken * Den Ordner Trash aus der Menuleiste im Finder auf die Privatsphäre ziehen ==Spotlight Tuning== ===Die Suche beschleunigen=== Die Spotlight Suche ist so gebaut, dass jeder Buchstabe eine neue Suchanfrage auslöst. Die Suche kann also spürbar beschleunigt werden, indem man einen Suchstring ausserhalb zusammenbaut und dann komplett in das Suchfenster kopiert. Noch besser ist, dann einfach mit {{Key press|Opt|Shift|F}} die Suche direkt starten. Noch besser geht das, wenn Quicksilver installiert ist:<br/> # Quicksilver starten # Mit {{Key press|.}} in die Texteingabe wechseln # Suchstring eingeben # Mit {{Key press|tab}} ins nächste Feld wechseln. # "Spotlight Suche" auswählen. (mit {{Key press|Ctrl|click}} lässt sich das dann auch als default für die Texteingabe wählen. ''Anm.: nur bei installiertem Spotlight-Plugin - [[User:Hagbard|hagbard]]'' Am schnellsten schliessen lässt sich das Ergebnis- und das Suchfenster durch zweimaliges drücken von {{Key press|Esc}} === Spotlight aus der Menubar entfernen === Im Moment gibt es keine Möglichkeit, die Spotlightlupe aus der Menubar zu entfernen, ohne die Funktionalität zu verlieren. ===Erweiterte Informationen=== In der Spotlight- Suche, kann durch drücken auf das "i" die erweiterten Informationen zu diesem Ergebnis angezeigt werden. Hält man beim klicken zusätzlich {{Key press|Opt}}, so werden die erweiterten Informationen aller der Gruppe angehörenden Elemente. Alternativ geht dies auch mit {{Key press|right}} sowie {{Key press|Opt|right}} === Spotlight und launcher utilities (Quicksilver, Butler, Launchbar) === Als Quicksilver Benutzer starte ich meine Anwendungen immer noch mit Quicksilver. Zuerst wollte ich komplett auf Spotlight wechseln, aber da ist Spotlight einfach zu träge. Deshalb hab ich also in den Spotlight-Einstellungen Anwendungen und Systemeinstellungen deaktiviert und in Quicksilver dafür Adressbuch, Mail etc. deaktiviert. ==Spotlight deaktivieren== Über das Terminal kann Spotlight (z.B. aus Performancegründen oder in einer virtuellen Maschine) komplett deaktiviert werden: ===Mac OS 10.4 / 10.5=== Folgende Zeilen sind im Terminal einzugeben um ... ... Spotlight vorübergehend zu deaktivieren: sudo launchctl unload /System/Library/LaunchDaemons/com.apple.metadata.mds.plist launchctl unload /System/Library/LaunchAgents/com.apple.Spotlight.plist sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.Spotlight.plist ... Spotlight permanent zu deaktivieren: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist launchctl unload /System/Library/LaunchAgents/com.apple.Spotlight.plist sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.Spotlight.plist ... Spotlight vorübergehend wieder zu aktivieren: sudo launchctl load /System/Library/LaunchDaemons/com.apple.metadata.mds.plist launchctl load /System/Library/LaunchAgents/com.apple.Spotlight.plist sudo launchctl load -w /System/Library/LaunchAgents/com.apple.Spotlight.plist ... Spotlight permanent wieder zu aktivieren: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist launchctl load /System/Library/LaunchAgents/com.apple.Spotlight.plist sudo launchctl load -w /System/Library/LaunchAgents/com.apple.Spotlight.plist siehe auch: * [http://tech.karbassi.com/2009/05/12/how-to-fully-disable-spotlight-in-leopard/ tech.karbassi.com] * [http://osxdaily.com/2007/03/22/how-to-completely-disable-spotlight/ osxdaily.com] ===Mac OS 10.5 Quickfix=== Diese beiden Dateien an einen anderen Ort verschieben: /System/Library/LaunchAgents/com.apple.Spotlight.plist /System/Library/LaunchDaemons/com.apple.metadata.mds.plist Nach einem Systemupdate ist dies ggf. zu wiederholen ===Mac OS 10.6=== Unter 10.6 ist über folgendes Kommando Spotlight zu (de-)aktivieren: sudo mdutil -a -i off sudo mdutil -a -i on ===Mac OS 10.7=== Folgende Zeilen sind im Terminal einzugeben um ... ... Spotlight vorübergehend zu deaktivieren: sudo launchctl unload /System/Library/LaunchDaemons/com.apple.metadata.mds.plist ... Spotlight permanent zu deaktivieren: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist ... Spotlight vorübergehend wieder zu aktivieren: sudo launchctl load /System/Library/LaunchDaemons/com.apple.metadata.mds.plist ... Spotlight permanent wieder zu aktivieren: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist == Spotlight-Index neu aufbauen == Dies hilft auch oftmals, wenn der Mac App Store Aktualisierungen von längst deinstallierten Programmen anzeigt, dazu sind im Terminal folgende Anweisungen nacheinander einzugeben: Spotlight-Indizierung deaktivieren: sudo mdutil -a -i off Spotlight-daemon beenden: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist Spotlight-daemon erneut laden: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist anschließend die Indizierung neu starten: sudo mdutil -a -i on Nun sollte der Index neu aufgebaut werden, was unter Umständen eine Weile dauern kann. ==Benutzung in der Shell== ===Spotlight Kommandozeilen-Tools=== <br /> {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" |---- bgcolor="#FFFFFF" | <font face="courier">[[Mdfind|mdfind]]</font> || Spotlight-Suche |---- bgcolor="#FFFFFF" | <font face="courier">{{Man|mdls|mdls}}</font> || Anzeige der Metadaten einer Datei im Index |---- bgcolor="#FFFFFF" | <font face="courier">{{Man|mdimport|mdimport}}</font> || Ordnerstrukturen in den Metadaten-Index aufnehmen (==indizieren) |---- bgcolor="#FFFFFF" | <font face="courier">{{Man|mdutil|mdutil}}</font> || Verwaltungstool für den Spotlight Metadaten-Index |---- bgcolor="#FFFFFF" | <font face="courier">[[Mdcheckschema|mdcheckschema]]</font> || Gültigkeit eines Importschemas für Spotlight überprüfen |} ===Beispiele=== Hier sollen in Zukunft ein paar Beispiele entstehen, die man immer mal wieder gut gebrauchen kann. '''Alle Audiodateien im Home anzeigen, sortieren und doppelte aussortieren:''' [[Mdfind|mdfind]] 'kMDItemMediaTypes == "Sound" ' -onlyin "/~" | sort -fd | uniq {{Key press|return}} ==Anmerkungen zu Spotlight== ===Spotlight in Multi-Boot Systemen=== Bei Multi-Boot Systemen (also Systemen mit mehreren MacOS Installationen) ist recht nervig, dass Spotlight die von der Indizierung ausgeschlossenen Ordner und Volumes (Systemeinstellungen > Spotlight) nicht für jede Installation getrennt speichert sondern scheinbar direkt im Index. Das hat zur Folge, das entwder Spotlight nicht funktioniert oder immer alle Installationen im Index sind, was insbesondere bei verschiedenen MacOS Versionen zu Komplikationen führen kann. Ideen zur Abhilfe sind willkommen. ==Weitere Informationen== * osXdaily: [http://osxdaily.com/2007/02/15/spotlight-wont-work-fix-a-broken-spotlight-menu-with-these-troubleshooting-tips/ Fix a broken Spotlight menu with these troubleshooting tips] * osXdaily: [http://osxdaily.com/2009/09/20/disable-spotlight-in-mac-os-x-10-6-snow-leopard/ Disable Spotlight in Mac OS X 10.6 Snow Leopard] * osXdaily: [http://osxdaily.com/2007/03/22/how-to-completely-disable-spotlight/ How to completely disable Spotlight] ===Spotlight Plugins=== * Apple Downloads: [http://www.apple.com/downloads/macosx/spotlight/ Spotlight Plugins] (MD-Importer) * [http://code.google.com/p/google-toolbox-for-mac/downloads/list Xcode Plugin]: Spotlight importer für AppleScript, Xcode Projekte und Interface Builder Dateien (NIB, XIB) ===Grundlagen=== * Eine sehr gute Einfüghrung in die Funktionsweise von Spotlight ist in der [http://www.heise.de/ix iX] erschienen (Ausgabe 05/2006, Seite 150). * Apple: [[ADC:macosx/spotlight.html|Working with Spotlight]] (Übersicht) * Apple: [[ADC:documentation/Carbon/Conceptual/MetadataIntro/index.html|Introduction to Spotlight]] * Apfelwiki: [http://www.apfelwiki.de/Main/Spotlight Spotlight Tipps & Tricks] * [http://www.macdevcenter.com O'Reilly MacDevCenter]: ** [http://www.macdevcenter.com/pub/a/mac/2005/05/24/spotlight.html A Closer Look at Spotlight] ** [http://www.macdevcenter.com/pub/a/mac/2006/01/04/mdfind.html The Power of mdfind] (incl. einigen Beispielen) * Macworld: [http://www.macworld.com/weblogs/macosxhints/2006/03/photolight/index.php?lsrc=mwrss Using Photo Metadata] ===Entwicklung=== * Apple: ** [[ADC:documentation/Carbon/Conceptual/SpotlightQuery/index.html|Introduction to Spotlight Query Progamming Guide]] ** [[ADC:documentation/Carbon/Reference/MetadataAttributesRef/index.html |Spotlight Metadata Attributes Reference]] ([[ADC:documentation/Carbon/Reference/MetadataAttributesRef/MetadataAttributesRef.pdf|PDF]]) ** [[ADC:documentation/Carbon/Conceptual/MDImporters/index.html|Spotlight Importer Programming Guide]] ** [[ADC:samplecode/Spotlight/Spotlight.html|Codebeispiele zur Entwickler-Dokumentation]] * [http://www.macdevcenter.com O'Reilly MacDevCenter]: ** [http://www.macdevcenter.com/pub/a/mac/2005/07/12/spotlight.html Programming with Spotlight] ** [http://www.macdevcenter.com/pub/a/mac/2005/07/15/spotlight.html Creating Spotlight Plugins] ===Tools und Hilfsmittel=== * [http://toxicsoftware.com/blog/index.php/weblog/mdfind2/ mdfind2]: mdfind-Ersatz mit XML-Ausgabe der Suchergebnisse ===Manpages=== * {{Man|mdfind|mdfind}} * {{Man|mdls|mdls}} * {{Man|mdimport|mdimport}} * {{Man|mdutil|mdutil}} * {{Man|mdcheckschema|mdcheckschema}} db5cecbd2aa616e6fabde046d5f921218a47afcc Stickies-Quickies 0 320 1629 1628 2023-03-15T07:51:47Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:App]]Dieser Artikel soll der Sammlung verschiedener Tipps und Tricks rund um die Stickies (Notizzettel) von Mac OS X sein. ==Listen in Notizzetteln== [[Image:Stickies_-_Listen_in_Notizzetteln.png|right|150px|thumb|Listen in Notizzetteln]] Die Stickies App unterstützt formatierten Text mit Listen und verschiedenen Textstilen, besitzt hierfür jedoch keine Benutzerelemente. Lediglich beim Kopieren und Einfügen von beispielsweise einer Liste aus einer Webseite heraus übernehmen die Stickies eine solche Liste. Wenn man nun in einem Listenelement die Return-Taste betätigt, wird nicht eine neue leere Zeile erstellt (wie man es eigentlich vermuten sollte, da die Stickies eigentlich keine Funktion zum Erstellen von Listenelementen besitzen) sondern ein neues Listenelement (siehe Abbildung links). Das erkennt man auch daran, dass die Inhalte der Notizzettel in der Datei "StickiesDatabase" (zu finden unter {{tt|~/Library/}}) im [[wikipedia:de: Rich_Text_Format| Rich Text Format]] (RTF) gespeichert werden, die Listenelemente des Beispiels in der Abbildung erscheinen dann in dieser Form: \ls1\ilvl0\cf2 {\listtext \'a5 }-v = verbose\ {\listtext \'a5 }-f = force\ {\listtext \'a5 }-c = create if needed\ {\listtext \'a5 }-C = setup system\ {\listtext \'a5 }-t = test unlock\ Mehr Infos zu RTF finden sich in der Spezifikation [http://msdn.microsoft.com/library/en-us/dnrtfspec/html/rtfspec.asp über diesen Link], theoretisch müsste sich der Funktionsumfang der Stickies auf diesem Wege doch vergößern lassen ... b7abe6d2164168d72fdf1cf79b7f063c32d30d28 Swift Quickies 0 321 1631 1630 2023-03-15T07:51:47Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Terminal]] [[Category:Development]] a3ca532707fda3d92b3ab7c64322ad48f9e96dd8 System Profiler 0 322 1633 1632 2023-03-15T07:51:48Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:OS]]Der System Profiler bietet eine gute Übersicht aller wichtigen Hard- und Softwarekomponenten von Mac bzw. Mac OS X und bietet sich daher insbesondere bei Problemfällen als hilfreiches Werkzeug an. Die Auswertungen lassen sich auch als "Report" speichern, der Supportanfragen an Apple immer beigelegt werden sollte. ==Wichtige Funktionen== Im Folgenden werden die wichtigsten Funktionen kurz vorgestellt: ===Reports erstellen=== Für die Reports existieren 3 verschiedene Detailstufen, die im Menü "Darstellung" auswählbar sind: # Kurzprofil # Standardprofil # Vollständiges Profil ===Übersicht der Profile=== ''Stand: Mac OS X 10.4.7'' {| |-- bgcolor="#d6d6d6" ! width="150px" | Name || width="250px" | Beschreibung || colspan=3 | Ausgabeprofile |-- bgcolor="#e2e2e2" ! width="150px" | || width="250px" | || width ="90px" | Kurz || width ="90px" | Standard || width ="90px" | Vollständig |-- | colspan=5 bgcolor=#f2f2f2| '''Hardware''' |-- | ATA || || {{YES}} ||{{YES}} ||{{YES}} |-- | Audio (integriert)|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Bluetooth || ||{{YES}} ||{{YES}} ||{{YES}} |-- | Diagnose|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Drucker|| || ||{{YES}} ||{{YES}} |-- | Fibre Channel|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Firewire|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Grafik/Monitore|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Medium brennen|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | PC Cards|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | PCI-Cards|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Parallel-SCSI|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Serial-ATA|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Speicher|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Stromversorgung|| || ||{{YES}} ||{{YES}} |-- | USB|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | colspan=5 bgcolor=#f2f2f2| '''Netzwerk''' |-- | Airport Karte|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Firewall|| || ||{{YES}} ||{{YES}} |-- | Modems|| ||{{YES}} ||{{YES}} ||{{YES}} |-- | Umgebungen|| || ||{{YES}} ||{{YES}} |-- | Volumes|| || ||{{YES}} ||{{YES}} |-- | colspan=5 bgcolor=#f2f2f2| '''Software''' |-- | Erweiterungen|| || || ||{{YES}} |-- | Frameworks|| || || ||{{YES}} |-- | Programme|| || || ||{{YES}} |-- | Protokolldateien|| || || ||{{YES}} |-- | Schriften|| || || ||{{YES}} |-- | Startobjekte|| || || ||{{YES}} |-- | Systemeinstellungen|| || || ||{{YES}} |} Zusätzlich zu diesen Einträgen werden auf den Übersichtsseiten "Hardware", "Netzwerk" und "Software" die wichtigsten Informationen über das System zusammengefasst. Diese Übersichten sind in allen 3 Profilen verfügbar. ===Erkennen von möglichen Festplattenfehlern=== Anhand des [[wikipedia:de:Self-Monitoring,_Analysis_and_Reporting_Technology|SMART]] Status von Festplatten (auf der Seite "ATA") lässt sich ein eventueller Defekt frühzeitig erkennen, um rechtzeitig Datenverlusten vorzubeugen. ===Status von Notebook-Akkus ermitteln=== Auch über die Akkus von Notebooks lässt sich einiges in Erfahrung bringen, z.B. * Volle Ladekapazität (in mAh) * Verbleibende Kapazität (in mAh) * Stromverbrauch (in mA) * Spannung (in mV) * Anzahl der Zyklen ===Zustand der Festplatten ermitteln=== [[Image:System_Profiler_-_SMART-Status.png|right|thumb|100px|System Profiler: S.M.A.R.T. Status einer Festplatte]] Seit Mac OS X Version 10.3 kann anhand des [[wikipedia:de:Self-Monitoring,_Analysis_and_Reporting_Technology|SMART]]-Status kann ermittelt werden, in welchem Zustand sich eine Festplatte befindet, bzw. ob ein Datenverlust durch möglicherweise vorhandene Defekte droht. SMART (genauer: S.M.A.R.T.) ist dabei ein System für die Überwachung, Analyse und Statusgewinnung von Festplatten und wurde insbesondere von IBM und Seagate entwickelt, um durch das permanente Überwachen drohende Defekte frühzeitig erkennen zu können. Im System Profiler wird das Ergebnis dieser Überwachung in Form eines Eintrages auf der Seite "ATA" bei den einzelnen Festplatten angezeigt (siehe Abbildung rechts) Falls das Feld fehlen sollte, bedeutet das lediglich, dass die Festplatte diese Überwachungsmethode nicht unterstützt. Geräte von IBM/Hitachi, Seagate oder Toshiba (die auch üblicherweise in Macs verbaut werden) sollten unterstützten dies im Regelfall jedoch. Der System Profiler liefert jedoch nur eine einfache Aussage "ok" oder "nicht ok". Detailliertere Informationen können mit Hilfsprogrammen wie beispielsweise den [http://sourceforge.net/projects/smartmontools smartmontools] (Kommandozeilentools) oder dem [http://homepage.mac.com/julianmayer/ SMARTReporter] (Menü-App) ermittelt werden. ==Nutzung im Terminal== Auch im Terminal lassen sich diese Informationen auslesen, und zwar mit Hilfe des [[Dienstprogramme_und_ihre_Terminal-Äquivalente|entsprechenden Kommandozeilentools]] "system_profiler". Mehr Informationen zu dessen verwendung finden sich in der entsprechenden {{Man|system_profiler|Manpage}}. ===Liste der DataTypes=== Die auszugebenden Daten werden dabei anhand von "Datatypes" festgelegt, die einfach nach dem Kommando {{tt|system_profler}} angehängt werden. Die folgende Liste (Stand: Mac OS 10.4.7) lässt sich auch mit dem Kommando {{tt|system_profiler -listDataTypes}} ausgeben: <small> * SPHardwareDataType * SPNetworkDataType * SPSoftwareDataType * SPParallelATADataType * SPAudioDataType * SPBluetoothDataType * SPDiagnosticsDataType * SPDiscBurningDataType * SPFibreChannelDataType * SPFireWireDataType * SPDisplaysDataType * SPMemoryDataType * SPPCCardDataType * SPPCIDataType * SPParallelSCSIDataType * SPPowerDataType * SPPrintersDataType * SPSerialATADataType * SPUSBDataType * SPAirPortDataType * SPFirewallDataType * SPNetworkLocationDataType * SPModemDataType * SPNetworkVolumeDataType * SPApplicationsDataType * SPExtensionsDataType * SPFontsDataType * SPFrameworksDataType * SPLogsDataType * SPPrefPaneDataType * SPStartupItemDataType </small> ===Beispiel=== '''Ausgabe der Audio-Eigenschaften:''' system_profiler SPAudioDataType ergibt Audio (Built In): Built In Sound Card: CODEC: Texas Instruments TAS3004 Sample Rate: 44.1 KHz Number of Inputs: 1 Number of Outputs: 2 Devices: Input: Type: Internal Microphone Output: Type: Headphones Output: Type: Internal Speaker '''Informationen über CD/DVD Brenner auslesen''' system_profiler SPDiscBurningDataType ergibt: Disc Burning: MATSHITA CD-RW CW-8123: Firmware Revision: CA0T Interconnect: ATAPI Burn Support: Yes (Apple Shipped/Supported) Cache: 2048 KB Reads DVD: Yes CD-Write: -R, -RW Burn Underrun Protection CD: Yes Write Strategies: CD-TAO, CD-SAO, CD-Raw Media: No ==Weitere Informationen== * [[ADC:/testing/systemprofiler.html|kurzer ADC Artikel zur Nutzung]] des System Profiler * {{Man|system_profiler|Manpage zu system_profiler}} c5d60a42171f02d6bf12856421b881109136d482 Systemkeychain 0 323 1635 1634 2023-03-15T07:51:48Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Terminal]]systemkeychain ist ein kleines Werkzeug für das Terminal, um den Systemschlüsselbund zu bearbeiten, zu sichern und ggf. wiederherzustellen. Die Ausführung ist daher auch nur einem Administrator (bzw. einem Benutzer mit Administratorrechten) möglich. Da es derzeit noch keine manpage zu diesem Tool gibt, soll dieser Artikel hier solange als Erstz dienen und die wichtigsten Optionen auflisten: ==Nutzung== -S = Angabe einer passphrase -s = Quell-Schlüsselbund -k = Ziel-Schlüsselbund systemkeychain -S [passphrase] # (re)create system root keychain systemkeychain [-k destination-keychain] -s source-keychain ... ==Optionen== The options above have the following meanings: -v = verbose -f = force -c = create if needed -C = setup system -t = test unlock ==Beispiele== '''Einen neuen Systemschlüsselbund erstellen:''' systemkeychain -C '''Testen, ob das Unlocking funktioniert:''' systemkeychain -vt ==Weitere Informationen== * [http://darwinsource.opendarwin.org/Current/security_systemkeychain-11/src/systemkeychain.cpp Quellcode des Tools] aus dem OpenDarwin Projekt f29e6cf982ed3f3274e6aa0188c9809e562a92ed Systemwartungstools 0 324 1637 1636 2023-03-15T07:51:49Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:OS]] ==Bordmittel von MacOS X== Die folgenden Programme sind im Betriebssystem enthalten: * Festplatten-Dienstprogramm (Disk Utility) * [[System Profiler]] * Aktivitätsanzeige (Activity Monitor) * Konsole (Console, Logfile-Browser) * diverse [[Dienstprogramme und ihre Terminal-Äquivalente|Werkzeuge]] für das {{Terminal}} ==OpenSource / Freeware Tools== === [http://applejack.sourceforge.net/ AppleJack] === {{Important|'''Achtung:''' AppleJack 1.5.x ist '''NICHT''' mit Mac OS X Version 10.6 (Snow Leopard) kompatibel!}} AppleJack ist ein Systemwartungstool für das Terminal. Es ist dazu gedacht, unrerfahreneren Benutzern im Single-User-Modus Hilfestellungen zu geben, um dort Reparaturen durchzuführen. Per Textmenü können Filesystemreparaturen, Dateiberechtigungen repariert sowie Caches bereinigt, Preferences überprüft und Auslagerungsdateien entfernt werden. Das Programm ist Open Source (Donationware) und damit kostenlos verwendbar. Nach der Installation ist es folgendermassen aufrufbar: # Den Rechner neu starten # Beim Start die Tasten <KB>cmd + s</KB> gedrückt halten (siehe [[BootKeyCombos]]) # Sich als Administrator anmelden Danach sind folgende Optionen verfügbar: {| style="border-spacing:0px; padding:0px; margin-left:24px" |-- | width="200px"| {{TT|applejack}} || für manuelle Korrekturen |-- | {{TT|applejack auto}} || für eine vollautomatische Korrektur |-- | {{TT|applejack auto restart}} || für eine vollautomatische Korrektur mit anschliessendem Neustart des Rechners |} ===[http://www.mikey-san.net/sandbox/ Sandbox]=== [[Image:Sandbox_Screenshot.png|thumb|right|Screenshot von Sandbox 2, Quelle: [http://www.mikey-san.net/ www.mikey-san.net]]]ist ein einfaches Hilfsprogramm mit einer graphischen Oberfläche für die Bearbeitung der Access Control Lists (ACL, seit Mac OS 10.4). Mehr Informationen dazu sind [http://www.mikey-san.net/sandbox/documentation/ auf der Webseite] verfügbar. === Weitere Programme === * [http://www.titanium.free.fr/english.html Onyx] * [http://www.jimmitchelldesigns.com/software.html YASU] * [http://www.bresink.de/osx/TinkerTool.html TinkerTool] ==Kommerzielle Tools== * [http://www.koingosw.com/products/macpilot.php MacPilot]: siehe kurze [http://www.macnews.de/news/72104 Beschreibung] bei [http://www.macnews.de macnews.de] * Cocktail * [http://www.alsoft.com/DiskWarrior/index.html DiskWarrior] ==Siehe auch== * [[Open_Source_Anwendungen/Systemwerkzeuge|Open Source Anwendungen - Systemwerkzeuge]] * [[Dienstprogramme und ihre Terminal-Äquivalente]] * [[:Category:Terminal|Artikelkategorie "Terminal"]] * [[Hdiutil|hdiutil]] a347a42f37f9346b4191546d1aa3bb2cb5a77563 Tastaturbelegung und Zeichentabelle mit AppleScript anzeigen 0 325 1639 1638 2023-03-15T07:51:49Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:OS]][[Category:Hint]]Manchmal ist es recht hilfreich, die Tastaturbelegung (virtuelle Tastatur) oder die Sonderzeichentabelle auch außerhalb von Applikationen anzeigen zu können. Allerdings stören sich manche (z.B. [[User:Hagbard|ich]]) an dem Sprachauswahlmenü in der Menüleiste, zumal dafür nur wenige Zeilen AppleScript notwendig sind. Diese Sind im Skript-Editor in ein neues Skript einzufügen, das dann als "Programm-Bundle" (Startdialog deaktivieren) gespeichert und fortan als eigenständiges Programm aufgerufen werden kann (startet deutlich schneller als ein Skript). ==Tastatur (Keyboard Viewer)== <source lang="AppleScript" LINES="FALSE> tell application "Finder" open item "System:Library:Components:KeyboardViewer.component:Contents:SharedSupport:KeyboardViewerServer.app" of the startup disk end tell </source> ==Zeichenpalette (Character Palette)== <source lang="AppleScript" LINES="FALSE> tell application "Finder" open item "System:Library:Components:CharacterPalette.component:Contents:SharedSupport:CharPaletteServer" of the startup disk end tell </source> b70df664f680c1fae1fbaa48047618b1f51b0f2a TeX Links 0 326 1641 1640 2023-03-15T07:51:50Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:TeX]] [[Category:Links]] =Interessante TeX Links= ==TeX Allgemein== * [http://www.dante.de DANTE e.V.] - deutschsprachige Anwendervereinigung TeX * [http://www.ctan.org/ CTAN] - the Comprehensive TeX Archive Network * [http://unimac.switch.ch/students/latex.de.html LaTeX (für MacOS X)] ===Einführungen und Tutorials=== * Wikibooks: [[wikibooks:LaTeX|LaTeX]] - A guide to the LaTeX markup language (engl.) * [http://www.sbg.ac.at/psy/latex/index.htm Kurzübersicht] zur grundlegenden LaTeX Benutzung ([http://www.uni-salzburg.at Universität Salzburg]) * [[Wikipedia:de:Wikipedia:TeX|Syntax Kurzübersicht]] der [[Wikipedia:de:Hauptseite|Wikipedia]] (de) * LaTeX [http://www.weinelt.de/latex/index.html Befehlsübersicht] * [http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/teTeX/latex/latex2e-html/ltx-2.html LaTeX-Referenz] der [http://www.cam.ac.uk/ University of Cambridge] * [http://www.meta-x.de/faq/LaTeX-Einfuehrung.html Einführung] in LaTeX * noch eine [http://www.fh-wedel.de/~kn/latex/ LaTeX Einführung] (FH Wedel) * [http://linuxgazette.net/issue74/spiel.html kurze Einführung] ([http://linuxgazette.net Linux Gazette]) * [http://www.dante.de dante.de]: deutsche [http://www.dante.de/faq/de-tex-faq/html/ TeX-FAQ] ===Themenspezifische HowTos=== * [http://sites.inka.de/picasso/latex.html Grafiken in LaTeX] ===Linksammlungen und Portale=== * [http://tug.org/TeXnik/mainFAQ.cgi?file=docs TeXnik] Web Site * LaTeX [http://www.informatik.uni-freiburg.de/~diesch/tex.html Linksammlung] (Uni Freiburg) ===Weiterführende Literatur=== * O'Reilly - [http://makingtexwork.sourceforge.net/mtw/ Making TeX Work] (O'Reilly [http://www.oreilly.com/openbook OpenBook])<br />ISBN 156592-051-1 (out of print) <br />als Download verfügbar auf der [http://sourceforge.net/projects/makingtexwork Sourceforge-Seite] (Version 1.0.1, HTML) ==TeX Pakete== ===bibtex=== * [[Wikipedia:de:BibTeX|Wikipedia Artikel]] über BibTeX * [http://de.wikipedia.org/wiki/BibTeX How To Use BibTeX] * etwas ausführlichere [http://www.ecst.csuchico.edu/~jacobsd/bib/formats/bibtex.html Beschreibung von BibTeX] ===pdftex=== * [http://www.pdftex.org offizielle Webseite] ([http://freshmeat.net/projects/pdftex/ FreshMeat Projektseite]) * [http://www.tug.org/applications/hyperref/manual.html hyperref Manual] * Adobe [http://partners.adobe.com/public/developer/pdf/index_reference.html PDF Reference] * Übersicht [http://sarovar.org/docman/view.php/106/67/pdftex-syntax.txt pdftex Syntax] ===listings=== * [http://www.atscire.de/products/listings/ offizielle Webseite] ===MakeIndex=== MakeIndex ist ein allgemein anwendbarer Indexprozessor für TeX, Informationen dazu gibts unter ... * Anleitung "[http://www1.ku-eichstaett.de/urz/schriften/makeidx.pdf Sachregister erstellen mit LaTeX]" (PDF) * [http://www.lrz-muenchen.de/services/software/textverarbeitung/makeindex/ HowTo] für die Indexerstellung mit LaTeX * [http://www.jr-x.de/publikationen/latex/tipps/verzeichnisse.html Verwendung des Paketes Index] zur Indexerstellung ===KOMA-Script=== * [http://www.komascript.de offizielle deutschsprachige Seite] (siehe auch [http://www.dante.de Dante e.V.]) ==Programme== ===plattformübergreifend=== * [http://www.lyx.org/ LyX] - plattformübergreifender [[Wikipedia:de:WYSIWYM|WYSIWYM]] TeX Editor (Unix, Linux, Windows (QT/Win), MacOS X (QT/Mac), OS/2 (Xfree86)) ** [http://www.linuxfocus.org/Deutsch/March1998/article31.html Einführung in LyX] ([http://www.linuxfocus.org linuxfocus.org]) ** LyX [http://wiki.lyx.org/ Wiki] * [http://www.jabref.org/ JabRef] - bibtex Editor für die Bearbeitung einer Literaturdatenbank (JAVA) === MacOS X=== * [[wikipedia:TeXShop|TeXShop]] - umfangreiche LaTeX Arbeitsumgebung * [[wikipedia:BibDesk|BibDesk]] - bibtex Editor für die Bearbeitung einer Literaturdatenbank ===Linux=== ===Windows=== * [http://www.texniccenter.org/ TeXnicCenter] - umfangreiche LaTeX Arbeitsumgebung ([http://sourceforge.net/projeces/texniccenter SourceForge]) 8a0f815e8445158787eac26e3f7a5d01541f4cc6 UMTS Stick einrichten 0 327 1643 1642 2023-03-15T07:51:50Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:OS]]Um einen UMTS- Stick unter OSX zu installieren und zu verwenden, greifen die meisten User zur Software Ihres Netzbetreibers oder zur kommerziellen Variante [http://www.novamedia.de/de/mac-launch2net-premium.html launch2net]. Um beide Möglichkeiten zu umgehen, soll im Folgenden die Installation nur mit Bordmitteln erklärt werden. Weit verbreitet sind UMTS- Sticks von Huawei und ZTE. Einen Vergleich um welchen Stick es sich genau handelt findet man bei [http://www.surfstickvergleich.com/surf-stick-hardware-vergleich surfstickvergleich.com] === Treiber Installieren === Auch wenn es hier um die Verwendung mit Bordmitteln geht, so muss jedoch trotzdem ein Treiber für die Hardware installiert werden. Den Treiber für die Geräte von Huawei findet man unter [http://www.huaweidevice.com/resource/mini/200910149695/testmobile1014/index.html huaweidevice.com]. Es wird nur der MobileConnectDriver benötigt. Für die ZTE Geräte ist es etwas kniffliger. Auf [http://www.zte.com.au/main/Product_Downloads/MF626_downloads.htm www.zte.com.au] lädt man den ConnectionManager. Diesen jetzt aber nicht installieren, sondern mit "Paketinhalt zeigen" das .pkg öffnen und darin die Datei ./Contents/Packages/drv.pkg installieren. === CDMount deaktivieren === Nachdem der UMTS- Stick installiert ist, diesen nun einstecken. Um das nervige Mounten der InstallationsCD bei jedem einstecken zu deaktivieren: Einmal Terminal.app öffnen und mit sudo screen /dev/tty.ZTEUSBATPort (für ZTE) oder sudo screen /dev/tty.HUAWEIMobile-Modem eine Verbindung zum UMTS- Stick herstellen. Nun für ZTE at+zcdrun=8 eingeben. Was dieser mit '''{{TT|Close autorun state result(0:FAIL 1:SUCCESS):1}}''' quittiert. Für den Huawei wird der Befehl at^U2DIAG=256 verwendet. Dieser wird mit einem einfachen '''{{TT|OK}}''' quittiert. Damit ist das nervige Laden der InstallationsCD erstmal beendet. Weitere Details für die jeweiligen AT Befehle gibt es unter [http://3g-modem.wetpaint.com/page/ZTE+AT-commands ZTE] bzw. [http://3g-modem.wetpaint.com/page/Huawei+AT-commands HUAWEI] === PIN Eingabe === Um das ganze abzukürzen kann die PIN- Eingabe in jedem beliebigen Handy deaktiviert werden. SIM- Karte einlegen und PIN deaktiveren. Nach dem neustart sollte dann automatisch verbunden werden. Da dies jedoch sicherheitstechnisch bedenklich ist, kann die PIN- Eingabe wie folgt vorgenommen werden: * Wieder wie bereits oben dargestellt mittels Terminal und screen auf das Gerät verbinden: * PIN- Status prüfen:<br />Eingabe: {{TT|AT+CPIN?}}<br />Ausgabe: {{TT|+CPIN: READY}} (keine PIN- Eingabe erforderlich) * PIN- Eingeben:<br />Eingabe: {{TT|1=AT+CPIN="1234"}}, anschliessend wie o.g. PIN- Status prüfen * Netzwerkverbindung prüfen:<br />Eingabe: {{TT|at+creg?}}<br />Ausgabe: {{TT|+CREG: 0,1}} (Wert 1 bedeudet, dass aktuell im Heimnetz eingebucht. 5 An dieser Stelle zeigt eine Verbindung in einem fremden Netz. Alles andere ist keine Verbindung * Signalstärke prüfen:<br />Eingabe: {{TT|at+csq}}<br />Ausgabe: {{TT|+CSQ: 11,99}}<br /> Wichtig ist der erste zurückgelieferte Wert. Dieser gibt die Signalstärke an:<br />{{TT|1=0 ...... <= -113dBm}}}}<br />{{TT|1 ...... -111dBm}}<br />{{TT|2-30 ... -109dBm to -53dBm}}<br />{{TT|1=31 ..... >= -51dBm}}<br />{{TT|99 ..... Unknown}} === UMTS oder GPRS, wie bin ich verbunden?=== Nach ca. 20 Sekunden sollte der UMTS- Stick blau blinken. Es blinkt ungefähr einmal pro Sekunde, sobald erfolgreich mit dem Provider verbunden worden ist.<br />Blinkt die LED grün, so ist man nur mit GPRS verbunden. Ein doppeltes Blinken bedeudet, dass keine Verbindung besteht. Die manuelle Variante besteht in einem weiteren AT- Befehl: * Verfügbare Netze anzeigen:<br /> Eingabe: at+cops=? <br /> Ausgabe: {{TT|+COPS: (2,"o2 - de","o2 - de","26207",'''0'''),(1,"T-Mobile D","TMO D","26201",0),(1,"Vodafone.de","","26202",0),(1,"E-Plus","E-Plus","26203",0),,(0,1,2,3,4),(0,1,2)}}<br /> In diesem Beispiel sieht man, dass mehr als nur ein Netzbetreiber verfügbar ist. Auf die fett dargestellte Zahl muss nun geachtet werden. Die Null (0) ist für eine GSM- Abeckung, eine zwei (2) zeigt UMTS (3G) Abdeckung. * Verbundenes Netz anzeigen:<br /> Eingabe: {{TT|at+cops?}}<br /> Ausgabe: {{TT|+COPS: 0,2,'''"26207"''','''0'''}}<br /> Aus dieser Ausgabe kann nun gelesen werden, dass man mit dem Provider mit der ID '''26207''' (siehe oben => O2) mit GSM (0) verbunden ist. === Internetzugriff konfigurieren === Nachdem nun erfolgreich der UMTS- Stick installiert wurde und die Grundfunktionalität geprüft ist, kann nun die eigentliche Einrichtung des Internetzugangs erfolgen. Hierzu unter '''Systemeinstellungen - Netzwerk''' das entsprechende Modem konfigurieren. Für ZTE lautet dieses '''ZTEUSBModem'''. Für Huawei '''HUAWEIMobile-Modem'''. Als Telefonnummer gibt man nun die {{TT|*99#}} an. Dann auf den Button '''Weitere Optionen'''. Der Hersteller ist '''Allgemein''', das Modell '''GPRS (GSM/3G)'''. Der APN muss je nach Provider angepasst werden. '''ACHTUNG:''' Eine Fehlkonfiguration an dieser Stelle kann mit erheblichen Kosten verbunden sein. Auskunft gibt hierzu der Provider! Mit dem Button '''Verbinden''' kann nun eine Verbindung aufgebaut werden. 489996a61acf9798dd2004a647fd19af7d09e17f 1674 1643 2023-03-15T08:06:48Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Museum]]Um einen UMTS- Stick unter OSX zu installieren und zu verwenden, greifen die meisten User zur Software Ihres Netzbetreibers oder zur kommerziellen Variante [http://www.novamedia.de/de/mac-launch2net-premium.html launch2net]. Um beide Möglichkeiten zu umgehen, soll im Folgenden die Installation nur mit Bordmitteln erklärt werden. Weit verbreitet sind UMTS- Sticks von Huawei und ZTE. Einen Vergleich um welchen Stick es sich genau handelt findet man bei [http://www.surfstickvergleich.com/surf-stick-hardware-vergleich surfstickvergleich.com] === Treiber Installieren === Auch wenn es hier um die Verwendung mit Bordmitteln geht, so muss jedoch trotzdem ein Treiber für die Hardware installiert werden. Den Treiber für die Geräte von Huawei findet man unter [http://www.huaweidevice.com/resource/mini/200910149695/testmobile1014/index.html huaweidevice.com]. Es wird nur der MobileConnectDriver benötigt. Für die ZTE Geräte ist es etwas kniffliger. Auf [http://www.zte.com.au/main/Product_Downloads/MF626_downloads.htm www.zte.com.au] lädt man den ConnectionManager. Diesen jetzt aber nicht installieren, sondern mit "Paketinhalt zeigen" das .pkg öffnen und darin die Datei ./Contents/Packages/drv.pkg installieren. === CDMount deaktivieren === Nachdem der UMTS- Stick installiert ist, diesen nun einstecken. Um das nervige Mounten der InstallationsCD bei jedem einstecken zu deaktivieren: Einmal Terminal.app öffnen und mit sudo screen /dev/tty.ZTEUSBATPort (für ZTE) oder sudo screen /dev/tty.HUAWEIMobile-Modem eine Verbindung zum UMTS- Stick herstellen. Nun für ZTE at+zcdrun=8 eingeben. Was dieser mit '''{{TT|Close autorun state result(0:FAIL 1:SUCCESS):1}}''' quittiert. Für den Huawei wird der Befehl at^U2DIAG=256 verwendet. Dieser wird mit einem einfachen '''{{TT|OK}}''' quittiert. Damit ist das nervige Laden der InstallationsCD erstmal beendet. Weitere Details für die jeweiligen AT Befehle gibt es unter [http://3g-modem.wetpaint.com/page/ZTE+AT-commands ZTE] bzw. [http://3g-modem.wetpaint.com/page/Huawei+AT-commands HUAWEI] === PIN Eingabe === Um das ganze abzukürzen kann die PIN- Eingabe in jedem beliebigen Handy deaktiviert werden. SIM- Karte einlegen und PIN deaktiveren. Nach dem neustart sollte dann automatisch verbunden werden. Da dies jedoch sicherheitstechnisch bedenklich ist, kann die PIN- Eingabe wie folgt vorgenommen werden: * Wieder wie bereits oben dargestellt mittels Terminal und screen auf das Gerät verbinden: * PIN- Status prüfen:<br />Eingabe: {{TT|AT+CPIN?}}<br />Ausgabe: {{TT|+CPIN: READY}} (keine PIN- Eingabe erforderlich) * PIN- Eingeben:<br />Eingabe: {{TT|1=AT+CPIN="1234"}}, anschliessend wie o.g. PIN- Status prüfen * Netzwerkverbindung prüfen:<br />Eingabe: {{TT|at+creg?}}<br />Ausgabe: {{TT|+CREG: 0,1}} (Wert 1 bedeudet, dass aktuell im Heimnetz eingebucht. 5 An dieser Stelle zeigt eine Verbindung in einem fremden Netz. Alles andere ist keine Verbindung * Signalstärke prüfen:<br />Eingabe: {{TT|at+csq}}<br />Ausgabe: {{TT|+CSQ: 11,99}}<br /> Wichtig ist der erste zurückgelieferte Wert. Dieser gibt die Signalstärke an:<br />{{TT|1=0 ...... <= -113dBm}}}}<br />{{TT|1 ...... -111dBm}}<br />{{TT|2-30 ... -109dBm to -53dBm}}<br />{{TT|1=31 ..... >= -51dBm}}<br />{{TT|99 ..... Unknown}} === UMTS oder GPRS, wie bin ich verbunden?=== Nach ca. 20 Sekunden sollte der UMTS- Stick blau blinken. Es blinkt ungefähr einmal pro Sekunde, sobald erfolgreich mit dem Provider verbunden worden ist.<br />Blinkt die LED grün, so ist man nur mit GPRS verbunden. Ein doppeltes Blinken bedeudet, dass keine Verbindung besteht. Die manuelle Variante besteht in einem weiteren AT- Befehl: * Verfügbare Netze anzeigen:<br /> Eingabe: at+cops=? <br /> Ausgabe: {{TT|+COPS: (2,"o2 - de","o2 - de","26207",'''0'''),(1,"T-Mobile D","TMO D","26201",0),(1,"Vodafone.de","","26202",0),(1,"E-Plus","E-Plus","26203",0),,(0,1,2,3,4),(0,1,2)}}<br /> In diesem Beispiel sieht man, dass mehr als nur ein Netzbetreiber verfügbar ist. Auf die fett dargestellte Zahl muss nun geachtet werden. Die Null (0) ist für eine GSM- Abeckung, eine zwei (2) zeigt UMTS (3G) Abdeckung. * Verbundenes Netz anzeigen:<br /> Eingabe: {{TT|at+cops?}}<br /> Ausgabe: {{TT|+COPS: 0,2,'''"26207"''','''0'''}}<br /> Aus dieser Ausgabe kann nun gelesen werden, dass man mit dem Provider mit der ID '''26207''' (siehe oben => O2) mit GSM (0) verbunden ist. === Internetzugriff konfigurieren === Nachdem nun erfolgreich der UMTS- Stick installiert wurde und die Grundfunktionalität geprüft ist, kann nun die eigentliche Einrichtung des Internetzugangs erfolgen. Hierzu unter '''Systemeinstellungen - Netzwerk''' das entsprechende Modem konfigurieren. Für ZTE lautet dieses '''ZTEUSBModem'''. Für Huawei '''HUAWEIMobile-Modem'''. Als Telefonnummer gibt man nun die {{TT|*99#}} an. Dann auf den Button '''Weitere Optionen'''. Der Hersteller ist '''Allgemein''', das Modell '''GPRS (GSM/3G)'''. Der APN muss je nach Provider angepasst werden. '''ACHTUNG:''' Eine Fehlkonfiguration an dieser Stelle kann mit erheblichen Kosten verbunden sein. Auskunft gibt hierzu der Provider! Mit dem Button '''Verbinden''' kann nun eine Verbindung aufgebaut werden. b3b99972105a4d8a8402360cbbaba782e4fca67f Networking cables and interfaces 0 328 1645 1644 2023-03-15T07:51:51Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Network]]Trotz der eigentlich relativ einfachen Verkabelung bei Ethernet, ISDN oder normalen Telefonen ist doch hin und wieder etwas zu beachten. Daher im Folgenden eine kleine Übersicht über verwendete Kabeltypen, Steckerformen, Leitungsbelegungen, Farbcodierungen etc. für den alltäglichen Verkabelungswahnsinn: ==Kabel== Im Bereich der Netzwerke werden derzeit die folgenden Mediemtypen verwendet: * Kupferverkabelung (Copper) * Glasfaserkabel (Fibrechannel / Optical Media) * Funkübertragung (Wireless Media) wobei in diesem Artikel nur die für eine Netzwerkverkabelung aktuell relevanten Medientypen unter Verwendung von RJ45-Steckern und -Kabeln näher betrachtet werden sollen: ===RJ-XX Stecker=== Bei Ethernet kommen sog. [[wikipedia:de:RJ45|RJ45]] Stecker zum Einsatz, wobei RJ-XX eine übliche Abkürzung für von der FCC genormte Steckerverbindungen ist (RJ = Registered Jack, genormte Buchse). Die bekanntesten dieser ''Westernstecker'' sind: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" |-- bgcolor="#ffffff" | width="80px" | RJ-11 || 4-poliger Westernstecker (6 Kontaktpositionen, Verwendung z.B. als ANschlußkabel analoger Telefone) |-- bgcolor="#ffffff" | width="80px" | RJ-12 || 6-poliger Westernstecker (z.B. als Anschlußkabel von Modems) |-- bgcolor="#ffffff" | width="80px" | RJ-14 || 4-poliger Westernstecker (Telefonstecker), findet z.B. Verwendung bei analogen Telefonen (z.B.: Anschluß des Telefonhörers) |-- bgcolor="#ffffff" | width="80px" | RJ-45 || 8-poliger Westernstecker, Verwendung z.B. bei ISDN (IAE) oder Ethernet (UAE) |-- bgcolor="#ffffff" | width="80px" | DEC || 4-poliger RJ-11 Westernstecker, wobei nur 2 Leitungen belegt sind. Verwendung z.B. bei ISDN (vom Hausanschluß zur NTBA) oder DSL (zwischen Splitter und Modem). Die Rastnase ist bei dieser Art RJ-Stecker leicht versetzt angebracht. |} ===Verdrillte Kabeltypen=== Bei Ethernet kommen also RJ-45 Stecker zum Einsatz, wobei heute die 8 Adern in Form 4 verdrillter Leitunspaare ausgelegt sind. Bei 1MBit Ethernet genügten dagegen auch 4 adrige Leitungen (mit 2 verdrillten Paaren). Bei der Abschirmung wird unterschieden zwischen 3 Typen: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" |-- bgcolor="#ffffff" | width="80px" | U-UTP || unshielded/unshielded (gar keine Schirmung) |-- bgcolor="#ffffff" | width="80px" | S-UTP || shielded/unshielded (eine Schirmung außen), wird oft auch als ScTP (Screened Twisted Pair) bezeichnet |-- bgcolor="#ffffff" | width="80px" | U-FTP || unshielded/shielded (Foiled Twisted Pair): eine Schirmung um jedes Adernpaar in Form einer metallischen Folie |-- bgcolor="#ffffff" | width="80px" | S-FTP || shielded/shielded (Foiled Twisted Pair): wie U/FTP, jedoch zusätzlich mit einer Schirmung außen |-- bgcolor="#ffffff" | width="80px" | S-STP || shielded/shielded (eine Schirmung außen, zusätzlich ist jedes Adernpaar einzeln geschirmt)<br />STP = shielded Twisted-Pair |} ===Qualitätsstufen=== Abhängig von der Anwendung ist eine bestimmte Kabelqualität vonnöten, von der beispeilsweise die verfügbare Bandbreite abhängt. Derzeit wird zwischen 6 Qualitätsstufen (Kategorien) unterschieden, bei Ethernet kommen im Regelfall Cat-5/Cat-5E Kabel zum Einsatz: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" | width="80px" | Kategorie || Typ || Bandbreite || max. Kabellänge || Anwendung |-- bgcolor="#ffffff" |Cat 3 || UTP || 16 MHz || 100m || 10Base-T, 4Mbps |-- bgcolor="#ffffff" |Cat 4 || UTP || 20 MHz || 100m || 10Base-T, 16Mbps |-- bgcolor="#ffffff" |Cat 5 || UTP || 100 MHz || 100m || 100Base-Tx, ATM, CDDI<sup>1)</sup> |-- bgcolor="#ffffff" |Cat 5E || UTP || 100 MHz || 100m || 1000Base-T |-- bgcolor="#ffffff" |Cat 6 || UTP || 250MHz || 100m || -?- |-- bgcolor="#ffffff" |Cat 7 || ScTP || 600MHz || 100m || -?- |} <div style="left:20px; align:left; text-align:left; width:400px; position:relative;"><sup>1)</sup><small> '''CDDI'''<br />CDDI ist die kostengünstigere Umsetzung der Übertragungstechnik [[Netzwerktopologien#FDDI|FDDI]] durch TP-Kupferkabel. Die Kabellänge ist hier sehr stark vom Kabeltyp abhängig (UTP: ca. 50m, STP: ca. 150m)</small></div> ===Adernpaare=== Bei [[Ethernet]] werden die Leitungen immer in Form verdrillter Adernpaare ausgeführt, daher die Bezeichnung ''twisted pair (TP) Verkabelung''. Durch die Verdrillung sollen Übersprechungen zwischen den Adernpaaren reduziert werden, eine eventuell vorhandene Schirmung schützt vor elektromagnetischen Störungen von außen. Bei den meisten Anwendungen (außer z.B. dem analogen Telefon oder 1000Base-T Ethernet) werden nur 2 Adernpaare verwendet, auch wenn alle 4 verbunden sind. Dabei kommt jeweils eines für den Empfang (Rx) und den Versand (Tx) zum Einsatz. Meistens werden jedoch alle Leitungen belegt, damit das Kabel für mehere Einsatzzwecke geeignet ist (z.B. Ethernet, TokenRing, ISDN, ...). Gigabit Ethernet dagegen benötigt immer 4 Adernpaare, da hier allen 4 Adernpaaren gleichzeitig gesendet und empfangen wird ([[wikipedia:de:Vollduplex|vollduplex]]), hier kommen der Standard [http://grouper.ieee.org/groups/802/3/index.html 802.3]ab sowie Kabel der Kategorien 5 oder 6 zum Einsatz. ==Belegungen== Je nach Anwendung unterscheidet sich die Belegung der einzelnen Leitungen, im Folgenden daher eine kleine Übersicht der wichtigsten Einsatzgebiete dieser bisweilen recht fragilen (und leider nicht minder überteuerten) <s>Plastikdinger</s> Steckerchen: ===Leitunsbelegung=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" | width="80px" | Anwendung || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 |-- bgcolor="#ffffff" | Telefon (analog) || (Tel) || (Tel) || || || || || Tel || Tel |-- bgcolor="#ffffff" | ISDN || || || Tx+ || Rx+ || Rx- || Tx- || || |-- bgcolor="#ffffff" | Ethernet (10/100) || Tx+ || Tx- || Rx+ || || || Rx- || || |} Das Kabel sind dabei wie folgt aus: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" | Leitung || Adernpaar || Farbcode <small>(kann abweichen)</small> |-- bgcolor="#ffffff" | 1 || 2 || <font color="orange">orange</font> / weiß (gestreift) |-- bgcolor="#ffffff" | 2 || 2 || <font color="orange">orange</font> |-- bgcolor="#ffffff" | 3 || 3 || <font color="green">grün</font> / weiß (gestreift) |-- bgcolor="#ffffff" | 4 || 1 || <font color="blue">blau</font> |-- bgcolor="#ffffff" | 5 || 1 || <font color="blue">blau</font> / weiß (gestreift) |-- bgcolor="#ffffff" | 6 || 3 || <font color="green">grün</font> |-- bgcolor="#ffffff" | 7 || 4 || <font color="brown">braun</font> / weiß (gestreift) |-- bgcolor="#ffffff" | 8 || 4 || <font color="brown">braun</font> |} ===gekreuzte Ethernet-Leitung=== Im Gegennsatz zu Ethernet-Verbindungen von Geräten zu Verteilern oder zwischen Verteilern (Hubs / Switches), bei denen direkt verbundene Leitungen (straight) eingesetzt werden, können auch zwei Geräte direkt miteinander Verbunden werden. Hier mmüssen jedoch einige Leitungsbelegungen (Pins) vertauscht werden: [[Image:ethernet_tp-belegung.png|thumb|center|300px|Adernbelegung eines Crossover-Kabels]] Für die Belegung der Pins wird von links nach rechts durchgezählt, wobei der RJ-45 Stecker von "unten" her betrachtet wird - also von der Seite ohne Rastnase. Blickt man von der Kabelöffnung her auf den Stecker, wird von rechts nach links durchgezählt. ==Verkabelung== Hier noch eine kleine Zusammenfassung der wichtigsten Punkte, die bei der Verkabelung zu beachten sind. ===Telefon (analog)=== ====Eigenfertigung von Kabeln==== Bei der Selbstanfertigung von Telefonkabeln müssen folgende Punkte beachtet werden: * Die Impedanz des Kabels beträgt ca. 30 bis 45 Ohm * Die mittleren Kontakte sind verdreht (TAE-F) * Die mittlere Frequenz bei dieser Anwendung ist ca. 10 kHz (da auf Sprache ausgelegt) ====Belegungen==== Bei Telefonkabeln existieren je nach Anwendungszweck 2 verschiedene Belegungen - F (für Telefone) und N (für Modem, Fax, etc.) * TAE-F * TAE-N ===ISDN=== Detailliertere Informationen über den Aufbau und die verwendeten Technologien von ISDN sind im [[ISDN]] Artikel zu finden. Bezüglich der Verkabelung sind hier die folgenden Punkte zu berücksichtigen: * Bei Endgeräten ohne eigene Stromversorgung erfolgt deren Speisung über eine 40V Spannung auf dem S0 Bus - die sog. "Phantomspeisung". Dazu muss die NTBA mit Strom versorgt werden. * Bei Verwendung von Geräten in Reihenschaltung muss jedes Ende des S0 Busses mit 100 Ohm Widerständen terminiert werden, die jeweils zwischen den Adern a1-b1 und a2-b2 geschaltet sein müssen (also immer Sender-Sender und Empfänger-Empfänger). Diese Dinger kann man sich mit handelsüblichen Billig-Widerständen (induktionsarme wären nicht schlecht) selber basteln, fertig konfektioniert holen sichs die Hersteller mit solchem Zubehör wirklich von den Lebenden ... ====Leitungslängen==== Außerdem sind noch die maximalen Leitunslängen zu beachten: * ca. 150 Meter bei Busbetrieb (normaler Betrieb ohne weitere Konfiguration am NTBA) * ca. 1000 Meter bei Punkt zu Punkt Betrieb (bei Verwendung von Telekommunikationsanlagen) * ca. 500 Meter bei erweitertem Busbetrieb (von der NTBA aus in beide Richtungen), wobei sich die Endgeräte auf den letzten 30 Metern des Busses befinden müssen Bei kurzen Strecken ist die Sache dabei relativ fehlertolerant, so arbeitet [[User:Hagbard|meine]] ISDN-Installation hier seit Jahr und Tag ohne einen einzigen Abschlußwiderstand. ====Leitungscodierung==== Bei ISDN sind 2 Leitungscodierungen gebräuchlich: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" | NTBA || Funktion || Farbcode || Strichcode |-- bgcolor="#ffffff" | a1 || Sender || <font color="red">rot</font> || ohne Ringe |-- bgcolor="#ffffff" | b1 || Sender || <font color="black">schwarz</font> || einzelne Ringe |-- bgcolor="#ffffff" | a2 || Empfänger || <font color="grey">weiss</font> || Doppelringe mit großem Abstand |-- bgcolor="#ffffff" | b2 || Empfänger || <font color="yellow">gelb</font> || Doppelringe mit kleinem Abstand |} Daraus wird ersichtlich, das wirklich nur 4 Adern verwendet werden, auch wenn einem gerne 8adrige Kabel verkauft werden ... Oft werden jedoch auch Kabel verwendet, deren 4 Adern in Form eines Sterns angeordnet sind. Dadurch soll die Störungsempfindlichkeit gesenkt werden, was dann beim Blick auf das Kabelende so aussieht: o <font color="grey">b1</font> o o <font color="black">a2</font> <font color="yellow">b2</font> o <font color="red">a1</font> ====Beschaltung von ISDN-Dosen==== Für die ISDN-Dosen werden sowohl IAE-4/IAE-8 als auch UAE-4/UAE-8 Dosen verkauft (alle RJ-45), wobei die Belegung sich dann wie folgt gestaltet: '''IAE-4 / IAE-8'''<br /> o o <font color="yellow">b2</font> <font color="black">a2</font> <font color="grey">b1</font> <font color="red">a1</font> o o '''UAE-4 / UAE-8'''<br /> <font color="yellow">b2</font> <font color="grey">b1</font> <font color="red">a1</font> <font color="black">a2</font> 8 7 6 5 4 3 2 1 ===DSL=== {{Construction|Dieser Abschnitt fehlt im thematischen Zusammenhang und sollte noch eingefügt werden.}} ===Ethernet=== Auf Coax-Verkabelung - wie sie bei 10BaseT Installationen verwendet werden - soll an dieser Stelle nicht näher eingegangen werden, allerdings sind auch bei Twisted-Pair Verkabelungen einige Dinge zu beachten: ====Maximallängen==== * Die Maximallänge darf bei Ethernet ohne Verstärker 200 Meter auf keinen Fall überschreiten, üblicherweise wird als Maximallänge 100 Meter angegeben ([[#Qualitätsstufen|siehe oben]]). * Es gilt die im [[Ethernet]] Artikel beschriebene Einschränkung von 4 Hubs in Reihe (gilt nicht bei Verwendung von Switches). ====Eigenfertigung von Kabeln==== Bei der Selbstanfertigung von Ethernet Kabeln müssen folgende Punkte beachtet werden: * Die Impedanz des Kabels muss 100 Ohm betragen * Die Adernpaare müssen mindestens 6 Wicklungen pro laufendem Meter haben * Der Gleichstromwiderstand darf auf 330 m nicht grösser als 28.6 Ohm seim * Die Maximale Abschwächung darf auf 330 m nicht grösser als 16 db sein (bei 5 Mhz), wobei gilt: 16 db = 1/40 der Ausgangsleistung Außerdem ist zu beachten, dass bei Patchkabeln neben den Knickradius des Kabels auch die Maximallänge variieren kann, da die Kabel ja frei liegen und daher störanfälliger sind. Kat. 5 Patch-Kabel werden daher in der Regel als UTP nur in einer Länge von bis zu 10 Metern verlkauft, darüber sind es üblicherweise S/UTP oder STP Kabel. ====Kabelkategorie für Hausverkabelungen==== Für höhere Anforderungen an die Schirmung sind bei größeren Leitungslängen Kabel der Kategorie 6 zu empfehlen, das gilt insbesondere für Gigabit Ethernet. Bei der Hausverkabelung sind in der Regel größere Strecken zu überbrücken, die Kabelwahl hängt dabei jedoch stark von der Fertigungsqualität und wohl weniger von der Kategorie ab. So können Kat. 5 Kabel durchaus reichen, bieten jedoch für zukünftige Geschwindigkeitssteigerungen (in Richtung Gigabit und 10Gigabit Ethernet) nach oben hin wenig Spielraum. In dieser Hinsicht empfiehlt sich also die Verwendung von Kabeln der Kategorie 6 oder gar 7. Das muss natürlich auch unter Berücksichtigung der baulichen Gegebenheiten erfolgen, wenn beispielsweise noch weitere singalführende Leitungen im gleichen Rohr liegen, die stark einstreuen könnten (z.B. TV/Radio). Für die Außenverlegung von Netzwerkleitungen gibt es speziell dafür gefertigte Kabel, hier gilt dasselbe wie oben. Für kürzere Strecken sollten dafür (aus eigener Erfahrung mit 100Base-T) gute Kat. 5 Kabel völlig ausreichen. ===1GBit Ethernet=== Die Verkabelung in einem Gigabit Ethernet Netzwerk erfolgt üblicherweise (SOHO) ebenfalls als 1000BASE-T in Form von Twisted-Pair Kabeln (8adrig) und ist damit prinzipiell identisch mit der oben beschriebenen Verkabelung von 100MBit Ethernet. Lediglich bei den verwendeten Kabeltypen ist darauf zu achten, Cat6 oder (v.a. für Haus- und Außenverkabelungen) eventuell sogar Cat7 Kabel zu verwenden. Die maximale Leitungslänge liegt - genau wie auch bei 10BASE-T und 100BASE-TX - bei 100 Metern (ohne Repeater). ==Weitere Typen== ===10GBit Ethernet=== ===TV-Kabel (koax)=== == Ausblick == Die Ethernet Entwicklung bleibt trotz des Siegeszuges schnurloser Netzwerke mitnichten stehen. Nach der Entwicklung des Gigabit Ethernet schien es zwar so, als ob dies die letzte Entwicklungsstufe unter Verwendung von Kupferkabeln sein würde, allerdings wird derzeit bereits an 10GBit Ethernet gearbeitet - sowohl über LWL als auch über Kupferkabel. und es wird auch schon über die nächste Stufe - 100GBit Ethernet - diskutiert. ===== Cat5 oder Cat6 ===== Generell gilt: je hochwertiger und störungsunempfindlicher das Kabel ist, desto mehr Luft hat man bezüglich zukünftiger Ethernet Geschwindigkeitssteigerungen. In Anbetracht dessen dass bereits an 10 GBit über Kuperkabel entwickelt wird, würde ich persönlich insbesondere für die Hausverkabelung eher zu einer höheren Kategorie neigen. Für Patchkabel ist das ganze weniger relevant, da diese ja relativ schnell mal ausgetauscht werden können und die Kostenvorteile bei einer höheren Anzahl kurzer Kabel niedrigerer Kategorie (also 5 oder 5e) erfahrungsgemäß heftig sind. Mehr Informationen dazu auch in obigem Abschnitt "[[#ethernet|Verkabelung]]" in diesem Artikel. ===== Kupfer oder Glas ===== {{Construction|Dieser Abschnitt fehlt im thematischen Zusammenhang und sollte noch eingefügt werden.}} be0a7e57a1135847958c60de6bdf5701bf3b52ec 1682 1645 2023-03-15T08:12:24Z Hagbard 2 wikitext text/x-wiki [[Category:Networking]]Trotz der eigentlich relativ einfachen Verkabelung bei Ethernet, ISDN oder normalen Telefonen ist doch hin und wieder etwas zu beachten. Daher im Folgenden eine kleine Übersicht über verwendete Kabeltypen, Steckerformen, Leitungsbelegungen, Farbcodierungen etc. für den alltäglichen Verkabelungswahnsinn: ==Kabel== Im Bereich der Netzwerke werden derzeit die folgenden Mediemtypen verwendet: * Kupferverkabelung (Copper) * Glasfaserkabel (Fibrechannel / Optical Media) * Funkübertragung (Wireless Media) wobei in diesem Artikel nur die für eine Netzwerkverkabelung aktuell relevanten Medientypen unter Verwendung von RJ45-Steckern und -Kabeln näher betrachtet werden sollen: ===RJ-XX Stecker=== Bei Ethernet kommen sog. [[wikipedia:de:RJ45|RJ45]] Stecker zum Einsatz, wobei RJ-XX eine übliche Abkürzung für von der FCC genormte Steckerverbindungen ist (RJ = Registered Jack, genormte Buchse). Die bekanntesten dieser ''Westernstecker'' sind: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" |-- bgcolor="#ffffff" | width="80px" | RJ-11 || 4-poliger Westernstecker (6 Kontaktpositionen, Verwendung z.B. als ANschlußkabel analoger Telefone) |-- bgcolor="#ffffff" | width="80px" | RJ-12 || 6-poliger Westernstecker (z.B. als Anschlußkabel von Modems) |-- bgcolor="#ffffff" | width="80px" | RJ-14 || 4-poliger Westernstecker (Telefonstecker), findet z.B. Verwendung bei analogen Telefonen (z.B.: Anschluß des Telefonhörers) |-- bgcolor="#ffffff" | width="80px" | RJ-45 || 8-poliger Westernstecker, Verwendung z.B. bei ISDN (IAE) oder Ethernet (UAE) |-- bgcolor="#ffffff" | width="80px" | DEC || 4-poliger RJ-11 Westernstecker, wobei nur 2 Leitungen belegt sind. Verwendung z.B. bei ISDN (vom Hausanschluß zur NTBA) oder DSL (zwischen Splitter und Modem). Die Rastnase ist bei dieser Art RJ-Stecker leicht versetzt angebracht. |} ===Verdrillte Kabeltypen=== Bei Ethernet kommen also RJ-45 Stecker zum Einsatz, wobei heute die 8 Adern in Form 4 verdrillter Leitunspaare ausgelegt sind. Bei 1MBit Ethernet genügten dagegen auch 4 adrige Leitungen (mit 2 verdrillten Paaren). Bei der Abschirmung wird unterschieden zwischen 3 Typen: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" |-- bgcolor="#ffffff" | width="80px" | U-UTP || unshielded/unshielded (gar keine Schirmung) |-- bgcolor="#ffffff" | width="80px" | S-UTP || shielded/unshielded (eine Schirmung außen), wird oft auch als ScTP (Screened Twisted Pair) bezeichnet |-- bgcolor="#ffffff" | width="80px" | U-FTP || unshielded/shielded (Foiled Twisted Pair): eine Schirmung um jedes Adernpaar in Form einer metallischen Folie |-- bgcolor="#ffffff" | width="80px" | S-FTP || shielded/shielded (Foiled Twisted Pair): wie U/FTP, jedoch zusätzlich mit einer Schirmung außen |-- bgcolor="#ffffff" | width="80px" | S-STP || shielded/shielded (eine Schirmung außen, zusätzlich ist jedes Adernpaar einzeln geschirmt)<br />STP = shielded Twisted-Pair |} ===Qualitätsstufen=== Abhängig von der Anwendung ist eine bestimmte Kabelqualität vonnöten, von der beispeilsweise die verfügbare Bandbreite abhängt. Derzeit wird zwischen 6 Qualitätsstufen (Kategorien) unterschieden, bei Ethernet kommen im Regelfall Cat-5/Cat-5E Kabel zum Einsatz: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" | width="80px" | Kategorie || Typ || Bandbreite || max. Kabellänge || Anwendung |-- bgcolor="#ffffff" |Cat 3 || UTP || 16 MHz || 100m || 10Base-T, 4Mbps |-- bgcolor="#ffffff" |Cat 4 || UTP || 20 MHz || 100m || 10Base-T, 16Mbps |-- bgcolor="#ffffff" |Cat 5 || UTP || 100 MHz || 100m || 100Base-Tx, ATM, CDDI<sup>1)</sup> |-- bgcolor="#ffffff" |Cat 5E || UTP || 100 MHz || 100m || 1000Base-T |-- bgcolor="#ffffff" |Cat 6 || UTP || 250MHz || 100m || -?- |-- bgcolor="#ffffff" |Cat 7 || ScTP || 600MHz || 100m || -?- |} <div style="left:20px; align:left; text-align:left; width:400px; position:relative;"><sup>1)</sup><small> '''CDDI'''<br />CDDI ist die kostengünstigere Umsetzung der Übertragungstechnik [[Netzwerktopologien#FDDI|FDDI]] durch TP-Kupferkabel. Die Kabellänge ist hier sehr stark vom Kabeltyp abhängig (UTP: ca. 50m, STP: ca. 150m)</small></div> ===Adernpaare=== Bei [[Ethernet]] werden die Leitungen immer in Form verdrillter Adernpaare ausgeführt, daher die Bezeichnung ''twisted pair (TP) Verkabelung''. Durch die Verdrillung sollen Übersprechungen zwischen den Adernpaaren reduziert werden, eine eventuell vorhandene Schirmung schützt vor elektromagnetischen Störungen von außen. Bei den meisten Anwendungen (außer z.B. dem analogen Telefon oder 1000Base-T Ethernet) werden nur 2 Adernpaare verwendet, auch wenn alle 4 verbunden sind. Dabei kommt jeweils eines für den Empfang (Rx) und den Versand (Tx) zum Einsatz. Meistens werden jedoch alle Leitungen belegt, damit das Kabel für mehere Einsatzzwecke geeignet ist (z.B. Ethernet, TokenRing, ISDN, ...). Gigabit Ethernet dagegen benötigt immer 4 Adernpaare, da hier allen 4 Adernpaaren gleichzeitig gesendet und empfangen wird ([[wikipedia:de:Vollduplex|vollduplex]]), hier kommen der Standard [http://grouper.ieee.org/groups/802/3/index.html 802.3]ab sowie Kabel der Kategorien 5 oder 6 zum Einsatz. ==Belegungen== Je nach Anwendung unterscheidet sich die Belegung der einzelnen Leitungen, im Folgenden daher eine kleine Übersicht der wichtigsten Einsatzgebiete dieser bisweilen recht fragilen (und leider nicht minder überteuerten) <s>Plastikdinger</s> Steckerchen: ===Leitunsbelegung=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" | width="80px" | Anwendung || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 |-- bgcolor="#ffffff" | Telefon (analog) || (Tel) || (Tel) || || || || || Tel || Tel |-- bgcolor="#ffffff" | ISDN || || || Tx+ || Rx+ || Rx- || Tx- || || |-- bgcolor="#ffffff" | Ethernet (10/100) || Tx+ || Tx- || Rx+ || || || Rx- || || |} Das Kabel sind dabei wie folgt aus: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" | Leitung || Adernpaar || Farbcode <small>(kann abweichen)</small> |-- bgcolor="#ffffff" | 1 || 2 || <font color="orange">orange</font> / weiß (gestreift) |-- bgcolor="#ffffff" | 2 || 2 || <font color="orange">orange</font> |-- bgcolor="#ffffff" | 3 || 3 || <font color="green">grün</font> / weiß (gestreift) |-- bgcolor="#ffffff" | 4 || 1 || <font color="blue">blau</font> |-- bgcolor="#ffffff" | 5 || 1 || <font color="blue">blau</font> / weiß (gestreift) |-- bgcolor="#ffffff" | 6 || 3 || <font color="green">grün</font> |-- bgcolor="#ffffff" | 7 || 4 || <font color="brown">braun</font> / weiß (gestreift) |-- bgcolor="#ffffff" | 8 || 4 || <font color="brown">braun</font> |} ===gekreuzte Ethernet-Leitung=== Im Gegennsatz zu Ethernet-Verbindungen von Geräten zu Verteilern oder zwischen Verteilern (Hubs / Switches), bei denen direkt verbundene Leitungen (straight) eingesetzt werden, können auch zwei Geräte direkt miteinander Verbunden werden. Hier mmüssen jedoch einige Leitungsbelegungen (Pins) vertauscht werden: [[Image:ethernet_tp-belegung.png|thumb|center|300px|Adernbelegung eines Crossover-Kabels]] Für die Belegung der Pins wird von links nach rechts durchgezählt, wobei der RJ-45 Stecker von "unten" her betrachtet wird - also von der Seite ohne Rastnase. Blickt man von der Kabelöffnung her auf den Stecker, wird von rechts nach links durchgezählt. ==Verkabelung== Hier noch eine kleine Zusammenfassung der wichtigsten Punkte, die bei der Verkabelung zu beachten sind. ===Telefon (analog)=== ====Eigenfertigung von Kabeln==== Bei der Selbstanfertigung von Telefonkabeln müssen folgende Punkte beachtet werden: * Die Impedanz des Kabels beträgt ca. 30 bis 45 Ohm * Die mittleren Kontakte sind verdreht (TAE-F) * Die mittlere Frequenz bei dieser Anwendung ist ca. 10 kHz (da auf Sprache ausgelegt) ====Belegungen==== Bei Telefonkabeln existieren je nach Anwendungszweck 2 verschiedene Belegungen - F (für Telefone) und N (für Modem, Fax, etc.) * TAE-F * TAE-N ===ISDN=== Detailliertere Informationen über den Aufbau und die verwendeten Technologien von ISDN sind im [[ISDN]] Artikel zu finden. Bezüglich der Verkabelung sind hier die folgenden Punkte zu berücksichtigen: * Bei Endgeräten ohne eigene Stromversorgung erfolgt deren Speisung über eine 40V Spannung auf dem S0 Bus - die sog. "Phantomspeisung". Dazu muss die NTBA mit Strom versorgt werden. * Bei Verwendung von Geräten in Reihenschaltung muss jedes Ende des S0 Busses mit 100 Ohm Widerständen terminiert werden, die jeweils zwischen den Adern a1-b1 und a2-b2 geschaltet sein müssen (also immer Sender-Sender und Empfänger-Empfänger). Diese Dinger kann man sich mit handelsüblichen Billig-Widerständen (induktionsarme wären nicht schlecht) selber basteln, fertig konfektioniert holen sichs die Hersteller mit solchem Zubehör wirklich von den Lebenden ... ====Leitungslängen==== Außerdem sind noch die maximalen Leitunslängen zu beachten: * ca. 150 Meter bei Busbetrieb (normaler Betrieb ohne weitere Konfiguration am NTBA) * ca. 1000 Meter bei Punkt zu Punkt Betrieb (bei Verwendung von Telekommunikationsanlagen) * ca. 500 Meter bei erweitertem Busbetrieb (von der NTBA aus in beide Richtungen), wobei sich die Endgeräte auf den letzten 30 Metern des Busses befinden müssen Bei kurzen Strecken ist die Sache dabei relativ fehlertolerant, so arbeitet [[User:Hagbard|meine]] ISDN-Installation hier seit Jahr und Tag ohne einen einzigen Abschlußwiderstand. ====Leitungscodierung==== Bei ISDN sind 2 Leitungscodierungen gebräuchlich: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" | NTBA || Funktion || Farbcode || Strichcode |-- bgcolor="#ffffff" | a1 || Sender || <font color="red">rot</font> || ohne Ringe |-- bgcolor="#ffffff" | b1 || Sender || <font color="black">schwarz</font> || einzelne Ringe |-- bgcolor="#ffffff" | a2 || Empfänger || <font color="grey">weiss</font> || Doppelringe mit großem Abstand |-- bgcolor="#ffffff" | b2 || Empfänger || <font color="yellow">gelb</font> || Doppelringe mit kleinem Abstand |} Daraus wird ersichtlich, das wirklich nur 4 Adern verwendet werden, auch wenn einem gerne 8adrige Kabel verkauft werden ... Oft werden jedoch auch Kabel verwendet, deren 4 Adern in Form eines Sterns angeordnet sind. Dadurch soll die Störungsempfindlichkeit gesenkt werden, was dann beim Blick auf das Kabelende so aussieht: o <font color="grey">b1</font> o o <font color="black">a2</font> <font color="yellow">b2</font> o <font color="red">a1</font> ====Beschaltung von ISDN-Dosen==== Für die ISDN-Dosen werden sowohl IAE-4/IAE-8 als auch UAE-4/UAE-8 Dosen verkauft (alle RJ-45), wobei die Belegung sich dann wie folgt gestaltet: '''IAE-4 / IAE-8'''<br /> o o <font color="yellow">b2</font> <font color="black">a2</font> <font color="grey">b1</font> <font color="red">a1</font> o o '''UAE-4 / UAE-8'''<br /> <font color="yellow">b2</font> <font color="grey">b1</font> <font color="red">a1</font> <font color="black">a2</font> 8 7 6 5 4 3 2 1 ===DSL=== {{Construction|Dieser Abschnitt fehlt im thematischen Zusammenhang und sollte noch eingefügt werden.}} ===Ethernet=== Auf Coax-Verkabelung - wie sie bei 10BaseT Installationen verwendet werden - soll an dieser Stelle nicht näher eingegangen werden, allerdings sind auch bei Twisted-Pair Verkabelungen einige Dinge zu beachten: ====Maximallängen==== * Die Maximallänge darf bei Ethernet ohne Verstärker 200 Meter auf keinen Fall überschreiten, üblicherweise wird als Maximallänge 100 Meter angegeben ([[#Qualitätsstufen|siehe oben]]). * Es gilt die im [[Ethernet]] Artikel beschriebene Einschränkung von 4 Hubs in Reihe (gilt nicht bei Verwendung von Switches). ====Eigenfertigung von Kabeln==== Bei der Selbstanfertigung von Ethernet Kabeln müssen folgende Punkte beachtet werden: * Die Impedanz des Kabels muss 100 Ohm betragen * Die Adernpaare müssen mindestens 6 Wicklungen pro laufendem Meter haben * Der Gleichstromwiderstand darf auf 330 m nicht grösser als 28.6 Ohm seim * Die Maximale Abschwächung darf auf 330 m nicht grösser als 16 db sein (bei 5 Mhz), wobei gilt: 16 db = 1/40 der Ausgangsleistung Außerdem ist zu beachten, dass bei Patchkabeln neben den Knickradius des Kabels auch die Maximallänge variieren kann, da die Kabel ja frei liegen und daher störanfälliger sind. Kat. 5 Patch-Kabel werden daher in der Regel als UTP nur in einer Länge von bis zu 10 Metern verlkauft, darüber sind es üblicherweise S/UTP oder STP Kabel. ====Kabelkategorie für Hausverkabelungen==== Für höhere Anforderungen an die Schirmung sind bei größeren Leitungslängen Kabel der Kategorie 6 zu empfehlen, das gilt insbesondere für Gigabit Ethernet. Bei der Hausverkabelung sind in der Regel größere Strecken zu überbrücken, die Kabelwahl hängt dabei jedoch stark von der Fertigungsqualität und wohl weniger von der Kategorie ab. So können Kat. 5 Kabel durchaus reichen, bieten jedoch für zukünftige Geschwindigkeitssteigerungen (in Richtung Gigabit und 10Gigabit Ethernet) nach oben hin wenig Spielraum. In dieser Hinsicht empfiehlt sich also die Verwendung von Kabeln der Kategorie 6 oder gar 7. Das muss natürlich auch unter Berücksichtigung der baulichen Gegebenheiten erfolgen, wenn beispielsweise noch weitere singalführende Leitungen im gleichen Rohr liegen, die stark einstreuen könnten (z.B. TV/Radio). Für die Außenverlegung von Netzwerkleitungen gibt es speziell dafür gefertigte Kabel, hier gilt dasselbe wie oben. Für kürzere Strecken sollten dafür (aus eigener Erfahrung mit 100Base-T) gute Kat. 5 Kabel völlig ausreichen. ===1GBit Ethernet=== Die Verkabelung in einem Gigabit Ethernet Netzwerk erfolgt üblicherweise (SOHO) ebenfalls als 1000BASE-T in Form von Twisted-Pair Kabeln (8adrig) und ist damit prinzipiell identisch mit der oben beschriebenen Verkabelung von 100MBit Ethernet. Lediglich bei den verwendeten Kabeltypen ist darauf zu achten, Cat6 oder (v.a. für Haus- und Außenverkabelungen) eventuell sogar Cat7 Kabel zu verwenden. Die maximale Leitungslänge liegt - genau wie auch bei 10BASE-T und 100BASE-TX - bei 100 Metern (ohne Repeater). ==Weitere Typen== ===10GBit Ethernet=== ===TV-Kabel (koax)=== == Ausblick == Die Ethernet Entwicklung bleibt trotz des Siegeszuges schnurloser Netzwerke mitnichten stehen. Nach der Entwicklung des Gigabit Ethernet schien es zwar so, als ob dies die letzte Entwicklungsstufe unter Verwendung von Kupferkabeln sein würde, allerdings wird derzeit bereits an 10GBit Ethernet gearbeitet - sowohl über LWL als auch über Kupferkabel. und es wird auch schon über die nächste Stufe - 100GBit Ethernet - diskutiert. ===== Cat5 oder Cat6 ===== Generell gilt: je hochwertiger und störungsunempfindlicher das Kabel ist, desto mehr Luft hat man bezüglich zukünftiger Ethernet Geschwindigkeitssteigerungen. In Anbetracht dessen dass bereits an 10 GBit über Kuperkabel entwickelt wird, würde ich persönlich insbesondere für die Hausverkabelung eher zu einer höheren Kategorie neigen. Für Patchkabel ist das ganze weniger relevant, da diese ja relativ schnell mal ausgetauscht werden können und die Kostenvorteile bei einer höheren Anzahl kurzer Kabel niedrigerer Kategorie (also 5 oder 5e) erfahrungsgemäß heftig sind. Mehr Informationen dazu auch in obigem Abschnitt "[[#ethernet|Verkabelung]]" in diesem Artikel. ===== Kupfer oder Glas ===== {{Construction|Dieser Abschnitt fehlt im thematischen Zusammenhang und sollte noch eingefügt werden.}} 8513b8072e3aa6d2245015e0c9317b200414eb1d 1683 1682 2023-03-15T08:15:02Z Hagbard 2 Hagbard moved page [[Verkabelung]] to [[Networking cables and interfaces]] wikitext text/x-wiki [[Category:Networking]]Trotz der eigentlich relativ einfachen Verkabelung bei Ethernet, ISDN oder normalen Telefonen ist doch hin und wieder etwas zu beachten. Daher im Folgenden eine kleine Übersicht über verwendete Kabeltypen, Steckerformen, Leitungsbelegungen, Farbcodierungen etc. für den alltäglichen Verkabelungswahnsinn: ==Kabel== Im Bereich der Netzwerke werden derzeit die folgenden Mediemtypen verwendet: * Kupferverkabelung (Copper) * Glasfaserkabel (Fibrechannel / Optical Media) * Funkübertragung (Wireless Media) wobei in diesem Artikel nur die für eine Netzwerkverkabelung aktuell relevanten Medientypen unter Verwendung von RJ45-Steckern und -Kabeln näher betrachtet werden sollen: ===RJ-XX Stecker=== Bei Ethernet kommen sog. [[wikipedia:de:RJ45|RJ45]] Stecker zum Einsatz, wobei RJ-XX eine übliche Abkürzung für von der FCC genormte Steckerverbindungen ist (RJ = Registered Jack, genormte Buchse). Die bekanntesten dieser ''Westernstecker'' sind: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" |-- bgcolor="#ffffff" | width="80px" | RJ-11 || 4-poliger Westernstecker (6 Kontaktpositionen, Verwendung z.B. als ANschlußkabel analoger Telefone) |-- bgcolor="#ffffff" | width="80px" | RJ-12 || 6-poliger Westernstecker (z.B. als Anschlußkabel von Modems) |-- bgcolor="#ffffff" | width="80px" | RJ-14 || 4-poliger Westernstecker (Telefonstecker), findet z.B. Verwendung bei analogen Telefonen (z.B.: Anschluß des Telefonhörers) |-- bgcolor="#ffffff" | width="80px" | RJ-45 || 8-poliger Westernstecker, Verwendung z.B. bei ISDN (IAE) oder Ethernet (UAE) |-- bgcolor="#ffffff" | width="80px" | DEC || 4-poliger RJ-11 Westernstecker, wobei nur 2 Leitungen belegt sind. Verwendung z.B. bei ISDN (vom Hausanschluß zur NTBA) oder DSL (zwischen Splitter und Modem). Die Rastnase ist bei dieser Art RJ-Stecker leicht versetzt angebracht. |} ===Verdrillte Kabeltypen=== Bei Ethernet kommen also RJ-45 Stecker zum Einsatz, wobei heute die 8 Adern in Form 4 verdrillter Leitunspaare ausgelegt sind. Bei 1MBit Ethernet genügten dagegen auch 4 adrige Leitungen (mit 2 verdrillten Paaren). Bei der Abschirmung wird unterschieden zwischen 3 Typen: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" |-- bgcolor="#ffffff" | width="80px" | U-UTP || unshielded/unshielded (gar keine Schirmung) |-- bgcolor="#ffffff" | width="80px" | S-UTP || shielded/unshielded (eine Schirmung außen), wird oft auch als ScTP (Screened Twisted Pair) bezeichnet |-- bgcolor="#ffffff" | width="80px" | U-FTP || unshielded/shielded (Foiled Twisted Pair): eine Schirmung um jedes Adernpaar in Form einer metallischen Folie |-- bgcolor="#ffffff" | width="80px" | S-FTP || shielded/shielded (Foiled Twisted Pair): wie U/FTP, jedoch zusätzlich mit einer Schirmung außen |-- bgcolor="#ffffff" | width="80px" | S-STP || shielded/shielded (eine Schirmung außen, zusätzlich ist jedes Adernpaar einzeln geschirmt)<br />STP = shielded Twisted-Pair |} ===Qualitätsstufen=== Abhängig von der Anwendung ist eine bestimmte Kabelqualität vonnöten, von der beispeilsweise die verfügbare Bandbreite abhängt. Derzeit wird zwischen 6 Qualitätsstufen (Kategorien) unterschieden, bei Ethernet kommen im Regelfall Cat-5/Cat-5E Kabel zum Einsatz: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" | width="80px" | Kategorie || Typ || Bandbreite || max. Kabellänge || Anwendung |-- bgcolor="#ffffff" |Cat 3 || UTP || 16 MHz || 100m || 10Base-T, 4Mbps |-- bgcolor="#ffffff" |Cat 4 || UTP || 20 MHz || 100m || 10Base-T, 16Mbps |-- bgcolor="#ffffff" |Cat 5 || UTP || 100 MHz || 100m || 100Base-Tx, ATM, CDDI<sup>1)</sup> |-- bgcolor="#ffffff" |Cat 5E || UTP || 100 MHz || 100m || 1000Base-T |-- bgcolor="#ffffff" |Cat 6 || UTP || 250MHz || 100m || -?- |-- bgcolor="#ffffff" |Cat 7 || ScTP || 600MHz || 100m || -?- |} <div style="left:20px; align:left; text-align:left; width:400px; position:relative;"><sup>1)</sup><small> '''CDDI'''<br />CDDI ist die kostengünstigere Umsetzung der Übertragungstechnik [[Netzwerktopologien#FDDI|FDDI]] durch TP-Kupferkabel. Die Kabellänge ist hier sehr stark vom Kabeltyp abhängig (UTP: ca. 50m, STP: ca. 150m)</small></div> ===Adernpaare=== Bei [[Ethernet]] werden die Leitungen immer in Form verdrillter Adernpaare ausgeführt, daher die Bezeichnung ''twisted pair (TP) Verkabelung''. Durch die Verdrillung sollen Übersprechungen zwischen den Adernpaaren reduziert werden, eine eventuell vorhandene Schirmung schützt vor elektromagnetischen Störungen von außen. Bei den meisten Anwendungen (außer z.B. dem analogen Telefon oder 1000Base-T Ethernet) werden nur 2 Adernpaare verwendet, auch wenn alle 4 verbunden sind. Dabei kommt jeweils eines für den Empfang (Rx) und den Versand (Tx) zum Einsatz. Meistens werden jedoch alle Leitungen belegt, damit das Kabel für mehere Einsatzzwecke geeignet ist (z.B. Ethernet, TokenRing, ISDN, ...). Gigabit Ethernet dagegen benötigt immer 4 Adernpaare, da hier allen 4 Adernpaaren gleichzeitig gesendet und empfangen wird ([[wikipedia:de:Vollduplex|vollduplex]]), hier kommen der Standard [http://grouper.ieee.org/groups/802/3/index.html 802.3]ab sowie Kabel der Kategorien 5 oder 6 zum Einsatz. ==Belegungen== Je nach Anwendung unterscheidet sich die Belegung der einzelnen Leitungen, im Folgenden daher eine kleine Übersicht der wichtigsten Einsatzgebiete dieser bisweilen recht fragilen (und leider nicht minder überteuerten) <s>Plastikdinger</s> Steckerchen: ===Leitunsbelegung=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" | width="80px" | Anwendung || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 |-- bgcolor="#ffffff" | Telefon (analog) || (Tel) || (Tel) || || || || || Tel || Tel |-- bgcolor="#ffffff" | ISDN || || || Tx+ || Rx+ || Rx- || Tx- || || |-- bgcolor="#ffffff" | Ethernet (10/100) || Tx+ || Tx- || Rx+ || || || Rx- || || |} Das Kabel sind dabei wie folgt aus: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" | Leitung || Adernpaar || Farbcode <small>(kann abweichen)</small> |-- bgcolor="#ffffff" | 1 || 2 || <font color="orange">orange</font> / weiß (gestreift) |-- bgcolor="#ffffff" | 2 || 2 || <font color="orange">orange</font> |-- bgcolor="#ffffff" | 3 || 3 || <font color="green">grün</font> / weiß (gestreift) |-- bgcolor="#ffffff" | 4 || 1 || <font color="blue">blau</font> |-- bgcolor="#ffffff" | 5 || 1 || <font color="blue">blau</font> / weiß (gestreift) |-- bgcolor="#ffffff" | 6 || 3 || <font color="green">grün</font> |-- bgcolor="#ffffff" | 7 || 4 || <font color="brown">braun</font> / weiß (gestreift) |-- bgcolor="#ffffff" | 8 || 4 || <font color="brown">braun</font> |} ===gekreuzte Ethernet-Leitung=== Im Gegennsatz zu Ethernet-Verbindungen von Geräten zu Verteilern oder zwischen Verteilern (Hubs / Switches), bei denen direkt verbundene Leitungen (straight) eingesetzt werden, können auch zwei Geräte direkt miteinander Verbunden werden. Hier mmüssen jedoch einige Leitungsbelegungen (Pins) vertauscht werden: [[Image:ethernet_tp-belegung.png|thumb|center|300px|Adernbelegung eines Crossover-Kabels]] Für die Belegung der Pins wird von links nach rechts durchgezählt, wobei der RJ-45 Stecker von "unten" her betrachtet wird - also von der Seite ohne Rastnase. Blickt man von der Kabelöffnung her auf den Stecker, wird von rechts nach links durchgezählt. ==Verkabelung== Hier noch eine kleine Zusammenfassung der wichtigsten Punkte, die bei der Verkabelung zu beachten sind. ===Telefon (analog)=== ====Eigenfertigung von Kabeln==== Bei der Selbstanfertigung von Telefonkabeln müssen folgende Punkte beachtet werden: * Die Impedanz des Kabels beträgt ca. 30 bis 45 Ohm * Die mittleren Kontakte sind verdreht (TAE-F) * Die mittlere Frequenz bei dieser Anwendung ist ca. 10 kHz (da auf Sprache ausgelegt) ====Belegungen==== Bei Telefonkabeln existieren je nach Anwendungszweck 2 verschiedene Belegungen - F (für Telefone) und N (für Modem, Fax, etc.) * TAE-F * TAE-N ===ISDN=== Detailliertere Informationen über den Aufbau und die verwendeten Technologien von ISDN sind im [[ISDN]] Artikel zu finden. Bezüglich der Verkabelung sind hier die folgenden Punkte zu berücksichtigen: * Bei Endgeräten ohne eigene Stromversorgung erfolgt deren Speisung über eine 40V Spannung auf dem S0 Bus - die sog. "Phantomspeisung". Dazu muss die NTBA mit Strom versorgt werden. * Bei Verwendung von Geräten in Reihenschaltung muss jedes Ende des S0 Busses mit 100 Ohm Widerständen terminiert werden, die jeweils zwischen den Adern a1-b1 und a2-b2 geschaltet sein müssen (also immer Sender-Sender und Empfänger-Empfänger). Diese Dinger kann man sich mit handelsüblichen Billig-Widerständen (induktionsarme wären nicht schlecht) selber basteln, fertig konfektioniert holen sichs die Hersteller mit solchem Zubehör wirklich von den Lebenden ... ====Leitungslängen==== Außerdem sind noch die maximalen Leitunslängen zu beachten: * ca. 150 Meter bei Busbetrieb (normaler Betrieb ohne weitere Konfiguration am NTBA) * ca. 1000 Meter bei Punkt zu Punkt Betrieb (bei Verwendung von Telekommunikationsanlagen) * ca. 500 Meter bei erweitertem Busbetrieb (von der NTBA aus in beide Richtungen), wobei sich die Endgeräte auf den letzten 30 Metern des Busses befinden müssen Bei kurzen Strecken ist die Sache dabei relativ fehlertolerant, so arbeitet [[User:Hagbard|meine]] ISDN-Installation hier seit Jahr und Tag ohne einen einzigen Abschlußwiderstand. ====Leitungscodierung==== Bei ISDN sind 2 Leitungscodierungen gebräuchlich: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" | NTBA || Funktion || Farbcode || Strichcode |-- bgcolor="#ffffff" | a1 || Sender || <font color="red">rot</font> || ohne Ringe |-- bgcolor="#ffffff" | b1 || Sender || <font color="black">schwarz</font> || einzelne Ringe |-- bgcolor="#ffffff" | a2 || Empfänger || <font color="grey">weiss</font> || Doppelringe mit großem Abstand |-- bgcolor="#ffffff" | b2 || Empfänger || <font color="yellow">gelb</font> || Doppelringe mit kleinem Abstand |} Daraus wird ersichtlich, das wirklich nur 4 Adern verwendet werden, auch wenn einem gerne 8adrige Kabel verkauft werden ... Oft werden jedoch auch Kabel verwendet, deren 4 Adern in Form eines Sterns angeordnet sind. Dadurch soll die Störungsempfindlichkeit gesenkt werden, was dann beim Blick auf das Kabelende so aussieht: o <font color="grey">b1</font> o o <font color="black">a2</font> <font color="yellow">b2</font> o <font color="red">a1</font> ====Beschaltung von ISDN-Dosen==== Für die ISDN-Dosen werden sowohl IAE-4/IAE-8 als auch UAE-4/UAE-8 Dosen verkauft (alle RJ-45), wobei die Belegung sich dann wie folgt gestaltet: '''IAE-4 / IAE-8'''<br /> o o <font color="yellow">b2</font> <font color="black">a2</font> <font color="grey">b1</font> <font color="red">a1</font> o o '''UAE-4 / UAE-8'''<br /> <font color="yellow">b2</font> <font color="grey">b1</font> <font color="red">a1</font> <font color="black">a2</font> 8 7 6 5 4 3 2 1 ===DSL=== {{Construction|Dieser Abschnitt fehlt im thematischen Zusammenhang und sollte noch eingefügt werden.}} ===Ethernet=== Auf Coax-Verkabelung - wie sie bei 10BaseT Installationen verwendet werden - soll an dieser Stelle nicht näher eingegangen werden, allerdings sind auch bei Twisted-Pair Verkabelungen einige Dinge zu beachten: ====Maximallängen==== * Die Maximallänge darf bei Ethernet ohne Verstärker 200 Meter auf keinen Fall überschreiten, üblicherweise wird als Maximallänge 100 Meter angegeben ([[#Qualitätsstufen|siehe oben]]). * Es gilt die im [[Ethernet]] Artikel beschriebene Einschränkung von 4 Hubs in Reihe (gilt nicht bei Verwendung von Switches). ====Eigenfertigung von Kabeln==== Bei der Selbstanfertigung von Ethernet Kabeln müssen folgende Punkte beachtet werden: * Die Impedanz des Kabels muss 100 Ohm betragen * Die Adernpaare müssen mindestens 6 Wicklungen pro laufendem Meter haben * Der Gleichstromwiderstand darf auf 330 m nicht grösser als 28.6 Ohm seim * Die Maximale Abschwächung darf auf 330 m nicht grösser als 16 db sein (bei 5 Mhz), wobei gilt: 16 db = 1/40 der Ausgangsleistung Außerdem ist zu beachten, dass bei Patchkabeln neben den Knickradius des Kabels auch die Maximallänge variieren kann, da die Kabel ja frei liegen und daher störanfälliger sind. Kat. 5 Patch-Kabel werden daher in der Regel als UTP nur in einer Länge von bis zu 10 Metern verlkauft, darüber sind es üblicherweise S/UTP oder STP Kabel. ====Kabelkategorie für Hausverkabelungen==== Für höhere Anforderungen an die Schirmung sind bei größeren Leitungslängen Kabel der Kategorie 6 zu empfehlen, das gilt insbesondere für Gigabit Ethernet. Bei der Hausverkabelung sind in der Regel größere Strecken zu überbrücken, die Kabelwahl hängt dabei jedoch stark von der Fertigungsqualität und wohl weniger von der Kategorie ab. So können Kat. 5 Kabel durchaus reichen, bieten jedoch für zukünftige Geschwindigkeitssteigerungen (in Richtung Gigabit und 10Gigabit Ethernet) nach oben hin wenig Spielraum. In dieser Hinsicht empfiehlt sich also die Verwendung von Kabeln der Kategorie 6 oder gar 7. Das muss natürlich auch unter Berücksichtigung der baulichen Gegebenheiten erfolgen, wenn beispielsweise noch weitere singalführende Leitungen im gleichen Rohr liegen, die stark einstreuen könnten (z.B. TV/Radio). Für die Außenverlegung von Netzwerkleitungen gibt es speziell dafür gefertigte Kabel, hier gilt dasselbe wie oben. Für kürzere Strecken sollten dafür (aus eigener Erfahrung mit 100Base-T) gute Kat. 5 Kabel völlig ausreichen. ===1GBit Ethernet=== Die Verkabelung in einem Gigabit Ethernet Netzwerk erfolgt üblicherweise (SOHO) ebenfalls als 1000BASE-T in Form von Twisted-Pair Kabeln (8adrig) und ist damit prinzipiell identisch mit der oben beschriebenen Verkabelung von 100MBit Ethernet. Lediglich bei den verwendeten Kabeltypen ist darauf zu achten, Cat6 oder (v.a. für Haus- und Außenverkabelungen) eventuell sogar Cat7 Kabel zu verwenden. Die maximale Leitungslänge liegt - genau wie auch bei 10BASE-T und 100BASE-TX - bei 100 Metern (ohne Repeater). ==Weitere Typen== ===10GBit Ethernet=== ===TV-Kabel (koax)=== == Ausblick == Die Ethernet Entwicklung bleibt trotz des Siegeszuges schnurloser Netzwerke mitnichten stehen. Nach der Entwicklung des Gigabit Ethernet schien es zwar so, als ob dies die letzte Entwicklungsstufe unter Verwendung von Kupferkabeln sein würde, allerdings wird derzeit bereits an 10GBit Ethernet gearbeitet - sowohl über LWL als auch über Kupferkabel. und es wird auch schon über die nächste Stufe - 100GBit Ethernet - diskutiert. ===== Cat5 oder Cat6 ===== Generell gilt: je hochwertiger und störungsunempfindlicher das Kabel ist, desto mehr Luft hat man bezüglich zukünftiger Ethernet Geschwindigkeitssteigerungen. In Anbetracht dessen dass bereits an 10 GBit über Kuperkabel entwickelt wird, würde ich persönlich insbesondere für die Hausverkabelung eher zu einer höheren Kategorie neigen. Für Patchkabel ist das ganze weniger relevant, da diese ja relativ schnell mal ausgetauscht werden können und die Kostenvorteile bei einer höheren Anzahl kurzer Kabel niedrigerer Kategorie (also 5 oder 5e) erfahrungsgemäß heftig sind. Mehr Informationen dazu auch in obigem Abschnitt "[[#ethernet|Verkabelung]]" in diesem Artikel. ===== Kupfer oder Glas ===== {{Construction|Dieser Abschnitt fehlt im thematischen Zusammenhang und sollte noch eingefügt werden.}} 8513b8072e3aa6d2245015e0c9317b200414eb1d Hidden Features/Firefox 0 329 1647 1646 2023-03-15T07:51:51Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:App]]{{Important|'''Achtung:''' Dadurch kann einiges an der Firefox-Konfiguration verstellt werden, wodurch unter Umständen einige Erweiterungen oder gar der ganze Browser nicht mehr funktionieren! Die Änderungen sollten also wohlüberlegt sein.}} __TOC__Wie vielleicht einigen bereits bekannt sein dürfte, lässt sich Firefox außerhalb des offiziellen Einstellungsdialogs umfangreich an die eigenen Bedürfnisse anpassen - und zwar über die Konfigurationsseite '''{{TT|about:config}}'''. Im Folgenden eine kleine Übersicht hilfreicher und praktischer Konfigurationsoptionen, die über den Einstellungsdialog nicht zu erreichen sind (die Vorgabewerte stehen dabei in Klammern) Ab Firefox 3.6 ist unter folgender Adresse eine Übersicht aller modifizierten {{TT|about:config}} Einstellungen verfügbar: about:support Weitere about{{TT|about:}} Seiten: <div style="display:block; background-color:#f2f2f2; padding:10px;"> {| style="border-spacing:0px; padding:0px; background-color:transparent; width:100%;" |-- style="background-color:#e2e2e2;" | colspan="2" | Laufzeitinformationen und Konfiguration |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:}} || Informationen über die aktuell verwendete Firefox-Version |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:config}} || Auflistung und Änderung aller internen Einstellungen |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:plugins}} || Übersicht aller installierten Firefox Plugins (z.B. Java) |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:crashes}} || Absturzprotokolle mit der Möglichkeit, diese zum Mozilla Crash-Reporter zu senden |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:cache}} || Übersicht des Inhaltes von Datei- und Speichercache |-- style="background-color:#e2e2e2;" | colspan="2" | Build-Informationen |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:buildconfig}} || Informationen zum Compiler- und Buildkonfiguration |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:credits}} || eine Liste aller an der Firefox-Entwicklung beteiligten Personen |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:license}} || Lizenz Informationen |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:logo}} || Logo |-- style="background-color:#e2e2e2;" | colspan="2" | Fehlerseiten |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:neterror}} || wird bei Netzwerkfehlern angezeigt |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:blocked}} || Malware-Schutzseite |-- style="background-color:#e2e2e2;" | colspan="2" | Sonstiges |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:blank}} || eine leere Seite (z.B. als Startseite verwendbar) |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:robots}}<br />{{TT|about:mozilla}} || Easter Eggs |}</div> Eine vollständige Übersicht ist in der [[wikipedia:de:About:_URI_scheme|Wikipedia]] (en) und im [http://www.firefox-browser.de/wiki/About: FirefoxWiki] zu finden. ==Interna== {| style="border-spacing:0px; padding:0px;" cellpadding="10" |-- style="border-bottom:1px solid #f2f2f2;" | style="width:50%;" | {{TT|dom.storage.enabled}} || style="width:100px;" | false (true) || Deaktivierung des [https://developer.mozilla.org/en/DOM/Storage DOM Storage] (auch als "Jumbo Cookies" bezeichnet), die es ermöglichen, größere Datenmengen direkt im DOM zu speichern. |-- bgcolor="#f2f2f2" | {{TT|general.useragent.override}} || (n/a) || Eintragen eines eigenen [[wikipedia:de:User_Agent|HTTP UserAgent]], damit sich der Browser beispielsweise als Opera zu erkennen gibt. Beispiel:<br /><small>{{TT|Opera/9.80 (Macintosh; Intel Mac OS X; U; en) Presto/2.2.15 Version/10.00}}</small> |-- style="border-bottom:1px solid #f2f2f2;" | style="width:50%;" | {{TT|browser.download.manager.scanWhenDone}} || false (true) || Deaktivierung des Virenscans von fertiggestellten Downloads |-- bgcolor="#f2f2f2" | {{TT|network.http.sendRefererHeader}} || {{TT|2}} || Den [[wikipedia:de:Referrer|HTTP-Referer]] bei Anfragen mitschicken, gültige Werte sind: :{{TT|0}} niemals :{{TT|1}} nur bei Links :{{TT|2}} bei Links und Bildern siehe auch: [http://kb.mozillazine.org/Network.http.sendRefererHeader mozillaZine] |-- | {{TT|network.http.sendSecureXSiteReferrer}} || {{TT|true}} || Den [[wikipedia:de:Referrer|HTTP-Referer]] beim Klick auf Links zu [[wikipedia:de:Hypertext_Transfer_Protocol_Secure|HTTPS-Adressen]] mitschicken, siehe auch: [http://kb.mozillazine.org/Network.http.sendSecureXSiteReferrer mozillaZine] |} ==Access-Keys== Unter Firefox bis Version 14 ist die Standard-Taste für die Schnellzugriffs-Tastaturkürzel die <div style="display:inline-block;"><KB>CTRL</KB></div> Taste, in Version 14 wurde dies zu <KB>CTRL+ALT</KB> geändert. Das besonders lästige daran ist, dass damit die Schnellzugriffstasten offenbar nicht mehr funktionieren, sobald ein Formularelement (z.B. ein Texteingabefeld) selektiert ist. Um diese Änderung also wieder rückgängig zu machen oder generell eine andere Taste zu verwenden, kann einer der folgenden Werte in der Firefox-Konfiguration via {{TT|about:config}} gesetzt werden: {| style="border-spacing:0px; padding:0px;" cellpadding="10" |-- bgcolor="#e8e8e8" ! Einstellungsname !! colspan=3 | Mögliche Werte |-- bgcolor="#f2f2f2" | style="width:50%;" | {{TT|Ui.key.contentAccess}} || {{TT|0}} || || accesskeys deaktivieren |-- bgcolor="#f2f2f2" || || {{TT|1}} || <KB>SHIFT</KB> || |-- bgcolor="#f2f2f2" || || {{TT|2}} || <KB>CTRL</KB> || Standardeinstellung bis Version 13.x (OS X) |-- bgcolor="#f2f2f2" || || {{TT|4}} || <KB>ALT</KB> || |-- bgcolor="#f2f2f2" || || {{TT|5}} || <KB>SHIFT+ALT</KB> || Standardeinstellung unter Windows und Linux |-- bgcolor="#f2f2f2" || || {{TT|6}} || <KB>CTRL+ALT</KB> || Standardeinstellung ab Version 14 (OS X) |-- bgcolor="#f2f2f2" || || {{TT|7}} || <KB>SHIFT+CTRL+ALT</KB> || |-- bgcolor="#f2f2f2" || || {{TT|8}} || <KB>META</KB> || |} Siehe auch: [http://kb.mozillazine.org/Ui.key.contentAccess {{TT|Ui.key.contentAccess}}] (Mozilla Knowledge Base) ==Oberfläche== {| style="border-spacing:0px; padding:0px;" cellpadding="10" |-- bgcolor="#e8e8e8" ! Einstellungsname !! Wert !! default |-- bgcolor="#f2f2f2" | style="width:50%;" | {{TT|browser.ctrlTab.previews}} || true (false) || aktiviert die Tab-Vorschau, erreichbar über <KB>CTRL+TAB</KB> |-- | style="width:50%;" | {{TT|browser.tabs.closeWindowWithLastTab}} || style="width:100px;" | false (true) || Verhindert, dass das Fenster zusammen mit dem letzten Tab geschlossen wird. |-- bgcolor="#f2f2f2" | style="width:50%;" | {{TT|mousewheel.horizscroll.withnokey.action}} || 0 (2) || deaktiviert das [[Kurztipp - Horizontales Scrolling durch Firefox-History deaktivieren|horizontale Scrollen durch die History]] be gedrückter ALT-Taste |-- | style="width:50%;" | {{TT|browser.urlbar.autoFill}} || true (false) || Aktiviert die [[Kurztipp - URL-Autocompletion im Firefox aktivieren|automatische URL-Vervollständigung]] in der Adressleiste |-- bgcolor="#f2f2f2" | style="width:50%;" | {{TT|layout.css.visited_links_enabled}} || false (true) || deaktiviert das sichtbare Anzeigen besuchter URLs mit Hilfe von CSS und ist damit eine Möglichkeit, das sog. "History Stealing" einzugrenzen (einen Test dazu gibt es [http://www.whattheinternetknowsaboutyou.com/ hier]). |} ===Tab-Historie deaktivieren=== Um die Browser-History in neu geöffneten Tabs (verfügbar ab Firefox 13) zu deaktivieren, sind folgende Einstellungen entsprechend anzupassen: {| style="border-spacing:0px; padding:0px;" cellpadding="10" |-- bgcolor="#e8e8e8" ! Einstellungsname !! Wert !! default |-- | {{TT|browser.newtabpage.enabled}} || {{TT|false}} || {{TT|true}} |-- bgcolor="#f2f2f2" | {{TT|services.sync.prefs.sync.browser.newtabpage.enabled}} || {{TT|false}} || {{TT|true}} |-- | {{TT|browser.newtab.url}} || {{TT|about:blank}} || {{TT|about:newtab}} |} Damit die Einstellungen wirksam werden, muss Firefox beendet und neu gestartet werden. ==Multitouch Trackpad-Gesten== Firefox unterstützt seit Version 3.5 auch eine ganze Reihe an Trackpad-Gesten: <div style="display:block; background-color:#f2f2f2; padding:10px;"> {| style="border-spacing:0px; padding:0px; background-color:transparent;" |-- | {{TT|browser.gesture.pinch.in}} || moving two fingers towards one another |-- | {{TT|browser.gesture.pinch.in.shift}} || |-- | {{TT|browser.gesture.pinch.out}} || moving two fingers away from one another |-- | {{TT|browser.gesture.pinch.out.shift}} || |-- | {{TT|browser.gesture.swipe.up}} || drag three fingers to the top |-- | {{TT|browser.gesture.swipe.down}} || drag three fingers to the bottom |-- | {{TT|browser.gesture.swipe.left}} || drag three fingers to the left |-- | {{TT|browser.gesture.swipe.right}} || drag three fingers to the right |-- | {{TT|browser.gesture.tap}} || |-- | {{TT|browser.gesture.twist.left}} || placing two fingers on the trackpad, and twist them left |-- | {{TT|browser.gesture.twist.right}} || placing two fingers on the trackpad, and twist them right |} </div> Diese lassen sich beispielsweise mit den folgenden Kommandos frei belegen: <div style="display:block; background-color:#f2f2f2; padding:10px;"> {| style="border-spacing:0px; padding:0px; background-color:transparent;" |-- | {{TT|cmd_newNavigator}} || new Firefox window |-- | {{TT|cmd_handleBackspace}} || |-- | {{TT|cmd_handleShiftBackspace}} || Same as shift-backspace |-- | {{TT|cmd_newNavigatorTab}} || opens new tab |-- | {{TT|Browser:OpenFile}} || brings up open file dialogue |-- | {{TT|Browser:SavePage}} || opens save file prompt |-- | {{TT|Browser:SaveFrame}} || save frame prompt |-- | {{TT|Browser:SendLink}} || sends link to default email client |-- | {{TT|cmd_pageSetup}} || |-- | {{TT|cmd_print}} || opens print dialogue |-- | {{TT|cmd_printPreview}} || opens print preview dialogue |-- | {{TT|cmd_close}} || closes tab |-- | {{TT|cmd_closeWindow}} || closes window with all tabs |-- | {{TT|cmd_toggleTaskbar}} || |-- | {{TT|cmd_CustomizeToolbars}} || |-- | {{TT|cmd_quitApplication}} || cmd-q |-- | {{TT|View:PageSource}} || opens new window with source code |-- | {{TT|View:PageInfo}} || opens new window with information about media and elements in the page |-- | {{TT|View:FullScreen}} || toggles fullscreen mode |-- | {{TT|cmd_find}} || opens find dialogue (cmd-f) |-- | {{TT|cmd_findAgain}} || runs previous find on page |-- | {{TT|cmd_findPrevious}} || runs previous find in reverse order |-- | {{TT|Browser:AddBookmarkAs}} || adds bookmark and opens interface to add details |-- | {{TT|Browser:BookmarkAllTabs}} || adds all open tabs to bookmarks |-- | {{TT|Browser:Home}} || Goes to home |-- | {{TT|Browser:Back}} || goes back, does not accept modifiers |-- | {{TT|Browser:BackOrBackDuplicate}} || goes back or duplicates into new tab or window depending on modifier new |-- | {{TT|Browser:Forward}} || goes forward, does not accept modifiers |-- | {{TT|Browser:ForwardOrForwardDuplicate}} || goes forward or duplicates into new tab or window depending on modifier new |-- | {{TT|Browser:Stop}} || stops loading of page |-- | {{TT|Browser:Reload}} || reloads page, does not accep modifiers |-- | {{TT|Browser:ReloadOrDuplicate}} || reloads or duplicates into new tab or window depending on modifier new |-- | {{TT|Browser:ReloadSkipCache}} || |-- | {{TT|Browser:NextTab}} || |-- | {{TT|Browser:PrevTab}} || |-- | {{TT|cmd_scrollBottom}} || scrolls to the bottom of the document |-- | {{TT|cmd_scrollTop}} || scrolls to the top of the document |-- | {{TT|cmd_fullZoomReduce}} || zooms out |-- | {{TT|cmd_fullZoomEnlarge}} || zooms in |-- | {{TT|cmd_fullZoomReset}} || reset’s to default size |-- | {{TT|cmd_fullZoomToggle}} || |-- | {{TT|Browser:OpenLocation}} || selects awesomebar (same as cmd L) |-- | {{TT|Tools:Search}} || |-- | {{TT|Tools:Downloads}} || |-- | {{TT|Tools:Addons}} || |-- | {{TT|Tools:Sanitize}} || |-- | {{TT|Tools:PrivateBrowsing}} || |-- | {{TT|History:UndoCloseTab}} || opens previously closed tab |}</div> ''Quellen: {{TT|about:config}}, [http://forums.macrumors.com/showthread.php?t=737074 forums.macrumors.com]'' ==Siehe auch== '''Hier in macwrench:''' * [[Kurztipp - Horizontales Scrolling durch Firefox-History deaktivieren]] * [[Kurztipp - URL-Autocompletion im Firefox aktivieren]] '''Offizielle Dokumentation:''' * Dokumentation im Firefox-Quelltext: [http://mxr.mozilla.org/mozilla-release/source/modules/libpref/src/init/all.js modules/libpref/src/init/all.js] * MDN: [https://developer.mozilla.org/en-US/docs/Mozilla/Preferences Preferences Dokumentation] * [http://kb.mozillazine.org/About:config about:config] Dokumentation (mozillazine) * [http://kb.mozillazine.org/About:config_Entries about:config entries] (mozillazine) * [http://kb.mozillazine.org/Category:Preferences Category:Preferences] (mozillazine) * Dokumentation des [http://kb.mozillazine.org/About_protocol_links about: Protokolls] (mozillazine) '''Weitere Infos zu about:config''' * [http://www.linuxjournal.com/article/8004 Ten Mysteries of about:config] (LinuxJournal) * [http://www.firefox-browser.de/wiki/About:config_%28Einstellungen%29 about:config] im Firefox-Wiki '''Weitere Infos im Web:''' * Netzwelt: [http://www.netzwelt.de/news/74509-firefox-tuning-selbstgemacht-schneller-surfen-ressourcen-schonen.html Firefox-Tuning selbstgemacht: Schneller surfen und Ressourcen schonen] * Netzwelt: [http://www.netzwelt.de/news/78044-hacks-hex-konfigurations-tricks-firefox-3.html Konfigurations-Tricks für den Firefox 3] 429fec9e95e68266eda600a7f3fd0104f5c3977c 1662 1647 2023-03-15T07:53:44Z Hagbard 2 Hagbard moved page [[Versteckte Firefox-Einstellungen]] to [[Hidden Features/Firefox]] wikitext text/x-wiki [[Category:App]]{{Important|'''Achtung:''' Dadurch kann einiges an der Firefox-Konfiguration verstellt werden, wodurch unter Umständen einige Erweiterungen oder gar der ganze Browser nicht mehr funktionieren! Die Änderungen sollten also wohlüberlegt sein.}} __TOC__Wie vielleicht einigen bereits bekannt sein dürfte, lässt sich Firefox außerhalb des offiziellen Einstellungsdialogs umfangreich an die eigenen Bedürfnisse anpassen - und zwar über die Konfigurationsseite '''{{TT|about:config}}'''. Im Folgenden eine kleine Übersicht hilfreicher und praktischer Konfigurationsoptionen, die über den Einstellungsdialog nicht zu erreichen sind (die Vorgabewerte stehen dabei in Klammern) Ab Firefox 3.6 ist unter folgender Adresse eine Übersicht aller modifizierten {{TT|about:config}} Einstellungen verfügbar: about:support Weitere about{{TT|about:}} Seiten: <div style="display:block; background-color:#f2f2f2; padding:10px;"> {| style="border-spacing:0px; padding:0px; background-color:transparent; width:100%;" |-- style="background-color:#e2e2e2;" | colspan="2" | Laufzeitinformationen und Konfiguration |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:}} || Informationen über die aktuell verwendete Firefox-Version |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:config}} || Auflistung und Änderung aller internen Einstellungen |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:plugins}} || Übersicht aller installierten Firefox Plugins (z.B. Java) |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:crashes}} || Absturzprotokolle mit der Möglichkeit, diese zum Mozilla Crash-Reporter zu senden |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:cache}} || Übersicht des Inhaltes von Datei- und Speichercache |-- style="background-color:#e2e2e2;" | colspan="2" | Build-Informationen |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:buildconfig}} || Informationen zum Compiler- und Buildkonfiguration |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:credits}} || eine Liste aller an der Firefox-Entwicklung beteiligten Personen |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:license}} || Lizenz Informationen |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:logo}} || Logo |-- style="background-color:#e2e2e2;" | colspan="2" | Fehlerseiten |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:neterror}} || wird bei Netzwerkfehlern angezeigt |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:blocked}} || Malware-Schutzseite |-- style="background-color:#e2e2e2;" | colspan="2" | Sonstiges |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:blank}} || eine leere Seite (z.B. als Startseite verwendbar) |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:robots}}<br />{{TT|about:mozilla}} || Easter Eggs |}</div> Eine vollständige Übersicht ist in der [[wikipedia:de:About:_URI_scheme|Wikipedia]] (en) und im [http://www.firefox-browser.de/wiki/About: FirefoxWiki] zu finden. ==Interna== {| style="border-spacing:0px; padding:0px;" cellpadding="10" |-- style="border-bottom:1px solid #f2f2f2;" | style="width:50%;" | {{TT|dom.storage.enabled}} || style="width:100px;" | false (true) || Deaktivierung des [https://developer.mozilla.org/en/DOM/Storage DOM Storage] (auch als "Jumbo Cookies" bezeichnet), die es ermöglichen, größere Datenmengen direkt im DOM zu speichern. |-- bgcolor="#f2f2f2" | {{TT|general.useragent.override}} || (n/a) || Eintragen eines eigenen [[wikipedia:de:User_Agent|HTTP UserAgent]], damit sich der Browser beispielsweise als Opera zu erkennen gibt. Beispiel:<br /><small>{{TT|Opera/9.80 (Macintosh; Intel Mac OS X; U; en) Presto/2.2.15 Version/10.00}}</small> |-- style="border-bottom:1px solid #f2f2f2;" | style="width:50%;" | {{TT|browser.download.manager.scanWhenDone}} || false (true) || Deaktivierung des Virenscans von fertiggestellten Downloads |-- bgcolor="#f2f2f2" | {{TT|network.http.sendRefererHeader}} || {{TT|2}} || Den [[wikipedia:de:Referrer|HTTP-Referer]] bei Anfragen mitschicken, gültige Werte sind: :{{TT|0}} niemals :{{TT|1}} nur bei Links :{{TT|2}} bei Links und Bildern siehe auch: [http://kb.mozillazine.org/Network.http.sendRefererHeader mozillaZine] |-- | {{TT|network.http.sendSecureXSiteReferrer}} || {{TT|true}} || Den [[wikipedia:de:Referrer|HTTP-Referer]] beim Klick auf Links zu [[wikipedia:de:Hypertext_Transfer_Protocol_Secure|HTTPS-Adressen]] mitschicken, siehe auch: [http://kb.mozillazine.org/Network.http.sendSecureXSiteReferrer mozillaZine] |} ==Access-Keys== Unter Firefox bis Version 14 ist die Standard-Taste für die Schnellzugriffs-Tastaturkürzel die <div style="display:inline-block;"><KB>CTRL</KB></div> Taste, in Version 14 wurde dies zu <KB>CTRL+ALT</KB> geändert. Das besonders lästige daran ist, dass damit die Schnellzugriffstasten offenbar nicht mehr funktionieren, sobald ein Formularelement (z.B. ein Texteingabefeld) selektiert ist. Um diese Änderung also wieder rückgängig zu machen oder generell eine andere Taste zu verwenden, kann einer der folgenden Werte in der Firefox-Konfiguration via {{TT|about:config}} gesetzt werden: {| style="border-spacing:0px; padding:0px;" cellpadding="10" |-- bgcolor="#e8e8e8" ! Einstellungsname !! colspan=3 | Mögliche Werte |-- bgcolor="#f2f2f2" | style="width:50%;" | {{TT|Ui.key.contentAccess}} || {{TT|0}} || || accesskeys deaktivieren |-- bgcolor="#f2f2f2" || || {{TT|1}} || <KB>SHIFT</KB> || |-- bgcolor="#f2f2f2" || || {{TT|2}} || <KB>CTRL</KB> || Standardeinstellung bis Version 13.x (OS X) |-- bgcolor="#f2f2f2" || || {{TT|4}} || <KB>ALT</KB> || |-- bgcolor="#f2f2f2" || || {{TT|5}} || <KB>SHIFT+ALT</KB> || Standardeinstellung unter Windows und Linux |-- bgcolor="#f2f2f2" || || {{TT|6}} || <KB>CTRL+ALT</KB> || Standardeinstellung ab Version 14 (OS X) |-- bgcolor="#f2f2f2" || || {{TT|7}} || <KB>SHIFT+CTRL+ALT</KB> || |-- bgcolor="#f2f2f2" || || {{TT|8}} || <KB>META</KB> || |} Siehe auch: [http://kb.mozillazine.org/Ui.key.contentAccess {{TT|Ui.key.contentAccess}}] (Mozilla Knowledge Base) ==Oberfläche== {| style="border-spacing:0px; padding:0px;" cellpadding="10" |-- bgcolor="#e8e8e8" ! Einstellungsname !! Wert !! default |-- bgcolor="#f2f2f2" | style="width:50%;" | {{TT|browser.ctrlTab.previews}} || true (false) || aktiviert die Tab-Vorschau, erreichbar über <KB>CTRL+TAB</KB> |-- | style="width:50%;" | {{TT|browser.tabs.closeWindowWithLastTab}} || style="width:100px;" | false (true) || Verhindert, dass das Fenster zusammen mit dem letzten Tab geschlossen wird. |-- bgcolor="#f2f2f2" | style="width:50%;" | {{TT|mousewheel.horizscroll.withnokey.action}} || 0 (2) || deaktiviert das [[Kurztipp - Horizontales Scrolling durch Firefox-History deaktivieren|horizontale Scrollen durch die History]] be gedrückter ALT-Taste |-- | style="width:50%;" | {{TT|browser.urlbar.autoFill}} || true (false) || Aktiviert die [[Kurztipp - URL-Autocompletion im Firefox aktivieren|automatische URL-Vervollständigung]] in der Adressleiste |-- bgcolor="#f2f2f2" | style="width:50%;" | {{TT|layout.css.visited_links_enabled}} || false (true) || deaktiviert das sichtbare Anzeigen besuchter URLs mit Hilfe von CSS und ist damit eine Möglichkeit, das sog. "History Stealing" einzugrenzen (einen Test dazu gibt es [http://www.whattheinternetknowsaboutyou.com/ hier]). |} ===Tab-Historie deaktivieren=== Um die Browser-History in neu geöffneten Tabs (verfügbar ab Firefox 13) zu deaktivieren, sind folgende Einstellungen entsprechend anzupassen: {| style="border-spacing:0px; padding:0px;" cellpadding="10" |-- bgcolor="#e8e8e8" ! Einstellungsname !! Wert !! default |-- | {{TT|browser.newtabpage.enabled}} || {{TT|false}} || {{TT|true}} |-- bgcolor="#f2f2f2" | {{TT|services.sync.prefs.sync.browser.newtabpage.enabled}} || {{TT|false}} || {{TT|true}} |-- | {{TT|browser.newtab.url}} || {{TT|about:blank}} || {{TT|about:newtab}} |} Damit die Einstellungen wirksam werden, muss Firefox beendet und neu gestartet werden. ==Multitouch Trackpad-Gesten== Firefox unterstützt seit Version 3.5 auch eine ganze Reihe an Trackpad-Gesten: <div style="display:block; background-color:#f2f2f2; padding:10px;"> {| style="border-spacing:0px; padding:0px; background-color:transparent;" |-- | {{TT|browser.gesture.pinch.in}} || moving two fingers towards one another |-- | {{TT|browser.gesture.pinch.in.shift}} || |-- | {{TT|browser.gesture.pinch.out}} || moving two fingers away from one another |-- | {{TT|browser.gesture.pinch.out.shift}} || |-- | {{TT|browser.gesture.swipe.up}} || drag three fingers to the top |-- | {{TT|browser.gesture.swipe.down}} || drag three fingers to the bottom |-- | {{TT|browser.gesture.swipe.left}} || drag three fingers to the left |-- | {{TT|browser.gesture.swipe.right}} || drag three fingers to the right |-- | {{TT|browser.gesture.tap}} || |-- | {{TT|browser.gesture.twist.left}} || placing two fingers on the trackpad, and twist them left |-- | {{TT|browser.gesture.twist.right}} || placing two fingers on the trackpad, and twist them right |} </div> Diese lassen sich beispielsweise mit den folgenden Kommandos frei belegen: <div style="display:block; background-color:#f2f2f2; padding:10px;"> {| style="border-spacing:0px; padding:0px; background-color:transparent;" |-- | {{TT|cmd_newNavigator}} || new Firefox window |-- | {{TT|cmd_handleBackspace}} || |-- | {{TT|cmd_handleShiftBackspace}} || Same as shift-backspace |-- | {{TT|cmd_newNavigatorTab}} || opens new tab |-- | {{TT|Browser:OpenFile}} || brings up open file dialogue |-- | {{TT|Browser:SavePage}} || opens save file prompt |-- | {{TT|Browser:SaveFrame}} || save frame prompt |-- | {{TT|Browser:SendLink}} || sends link to default email client |-- | {{TT|cmd_pageSetup}} || |-- | {{TT|cmd_print}} || opens print dialogue |-- | {{TT|cmd_printPreview}} || opens print preview dialogue |-- | {{TT|cmd_close}} || closes tab |-- | {{TT|cmd_closeWindow}} || closes window with all tabs |-- | {{TT|cmd_toggleTaskbar}} || |-- | {{TT|cmd_CustomizeToolbars}} || |-- | {{TT|cmd_quitApplication}} || cmd-q |-- | {{TT|View:PageSource}} || opens new window with source code |-- | {{TT|View:PageInfo}} || opens new window with information about media and elements in the page |-- | {{TT|View:FullScreen}} || toggles fullscreen mode |-- | {{TT|cmd_find}} || opens find dialogue (cmd-f) |-- | {{TT|cmd_findAgain}} || runs previous find on page |-- | {{TT|cmd_findPrevious}} || runs previous find in reverse order |-- | {{TT|Browser:AddBookmarkAs}} || adds bookmark and opens interface to add details |-- | {{TT|Browser:BookmarkAllTabs}} || adds all open tabs to bookmarks |-- | {{TT|Browser:Home}} || Goes to home |-- | {{TT|Browser:Back}} || goes back, does not accept modifiers |-- | {{TT|Browser:BackOrBackDuplicate}} || goes back or duplicates into new tab or window depending on modifier new |-- | {{TT|Browser:Forward}} || goes forward, does not accept modifiers |-- | {{TT|Browser:ForwardOrForwardDuplicate}} || goes forward or duplicates into new tab or window depending on modifier new |-- | {{TT|Browser:Stop}} || stops loading of page |-- | {{TT|Browser:Reload}} || reloads page, does not accep modifiers |-- | {{TT|Browser:ReloadOrDuplicate}} || reloads or duplicates into new tab or window depending on modifier new |-- | {{TT|Browser:ReloadSkipCache}} || |-- | {{TT|Browser:NextTab}} || |-- | {{TT|Browser:PrevTab}} || |-- | {{TT|cmd_scrollBottom}} || scrolls to the bottom of the document |-- | {{TT|cmd_scrollTop}} || scrolls to the top of the document |-- | {{TT|cmd_fullZoomReduce}} || zooms out |-- | {{TT|cmd_fullZoomEnlarge}} || zooms in |-- | {{TT|cmd_fullZoomReset}} || reset’s to default size |-- | {{TT|cmd_fullZoomToggle}} || |-- | {{TT|Browser:OpenLocation}} || selects awesomebar (same as cmd L) |-- | {{TT|Tools:Search}} || |-- | {{TT|Tools:Downloads}} || |-- | {{TT|Tools:Addons}} || |-- | {{TT|Tools:Sanitize}} || |-- | {{TT|Tools:PrivateBrowsing}} || |-- | {{TT|History:UndoCloseTab}} || opens previously closed tab |}</div> ''Quellen: {{TT|about:config}}, [http://forums.macrumors.com/showthread.php?t=737074 forums.macrumors.com]'' ==Siehe auch== '''Hier in macwrench:''' * [[Kurztipp - Horizontales Scrolling durch Firefox-History deaktivieren]] * [[Kurztipp - URL-Autocompletion im Firefox aktivieren]] '''Offizielle Dokumentation:''' * Dokumentation im Firefox-Quelltext: [http://mxr.mozilla.org/mozilla-release/source/modules/libpref/src/init/all.js modules/libpref/src/init/all.js] * MDN: [https://developer.mozilla.org/en-US/docs/Mozilla/Preferences Preferences Dokumentation] * [http://kb.mozillazine.org/About:config about:config] Dokumentation (mozillazine) * [http://kb.mozillazine.org/About:config_Entries about:config entries] (mozillazine) * [http://kb.mozillazine.org/Category:Preferences Category:Preferences] (mozillazine) * Dokumentation des [http://kb.mozillazine.org/About_protocol_links about: Protokolls] (mozillazine) '''Weitere Infos zu about:config''' * [http://www.linuxjournal.com/article/8004 Ten Mysteries of about:config] (LinuxJournal) * [http://www.firefox-browser.de/wiki/About:config_%28Einstellungen%29 about:config] im Firefox-Wiki '''Weitere Infos im Web:''' * Netzwelt: [http://www.netzwelt.de/news/74509-firefox-tuning-selbstgemacht-schneller-surfen-ressourcen-schonen.html Firefox-Tuning selbstgemacht: Schneller surfen und Ressourcen schonen] * Netzwelt: [http://www.netzwelt.de/news/78044-hacks-hex-konfigurations-tricks-firefox-3.html Konfigurations-Tricks für den Firefox 3] 429fec9e95e68266eda600a7f3fd0104f5c3977c 1672 1662 2023-03-15T07:59:06Z Hagbard 2 wikitext text/x-wiki [[Category:App]][[Category:Translate]]{{Important|'''Achtung:''' Dadurch kann einiges an der Firefox-Konfiguration verstellt werden, wodurch unter Umständen einige Erweiterungen oder gar der ganze Browser nicht mehr funktionieren! Die Änderungen sollten also wohlüberlegt sein.}} __TOC__Wie vielleicht einigen bereits bekannt sein dürfte, lässt sich Firefox außerhalb des offiziellen Einstellungsdialogs umfangreich an die eigenen Bedürfnisse anpassen - und zwar über die Konfigurationsseite '''{{TT|about:config}}'''. Im Folgenden eine kleine Übersicht hilfreicher und praktischer Konfigurationsoptionen, die über den Einstellungsdialog nicht zu erreichen sind (die Vorgabewerte stehen dabei in Klammern) Ab Firefox 3.6 ist unter folgender Adresse eine Übersicht aller modifizierten {{TT|about:config}} Einstellungen verfügbar: about:support Weitere about{{TT|about:}} Seiten: <div style="display:block; background-color:#f2f2f2; padding:10px;"> {| style="border-spacing:0px; padding:0px; background-color:transparent; width:100%;" |-- style="background-color:#e2e2e2;" | colspan="2" | Laufzeitinformationen und Konfiguration |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:}} || Informationen über die aktuell verwendete Firefox-Version |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:config}} || Auflistung und Änderung aller internen Einstellungen |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:plugins}} || Übersicht aller installierten Firefox Plugins (z.B. Java) |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:crashes}} || Absturzprotokolle mit der Möglichkeit, diese zum Mozilla Crash-Reporter zu senden |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:cache}} || Übersicht des Inhaltes von Datei- und Speichercache |-- style="background-color:#e2e2e2;" | colspan="2" | Build-Informationen |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:buildconfig}} || Informationen zum Compiler- und Buildkonfiguration |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:credits}} || eine Liste aller an der Firefox-Entwicklung beteiligten Personen |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:license}} || Lizenz Informationen |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:logo}} || Logo |-- style="background-color:#e2e2e2;" | colspan="2" | Fehlerseiten |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:neterror}} || wird bei Netzwerkfehlern angezeigt |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:blocked}} || Malware-Schutzseite |-- style="background-color:#e2e2e2;" | colspan="2" | Sonstiges |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:blank}} || eine leere Seite (z.B. als Startseite verwendbar) |-- style="border-bottom:1px solid #f2f2f2;" | {{TT|about:robots}}<br />{{TT|about:mozilla}} || Easter Eggs |}</div> Eine vollständige Übersicht ist in der [[wikipedia:de:About:_URI_scheme|Wikipedia]] (en) und im [http://www.firefox-browser.de/wiki/About: FirefoxWiki] zu finden. ==Interna== {| style="border-spacing:0px; padding:0px;" cellpadding="10" |-- style="border-bottom:1px solid #f2f2f2;" | style="width:50%;" | {{TT|dom.storage.enabled}} || style="width:100px;" | false (true) || Deaktivierung des [https://developer.mozilla.org/en/DOM/Storage DOM Storage] (auch als "Jumbo Cookies" bezeichnet), die es ermöglichen, größere Datenmengen direkt im DOM zu speichern. |-- bgcolor="#f2f2f2" | {{TT|general.useragent.override}} || (n/a) || Eintragen eines eigenen [[wikipedia:de:User_Agent|HTTP UserAgent]], damit sich der Browser beispielsweise als Opera zu erkennen gibt. Beispiel:<br /><small>{{TT|Opera/9.80 (Macintosh; Intel Mac OS X; U; en) Presto/2.2.15 Version/10.00}}</small> |-- style="border-bottom:1px solid #f2f2f2;" | style="width:50%;" | {{TT|browser.download.manager.scanWhenDone}} || false (true) || Deaktivierung des Virenscans von fertiggestellten Downloads |-- bgcolor="#f2f2f2" | {{TT|network.http.sendRefererHeader}} || {{TT|2}} || Den [[wikipedia:de:Referrer|HTTP-Referer]] bei Anfragen mitschicken, gültige Werte sind: :{{TT|0}} niemals :{{TT|1}} nur bei Links :{{TT|2}} bei Links und Bildern siehe auch: [http://kb.mozillazine.org/Network.http.sendRefererHeader mozillaZine] |-- | {{TT|network.http.sendSecureXSiteReferrer}} || {{TT|true}} || Den [[wikipedia:de:Referrer|HTTP-Referer]] beim Klick auf Links zu [[wikipedia:de:Hypertext_Transfer_Protocol_Secure|HTTPS-Adressen]] mitschicken, siehe auch: [http://kb.mozillazine.org/Network.http.sendSecureXSiteReferrer mozillaZine] |} ==Access-Keys== Unter Firefox bis Version 14 ist die Standard-Taste für die Schnellzugriffs-Tastaturkürzel die <div style="display:inline-block;"><KB>CTRL</KB></div> Taste, in Version 14 wurde dies zu <KB>CTRL+ALT</KB> geändert. Das besonders lästige daran ist, dass damit die Schnellzugriffstasten offenbar nicht mehr funktionieren, sobald ein Formularelement (z.B. ein Texteingabefeld) selektiert ist. Um diese Änderung also wieder rückgängig zu machen oder generell eine andere Taste zu verwenden, kann einer der folgenden Werte in der Firefox-Konfiguration via {{TT|about:config}} gesetzt werden: {| style="border-spacing:0px; padding:0px;" cellpadding="10" |-- bgcolor="#e8e8e8" ! Einstellungsname !! colspan=3 | Mögliche Werte |-- bgcolor="#f2f2f2" | style="width:50%;" | {{TT|Ui.key.contentAccess}} || {{TT|0}} || || accesskeys deaktivieren |-- bgcolor="#f2f2f2" || || {{TT|1}} || <KB>SHIFT</KB> || |-- bgcolor="#f2f2f2" || || {{TT|2}} || <KB>CTRL</KB> || Standardeinstellung bis Version 13.x (OS X) |-- bgcolor="#f2f2f2" || || {{TT|4}} || <KB>ALT</KB> || |-- bgcolor="#f2f2f2" || || {{TT|5}} || <KB>SHIFT+ALT</KB> || Standardeinstellung unter Windows und Linux |-- bgcolor="#f2f2f2" || || {{TT|6}} || <KB>CTRL+ALT</KB> || Standardeinstellung ab Version 14 (OS X) |-- bgcolor="#f2f2f2" || || {{TT|7}} || <KB>SHIFT+CTRL+ALT</KB> || |-- bgcolor="#f2f2f2" || || {{TT|8}} || <KB>META</KB> || |} Siehe auch: [http://kb.mozillazine.org/Ui.key.contentAccess {{TT|Ui.key.contentAccess}}] (Mozilla Knowledge Base) ==Oberfläche== {| style="border-spacing:0px; padding:0px;" cellpadding="10" |-- bgcolor="#e8e8e8" ! Einstellungsname !! Wert !! default |-- bgcolor="#f2f2f2" | style="width:50%;" | {{TT|browser.ctrlTab.previews}} || true (false) || aktiviert die Tab-Vorschau, erreichbar über <KB>CTRL+TAB</KB> |-- | style="width:50%;" | {{TT|browser.tabs.closeWindowWithLastTab}} || style="width:100px;" | false (true) || Verhindert, dass das Fenster zusammen mit dem letzten Tab geschlossen wird. |-- bgcolor="#f2f2f2" | style="width:50%;" | {{TT|mousewheel.horizscroll.withnokey.action}} || 0 (2) || deaktiviert das [[Kurztipp - Horizontales Scrolling durch Firefox-History deaktivieren|horizontale Scrollen durch die History]] be gedrückter ALT-Taste |-- | style="width:50%;" | {{TT|browser.urlbar.autoFill}} || true (false) || Aktiviert die [[Kurztipp - URL-Autocompletion im Firefox aktivieren|automatische URL-Vervollständigung]] in der Adressleiste |-- bgcolor="#f2f2f2" | style="width:50%;" | {{TT|layout.css.visited_links_enabled}} || false (true) || deaktiviert das sichtbare Anzeigen besuchter URLs mit Hilfe von CSS und ist damit eine Möglichkeit, das sog. "History Stealing" einzugrenzen (einen Test dazu gibt es [http://www.whattheinternetknowsaboutyou.com/ hier]). |} ===Tab-Historie deaktivieren=== Um die Browser-History in neu geöffneten Tabs (verfügbar ab Firefox 13) zu deaktivieren, sind folgende Einstellungen entsprechend anzupassen: {| style="border-spacing:0px; padding:0px;" cellpadding="10" |-- bgcolor="#e8e8e8" ! Einstellungsname !! Wert !! default |-- | {{TT|browser.newtabpage.enabled}} || {{TT|false}} || {{TT|true}} |-- bgcolor="#f2f2f2" | {{TT|services.sync.prefs.sync.browser.newtabpage.enabled}} || {{TT|false}} || {{TT|true}} |-- | {{TT|browser.newtab.url}} || {{TT|about:blank}} || {{TT|about:newtab}} |} Damit die Einstellungen wirksam werden, muss Firefox beendet und neu gestartet werden. ==Multitouch Trackpad-Gesten== Firefox unterstützt seit Version 3.5 auch eine ganze Reihe an Trackpad-Gesten: <div style="display:block; background-color:#f2f2f2; padding:10px;"> {| style="border-spacing:0px; padding:0px; background-color:transparent;" |-- | {{TT|browser.gesture.pinch.in}} || moving two fingers towards one another |-- | {{TT|browser.gesture.pinch.in.shift}} || |-- | {{TT|browser.gesture.pinch.out}} || moving two fingers away from one another |-- | {{TT|browser.gesture.pinch.out.shift}} || |-- | {{TT|browser.gesture.swipe.up}} || drag three fingers to the top |-- | {{TT|browser.gesture.swipe.down}} || drag three fingers to the bottom |-- | {{TT|browser.gesture.swipe.left}} || drag three fingers to the left |-- | {{TT|browser.gesture.swipe.right}} || drag three fingers to the right |-- | {{TT|browser.gesture.tap}} || |-- | {{TT|browser.gesture.twist.left}} || placing two fingers on the trackpad, and twist them left |-- | {{TT|browser.gesture.twist.right}} || placing two fingers on the trackpad, and twist them right |} </div> Diese lassen sich beispielsweise mit den folgenden Kommandos frei belegen: <div style="display:block; background-color:#f2f2f2; padding:10px;"> {| style="border-spacing:0px; padding:0px; background-color:transparent;" |-- | {{TT|cmd_newNavigator}} || new Firefox window |-- | {{TT|cmd_handleBackspace}} || |-- | {{TT|cmd_handleShiftBackspace}} || Same as shift-backspace |-- | {{TT|cmd_newNavigatorTab}} || opens new tab |-- | {{TT|Browser:OpenFile}} || brings up open file dialogue |-- | {{TT|Browser:SavePage}} || opens save file prompt |-- | {{TT|Browser:SaveFrame}} || save frame prompt |-- | {{TT|Browser:SendLink}} || sends link to default email client |-- | {{TT|cmd_pageSetup}} || |-- | {{TT|cmd_print}} || opens print dialogue |-- | {{TT|cmd_printPreview}} || opens print preview dialogue |-- | {{TT|cmd_close}} || closes tab |-- | {{TT|cmd_closeWindow}} || closes window with all tabs |-- | {{TT|cmd_toggleTaskbar}} || |-- | {{TT|cmd_CustomizeToolbars}} || |-- | {{TT|cmd_quitApplication}} || cmd-q |-- | {{TT|View:PageSource}} || opens new window with source code |-- | {{TT|View:PageInfo}} || opens new window with information about media and elements in the page |-- | {{TT|View:FullScreen}} || toggles fullscreen mode |-- | {{TT|cmd_find}} || opens find dialogue (cmd-f) |-- | {{TT|cmd_findAgain}} || runs previous find on page |-- | {{TT|cmd_findPrevious}} || runs previous find in reverse order |-- | {{TT|Browser:AddBookmarkAs}} || adds bookmark and opens interface to add details |-- | {{TT|Browser:BookmarkAllTabs}} || adds all open tabs to bookmarks |-- | {{TT|Browser:Home}} || Goes to home |-- | {{TT|Browser:Back}} || goes back, does not accept modifiers |-- | {{TT|Browser:BackOrBackDuplicate}} || goes back or duplicates into new tab or window depending on modifier new |-- | {{TT|Browser:Forward}} || goes forward, does not accept modifiers |-- | {{TT|Browser:ForwardOrForwardDuplicate}} || goes forward or duplicates into new tab or window depending on modifier new |-- | {{TT|Browser:Stop}} || stops loading of page |-- | {{TT|Browser:Reload}} || reloads page, does not accep modifiers |-- | {{TT|Browser:ReloadOrDuplicate}} || reloads or duplicates into new tab or window depending on modifier new |-- | {{TT|Browser:ReloadSkipCache}} || |-- | {{TT|Browser:NextTab}} || |-- | {{TT|Browser:PrevTab}} || |-- | {{TT|cmd_scrollBottom}} || scrolls to the bottom of the document |-- | {{TT|cmd_scrollTop}} || scrolls to the top of the document |-- | {{TT|cmd_fullZoomReduce}} || zooms out |-- | {{TT|cmd_fullZoomEnlarge}} || zooms in |-- | {{TT|cmd_fullZoomReset}} || reset’s to default size |-- | {{TT|cmd_fullZoomToggle}} || |-- | {{TT|Browser:OpenLocation}} || selects awesomebar (same as cmd L) |-- | {{TT|Tools:Search}} || |-- | {{TT|Tools:Downloads}} || |-- | {{TT|Tools:Addons}} || |-- | {{TT|Tools:Sanitize}} || |-- | {{TT|Tools:PrivateBrowsing}} || |-- | {{TT|History:UndoCloseTab}} || opens previously closed tab |}</div> ''Quellen: {{TT|about:config}}, [http://forums.macrumors.com/showthread.php?t=737074 forums.macrumors.com]'' ==Siehe auch== '''Hier in macwrench:''' * [[Kurztipp - Horizontales Scrolling durch Firefox-History deaktivieren]] * [[Kurztipp - URL-Autocompletion im Firefox aktivieren]] '''Offizielle Dokumentation:''' * Dokumentation im Firefox-Quelltext: [http://mxr.mozilla.org/mozilla-release/source/modules/libpref/src/init/all.js modules/libpref/src/init/all.js] * MDN: [https://developer.mozilla.org/en-US/docs/Mozilla/Preferences Preferences Dokumentation] * [http://kb.mozillazine.org/About:config about:config] Dokumentation (mozillazine) * [http://kb.mozillazine.org/About:config_Entries about:config entries] (mozillazine) * [http://kb.mozillazine.org/Category:Preferences Category:Preferences] (mozillazine) * Dokumentation des [http://kb.mozillazine.org/About_protocol_links about: Protokolls] (mozillazine) '''Weitere Infos zu about:config''' * [http://www.linuxjournal.com/article/8004 Ten Mysteries of about:config] (LinuxJournal) * [http://www.firefox-browser.de/wiki/About:config_%28Einstellungen%29 about:config] im Firefox-Wiki '''Weitere Infos im Web:''' * Netzwelt: [http://www.netzwelt.de/news/74509-firefox-tuning-selbstgemacht-schneller-surfen-ressourcen-schonen.html Firefox-Tuning selbstgemacht: Schneller surfen und Ressourcen schonen] * Netzwelt: [http://www.netzwelt.de/news/78044-hacks-hex-konfigurations-tricks-firefox-3.html Konfigurations-Tricks für den Firefox 3] b22e4befa1e2db4adf15ce2e7afe57a95d507f6e Versteckte Firefox-Konfiguration 0 330 1649 1648 2023-03-15T07:51:52Z Hagbard 2 1 revision imported wikitext text/x-wiki #REDIRECT [[Versteckte Firefox-Einstellungen]] ad730a81c153daf74c05e94b4f4dc5d7825fef23 Hidden Features/Dock 0 331 1651 1650 2023-03-15T07:51:52Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Hint]][[Category:OS]] Im Folgenden eine kleine Übersicht verschiedener versteckter Funktionen für das OS X Dock: ==Undokumentierte Funktionen== {| |-- ! Optionsname || Datentyp || Beschreibung |-- | {{TT|contents-immutable}} || boolean || Docksymbole können nicht mehr verändert werden |-- | style="min-width:200px;" | {{TT|double-tap-jump-back}} || boolean || [[Schnellen Wechsel zum zuletzt verwendeten Space aktivieren]] |-- | {{TT|mouse-over-hilite-stack}} || boolean || Fächerdarstellung mit einem mouse-over-Effekt versehen |-- | {{TT|no-glass}} || boolean || immer ein zweidimensionales Dock anzeigen (ohne Spiegelungseffekte) |-- | {{TT|pinning}} || string || Dock rechts- oder linksbündig anzeigen.<br />Gültige Werte: {{TT|start}} (linksbündig) oder {{TT|end}} (rechtsbündig)<br />Beispiel: {{TT|defaults write com.apple.dock pinning -string start}} |-- | {{TT|position-immutable}} || boolean || Positionsänderungen des (gesamten) Dock verhindern |-- | {{TT|showhidden}} || boolean || ausgeblendete Programme im Dock transparent darstellen |-- | {{TT|showshadow}} || boolean || Schlagschatten unter OS X 10.9 deaktivieren |-- | {{TT|single-app}} || boolean || "Single-App" Modus aktivieren (es wird immer nur das jeweils aktive Programm angezeigt) |-- | {{TT|static-only}} || boolean || Nur laufende Programme im Dock anzeigen |} ==Leerstellen in Dock einfügen== Um etwas mehr Ordnung ins Dock zu bekommen, kann man mit Hilfe folgender Anweisung einzelne Leerstellen in Dock einfügen, die sich dann anschließend wie "normale" Docksymbole verschieben und auch wieder daraus entfernen lassen: <source> defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}' </source> Wirksam wird diese Änderung erst nach einem Neustart des Dock oder einer erneuten Anmeldung: <source> killall Dock </source> ==Hinweise== Nach dem Durchführen einer Änderung ist jeweils folgende Anweisung im Terminal auszuführen, um diese wirksam werden zu lassen: killall Dock Boole'sche Werte werden dabei wie folgt aktiviert: defaults write com.apple.dock <optionsname> -bool TRUE bzw. zum Deaktivieren einer Funktion entsprechend defaults write com.apple.dock <optionsname> -bool FALSE Stringwerte sind der untenstehenden Tabelle zu entnehmen und wie folgt einzugeben: defaults write com.apple.dock <optionsname> -string <wert_aus_der_tabelle> Mit folgender Anweisung (der entsprechende Optionsname ist hier einzusetzen) wird eine zuvor aktivierte Funktion wieder deaktiviert bzw. in den Ursprungszustand (system default) zurückversetzt: defaults delete com.apple.dock <optionsname> 5f65e561c78fdded592273ef76332385d2366c1a 1667 1651 2023-03-15T07:57:57Z Hagbard 2 Hagbard moved page [[Versteckte Funktionen des Dock]] to [[Hidden Features/Dock]] wikitext text/x-wiki [[Category:Hint]][[Category:OS]] Im Folgenden eine kleine Übersicht verschiedener versteckter Funktionen für das OS X Dock: ==Undokumentierte Funktionen== {| |-- ! Optionsname || Datentyp || Beschreibung |-- | {{TT|contents-immutable}} || boolean || Docksymbole können nicht mehr verändert werden |-- | style="min-width:200px;" | {{TT|double-tap-jump-back}} || boolean || [[Schnellen Wechsel zum zuletzt verwendeten Space aktivieren]] |-- | {{TT|mouse-over-hilite-stack}} || boolean || Fächerdarstellung mit einem mouse-over-Effekt versehen |-- | {{TT|no-glass}} || boolean || immer ein zweidimensionales Dock anzeigen (ohne Spiegelungseffekte) |-- | {{TT|pinning}} || string || Dock rechts- oder linksbündig anzeigen.<br />Gültige Werte: {{TT|start}} (linksbündig) oder {{TT|end}} (rechtsbündig)<br />Beispiel: {{TT|defaults write com.apple.dock pinning -string start}} |-- | {{TT|position-immutable}} || boolean || Positionsänderungen des (gesamten) Dock verhindern |-- | {{TT|showhidden}} || boolean || ausgeblendete Programme im Dock transparent darstellen |-- | {{TT|showshadow}} || boolean || Schlagschatten unter OS X 10.9 deaktivieren |-- | {{TT|single-app}} || boolean || "Single-App" Modus aktivieren (es wird immer nur das jeweils aktive Programm angezeigt) |-- | {{TT|static-only}} || boolean || Nur laufende Programme im Dock anzeigen |} ==Leerstellen in Dock einfügen== Um etwas mehr Ordnung ins Dock zu bekommen, kann man mit Hilfe folgender Anweisung einzelne Leerstellen in Dock einfügen, die sich dann anschließend wie "normale" Docksymbole verschieben und auch wieder daraus entfernen lassen: <source> defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}' </source> Wirksam wird diese Änderung erst nach einem Neustart des Dock oder einer erneuten Anmeldung: <source> killall Dock </source> ==Hinweise== Nach dem Durchführen einer Änderung ist jeweils folgende Anweisung im Terminal auszuführen, um diese wirksam werden zu lassen: killall Dock Boole'sche Werte werden dabei wie folgt aktiviert: defaults write com.apple.dock <optionsname> -bool TRUE bzw. zum Deaktivieren einer Funktion entsprechend defaults write com.apple.dock <optionsname> -bool FALSE Stringwerte sind der untenstehenden Tabelle zu entnehmen und wie folgt einzugeben: defaults write com.apple.dock <optionsname> -string <wert_aus_der_tabelle> Mit folgender Anweisung (der entsprechende Optionsname ist hier einzusetzen) wird eine zuvor aktivierte Funktion wieder deaktiviert bzw. in den Ursprungszustand (system default) zurückversetzt: defaults delete com.apple.dock <optionsname> 5f65e561c78fdded592273ef76332385d2366c1a 1669 1667 2023-03-15T07:58:09Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:OS]][[Category:Verify]] Im Folgenden eine kleine Übersicht verschiedener versteckter Funktionen für das OS X Dock: ==Undokumentierte Funktionen== {| |-- ! Optionsname || Datentyp || Beschreibung |-- | {{TT|contents-immutable}} || boolean || Docksymbole können nicht mehr verändert werden |-- | style="min-width:200px;" | {{TT|double-tap-jump-back}} || boolean || [[Schnellen Wechsel zum zuletzt verwendeten Space aktivieren]] |-- | {{TT|mouse-over-hilite-stack}} || boolean || Fächerdarstellung mit einem mouse-over-Effekt versehen |-- | {{TT|no-glass}} || boolean || immer ein zweidimensionales Dock anzeigen (ohne Spiegelungseffekte) |-- | {{TT|pinning}} || string || Dock rechts- oder linksbündig anzeigen.<br />Gültige Werte: {{TT|start}} (linksbündig) oder {{TT|end}} (rechtsbündig)<br />Beispiel: {{TT|defaults write com.apple.dock pinning -string start}} |-- | {{TT|position-immutable}} || boolean || Positionsänderungen des (gesamten) Dock verhindern |-- | {{TT|showhidden}} || boolean || ausgeblendete Programme im Dock transparent darstellen |-- | {{TT|showshadow}} || boolean || Schlagschatten unter OS X 10.9 deaktivieren |-- | {{TT|single-app}} || boolean || "Single-App" Modus aktivieren (es wird immer nur das jeweils aktive Programm angezeigt) |-- | {{TT|static-only}} || boolean || Nur laufende Programme im Dock anzeigen |} ==Leerstellen in Dock einfügen== Um etwas mehr Ordnung ins Dock zu bekommen, kann man mit Hilfe folgender Anweisung einzelne Leerstellen in Dock einfügen, die sich dann anschließend wie "normale" Docksymbole verschieben und auch wieder daraus entfernen lassen: <source> defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}' </source> Wirksam wird diese Änderung erst nach einem Neustart des Dock oder einer erneuten Anmeldung: <source> killall Dock </source> ==Hinweise== Nach dem Durchführen einer Änderung ist jeweils folgende Anweisung im Terminal auszuführen, um diese wirksam werden zu lassen: killall Dock Boole'sche Werte werden dabei wie folgt aktiviert: defaults write com.apple.dock <optionsname> -bool TRUE bzw. zum Deaktivieren einer Funktion entsprechend defaults write com.apple.dock <optionsname> -bool FALSE Stringwerte sind der untenstehenden Tabelle zu entnehmen und wie folgt einzugeben: defaults write com.apple.dock <optionsname> -string <wert_aus_der_tabelle> Mit folgender Anweisung (der entsprechende Optionsname ist hier einzusetzen) wird eine zuvor aktivierte Funktion wieder deaktiviert bzw. in den Ursprungszustand (system default) zurückversetzt: defaults delete com.apple.dock <optionsname> ee24b0f77973b6865efb809919a7991c2c031951 1671 1669 2023-03-15T07:58:48Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:OS]][[Category:Verify]][[Category:Translate]] Im Folgenden eine kleine Übersicht verschiedener versteckter Funktionen für das OS X Dock: ==Undokumentierte Funktionen== {| |-- ! Optionsname || Datentyp || Beschreibung |-- | {{TT|contents-immutable}} || boolean || Docksymbole können nicht mehr verändert werden |-- | style="min-width:200px;" | {{TT|double-tap-jump-back}} || boolean || [[Schnellen Wechsel zum zuletzt verwendeten Space aktivieren]] |-- | {{TT|mouse-over-hilite-stack}} || boolean || Fächerdarstellung mit einem mouse-over-Effekt versehen |-- | {{TT|no-glass}} || boolean || immer ein zweidimensionales Dock anzeigen (ohne Spiegelungseffekte) |-- | {{TT|pinning}} || string || Dock rechts- oder linksbündig anzeigen.<br />Gültige Werte: {{TT|start}} (linksbündig) oder {{TT|end}} (rechtsbündig)<br />Beispiel: {{TT|defaults write com.apple.dock pinning -string start}} |-- | {{TT|position-immutable}} || boolean || Positionsänderungen des (gesamten) Dock verhindern |-- | {{TT|showhidden}} || boolean || ausgeblendete Programme im Dock transparent darstellen |-- | {{TT|showshadow}} || boolean || Schlagschatten unter OS X 10.9 deaktivieren |-- | {{TT|single-app}} || boolean || "Single-App" Modus aktivieren (es wird immer nur das jeweils aktive Programm angezeigt) |-- | {{TT|static-only}} || boolean || Nur laufende Programme im Dock anzeigen |} ==Leerstellen in Dock einfügen== Um etwas mehr Ordnung ins Dock zu bekommen, kann man mit Hilfe folgender Anweisung einzelne Leerstellen in Dock einfügen, die sich dann anschließend wie "normale" Docksymbole verschieben und auch wieder daraus entfernen lassen: <source> defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}' </source> Wirksam wird diese Änderung erst nach einem Neustart des Dock oder einer erneuten Anmeldung: <source> killall Dock </source> ==Hinweise== Nach dem Durchführen einer Änderung ist jeweils folgende Anweisung im Terminal auszuführen, um diese wirksam werden zu lassen: killall Dock Boole'sche Werte werden dabei wie folgt aktiviert: defaults write com.apple.dock <optionsname> -bool TRUE bzw. zum Deaktivieren einer Funktion entsprechend defaults write com.apple.dock <optionsname> -bool FALSE Stringwerte sind der untenstehenden Tabelle zu entnehmen und wie folgt einzugeben: defaults write com.apple.dock <optionsname> -string <wert_aus_der_tabelle> Mit folgender Anweisung (der entsprechende Optionsname ist hier einzusetzen) wird eine zuvor aktivierte Funktion wieder deaktiviert bzw. in den Ursprungszustand (system default) zurückversetzt: defaults delete com.apple.dock <optionsname> 148bc2c272f00ccd531d6d0b52ff57ca970cd7ff 1692 1671 2023-03-15T08:18:33Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:OS]][[Category:Verify]][[Category:Translate]] Im Folgenden eine kleine Übersicht verschiedener versteckter Funktionen für das OS X Dock: ==Undokumentierte Funktionen== {| |-- ! Optionsname || Datentyp || Beschreibung |-- | {{TT|contents-immutable}} || boolean || Docksymbole können nicht mehr verändert werden |-- | style="min-width:200px;" | {{TT|double-tap-jump-back}} || boolean || [[Schnellen Wechsel zum zuletzt verwendeten Space aktivieren]] |-- | {{TT|mouse-over-hilite-stack}} || boolean || Fächerdarstellung mit einem mouse-over-Effekt versehen |-- | {{TT|no-glass}} || boolean || immer ein zweidimensionales Dock anzeigen (ohne Spiegelungseffekte) |-- | {{TT|pinning}} || string || Dock rechts- oder linksbündig anzeigen.<br />Gültige Werte: {{TT|start}} (linksbündig) oder {{TT|end}} (rechtsbündig)<br />Beispiel: {{TT|defaults write com.apple.dock pinning -string start}} |-- | {{TT|position-immutable}} || boolean || Positionsänderungen des (gesamten) Dock verhindern |-- | {{TT|showhidden}} || boolean || ausgeblendete Programme im Dock transparent darstellen |-- | {{TT|showshadow}} || boolean || Schlagschatten unter OS X 10.9 deaktivieren |-- | {{TT|single-app}} || boolean || "Single-App" Modus aktivieren (es wird immer nur das jeweils aktive Programm angezeigt) |-- | {{TT|static-only}} || boolean || Nur laufende Programme im Dock anzeigen |} ==Leerstellen in Dock einfügen== Um etwas mehr Ordnung ins Dock zu bekommen, kann man mit Hilfe folgender Anweisung einzelne Leerstellen in Dock einfügen, die sich dann anschließend wie "normale" Docksymbole verschieben und auch wieder daraus entfernen lassen: <syntaxhighlight> defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}' </syntaxhighlight> Wirksam wird diese Änderung erst nach einem Neustart des Dock oder einer erneuten Anmeldung: <syntaxhighlight> killall Dock </syntaxhighlight> ==Hinweise== Nach dem Durchführen einer Änderung ist jeweils folgende Anweisung im Terminal auszuführen, um diese wirksam werden zu lassen: killall Dock Boole'sche Werte werden dabei wie folgt aktiviert: defaults write com.apple.dock <optionsname> -bool TRUE bzw. zum Deaktivieren einer Funktion entsprechend defaults write com.apple.dock <optionsname> -bool FALSE Stringwerte sind der untenstehenden Tabelle zu entnehmen und wie folgt einzugeben: defaults write com.apple.dock <optionsname> -string <wert_aus_der_tabelle> Mit folgender Anweisung (der entsprechende Optionsname ist hier einzusetzen) wird eine zuvor aktivierte Funktion wieder deaktiviert bzw. in den Ursprungszustand (system default) zurückversetzt: defaults delete com.apple.dock <optionsname> 286abef2ff7997617c6b46cfc5e5db30f8156bcf VirtualBox VM-Starter erstellen 0 332 1653 1652 2023-03-15T07:51:53Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Hint]][[Category:OS]]Üblicherweise werden VirtualBox VMs über die Programmoberfläche gestartet, in der diese auch angelegt und bearbeitet werden. Mit einem einfachen AppleScript lässt sich das jedoch auch umgehen, so dass die VMs ohne diesen Umweg direkt ("headless") aufgerufen werden können, beispielsweise via Dock-Icon oder Spotlight. Dazu ist im '''AppleSkript-Editor'' (zu finden unter {{TT|/Applications/Utilities}}) folgendes Stückchen Code einzugeben, wobei "Name der VM" (innerhalb der Anführungszeichen, diese müssen beibehalten werden) natürlich durch den jeweiligen Namen der VM (so wie er in der VirtualBox Applikation erscheint) zu ersetzen ist: <source lang=applescript> set VB_GUEST to "Name der VM" set VB_VM to quoted form of VB_GUEST do shell script "vboxmanage startvm " & VB_VM </source> Anschließend ist das Skript im Dateiformat "Programm" an eine beliebige Stelle zu speichern. Im Skript-Editor (oder anschließend über das Finder-Informationsfenster) kann diesem dann auch noch ein aussagekräftigeres Icon verpasst werden, beispielsweise ein VirtualBox Dokumenticon. Diese befinden sich innerhalb des VirtualBox Application-Bundle unter "{{TT|Contents/Resources/}}" /Applications/VirtualBox.app/Contents/Resources/ b5fa7d791c1ebb499737206146d30629716705be Wget 0 333 1655 1654 2023-03-15T07:51:55Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Terminal]][[wikipedia:Wget|wget]] ist als Kommandozeilen-Programm ein sehr vielseitiges Download-Werkzeug und bietet bereits von Haus aus alle notwendigen Funktionen und Optionen. Als Alternative zur Nutzung von wget im {{Terminal}} existiert eine Vielfalt graphischer Oberflächen für wget, die allerdings in den meisten Fällen nur einen Bruchteil der Funktionsvielfalt von wget bieten. Daher an dieser Stelle ein paar Tipps und Tricks für den alltäglichen Gebrauch von wget im Terminal: ==Installation== Da wget nicht in der Teil der Standardinstallation von Mac OS X ist, muss es hier nachträglich installiert werden. Man kann es entweder aus dem Quellcode übersetzen oder aus den MacPorts installieren (alternativ: [http://www.finkproject.org/ Fink]/[http://finkcommander.sourceforge.net/ FinkCommander]): ===Quelltexte übersetzen=== Hierfür ist die Installation der Xcode Developer Tools notwendig, für deren Download eine (kostenlose) Mitgliedschaft im Apple Developer Program notwendig ist. Im Terminal sind zur Installation folgende Kommandos einzugeben; <source lang=bash> # wget-Quellcode herunterladen: curl -o wget-latest.tar.gz http://ftp.gnu.org/gnu/wget/wget-latest.tar.gz # ... und entpacken: tar xzf wget-latest.tar.gz # in dieses Verzeichnis wechseln (z.B. wget-1.12): cd wget-x.y.z # und übersetzen: ./configure --with-ssl=openssl make </source> Anschließend kann wget entweder über folgendes Kommando installiert oder die Programmdatei '''{{TT|src/wget}}''' manuell in irgendein gewünschtes Verzeichnis kopiert werden <source lang=bash> sudo make install </source> ===MacPorts=== Alternativ ist die Installation auch über die [http://www.macports.org/index.php MacPorts] durch folgende Eingaben im Terminal möglich, wobei vorher deren Basis-Distributionspaket installiert werden muss: <source lang=bash> sudo port install wget </source> ===Linux=== Unter Linux ist wget üblicherweise als Paket in den jeweiligen Repositories vorhanden und lässt sich mit den entsprechenden Tools der Distribution installieren. Beispiel Debian/Ubuntu: sudo apt-get install wget ==HowTOs== ===Webseiten speichern mit wget=== Eine Webseite bzw. ein ftp-Verzeichnis spiegeln: -m ''<url>'' --mirror ''<url>'' Was eine Kurzform ist für: -r -l inf -N ''<url>'' Dabei ganz praktisch ist eine Umwandlung von Links in HTML-Dateien für die lokale Benutzung: --convert-links --backup-converted (Backup der Originaldateien vor der Umsetzung) ===Downloads mit Wget=== Das folgende Kommando lädt eine Datei von der Adresse <url> mit einer maximalen Downloadrate von 20kB/Sekunde, einem timeout von 20 Sekunden zwischen den Verbindungsversuchen und der automatischen Fortsetzung des Downloads nach einem Abbruch: wget -c --wait=20 --limit-rate=20K ''<url>'' ===Nur Dateien eines bestimmten Typs laden=== Das folgende Kommando lädt nur Dateien mit der Endung ".pdf" herunter: wget ftp://path/to/files/*.pdf ===Downloads im Hintergrund ausführen=== '''Möglichkeit A:''' mit Hilfe der Option {{TT|-b}}: wget -cb ''<url>'' wget -c --background ''<url>'' '''Möglichkeit B:''' mit Hilfe von {{Man|screen|screen}}: screen wget ''<url>'' Verlassen des wget screens: {{Key press|Ctrl|A|D}} Auflisten aller offenen screens screen -ls Wechseln zum wget screen: screen -r ''<ID>'' '''Möglichkeit C:''' Starten mit {{Man|nohup|nohup}} nohup wget -c -o /path/to/activity.log ''<url>'' nohup bewirkt dabei, dass das ausgeführte Kommando (hier wget) ausgeführt wird und sog "hangup" Signale ignoriert. Dadurch kann der Prozess im Hintergrund weiterlaufen, auch wenn sich der Benutzer zwischenzeitlich abmeldet. Die Option -o /path/to/activity.log bewirkt dabei, dass die Ausgabe in die dort genannte Datei geschrieben wird (anstatt auf den Bildschirm). ==praktische Optionen== Hier noch eine kurze Zusammenstellung praktischer Optionen für die Benutzung auf die Schnelle: ===Download-Bandbreite beschränken=== Beschränkung der Download-Bandbreite auf x Bytes (bzw. auf KB bei angeängtem "K"), z.B.: --limit-rate=30K --limit-rate=''<amount>'' --limit-rate=''<amount>''K ===Downloads fortsetzen=== Mit der folgenden Option werden zuvor abgebrochene Downloads fortgesetzt (wenn der Server dies unterstützt): -c ''<datei>'' --continue ''<datei>''Screen ===HTTP-Authentifizierung=== Zugriff auf mit http-basic geschützte Bereiche: --http-user=''<user>'' --http-passwd=''<password>'' ===Download-Liste=== Downloads aus einer Datei holen (Liste aller zu ziehender URLs; eine URL pro Zeile): -i ''<datei>'' Einen Browser vortäuschen: wget -r -p -U Mozilla ''<url>'' ==graphische Frontends== ===MacOS X=== * Übersicht bei [https://www.macupdate.com/find/mac/wget macupdate.com] ===Linux=== * [http://projects.gnome.org/gwget/ Gwget] (Gnome Frontend für wget) ===Windows=== ==Alternativen/Erweiterungen== ===Aget=== [http://www.enderunix.org/aget/ Aget] (GPL) ist ein multi-threaded HTTP Downloader, der die herunterzuladenden Dateien in einzelne Teile aufsplittet und daher u.U. wesentlich schneller sein kann als wget. Beispiel: aget -n=5 ''<url>'' ==Infos und Links== * [http://www.gnu.org/software/wget/wget.html Offizielle Webseite] von GNU Wget mit [http://www.gnu.org/software/wget/manual/wget.html Dokumentation] * [http://wget.addictivecode.org/Wget Wget Wiki] * [[Wikipedia:de:Wget|wget]] in der Wikipedia * [http://linuxwiki.de/wget Kleine Anleitung] im LinuxWiki * Übersicht wichtiger Optionen und weitere Tipps zu wget im [http://wiki.ubuntuusers.de/wget ubuntuusers Wiki] 84619c1be5b4c607c97bce248b3fb1eebb429aa7 Windows-Programme auf dem Mac ausführen 0 334 1657 1656 2023-03-15T07:51:56Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Windows]][[Image:Windows logo 2012-Black.svg|right|128px]]Dieser Artikel soll zunächst eine kleine Übersicht der Möglichkeiten verschaffen, wie man Windows-Programme auf dem Mac theoretisch ausführen kann/könnte. Erfahrungsberichte sollten dann in jeweils eigenen Artikeln veröffentlicht werden, die an dieser Stelle verlinkt werden sollen. Auf Intel-Macs existieren durch die identische Prozessor-Plattform naturgemäß mehr Möglichkeiten als auf PPC-Macs, daher werden die beiden Plattformen getrennt behandelt: ==Intel-basierte Macs== '''Wine-basierte Lösungen:''' :Projekte wie beispielsweise das [http://www.winehq.org Wine Projekt] und die verschiedenen, darauf aufbauenden Lösungen wie [http://www.codeweavers.com/ CrossOver], bilden die Laufzeitumgebung von Windows nach, ohne auf eine Installation von Windows selber angewiesen zu sein. Das [http://darwine.opendarwin.org/ Darwine Project] hat sich dabei zum Ziel gesetzt, Wine auf den Mac zu portieren. Windows Programme lassen sich hier direkt unter Mac OS X im Fenster ausführen, ohne den Rechner neu starten zu müssen. Darwine selber wurde mittlerweile in das Wine-Hauptprojekt integriert und wird daher als eigenständiges Projekt nicht mehr fortgeführt. :Mit [http://winebottler.kronenberg.org/ WineBottler] steht dazu eine sehr komfortablere Umgebung zur Verfügung (betr. vor Allem die noch zu installierenden Windows-Systemkomponenten), für einzelne Windows-Programme eine komplette Wine-Umgebung zu erstellen. Das Ergebnis ist ein .app Bundle, das sich wie eine gewöhnliche Mac-Anwendung starten und handhaben lässt. '''Dual-Boot Lösungen:''' :... wie beispielsweise [http://www.apple.com/de/macosx/bootcamp/ BootCamp] ermöglichen eine Installation von Windows parallel zur Mac OS X Installation. Dür die Ausführung von Windows-Anwendungen ist also ein Neustart des Rechners notwendig. '''Virtualisierung:''' :Hier wird - ähnlich wie bei einer Emulation - das Betriebssystem in einer gekapselten Laufzeitumgebung installiert und unter Mac OS X ausgeführt. Dabei findet zunächst keinerlei Integration statt, d.h. der Datenaustausch zwischen den beiden Betriebssystemen ist nicht möglich und muss beispielsweise über das Netzwerk erfolgen oder von der jeweiligen Software bereitgestellt werden. [http://www.parallels.com Parallels] ist beispielsweise eine solche Lösung. '''Emulatoren:''' :... machen durch den mit der Hardware-Emulation verbundenen Geschwindigkeitsverlust in diesem Szenario eigentlich kaum mehr einen Sinn, diese Möglichkeit besteht dennoch weiterhin. '''Nachbildung der .NET API:''' :Das [http://www.mono-project.com Mono Project] hat sich zum Ziel gesetzt, durch Nachbildung des Microsoft [[wikipedia:de:.NET|.NET]] Frameworks diese Anwendungen plattformübergreifend einzusetzen. Mono gibt es auch in einer [http://www.mono-project.com/Mono:OSX Mac OS X Variante] mit dem Ziel, verschiedene .NET Programme direkt und nativ unter Mac OS X ausführen zu können. ==PPC-Macs== '''Emulatoren:''' :Die einzige Methode für PPC-Macs ist die [[Emulatoren|Emulation]] eines vollständigen PC, d.h. die softwaremäßige Nachbildung eines PC durch eine Emulationssoftware. Eine Liste verschiedener auf dem Markt verfügbarer Produkte (sowohl kostenlos als auch kommerziell) ist im Artikel über [[Emulatoren]] zu finden. ==Siehe Auch== * Artikel über [[Emulatoren]] * [[Open_Source_Anwendungen/Systemwerkzeuge#Emulatoren_.26_Virtualisierung|Open Source Anwendungen - Systemwerkzeuge]] - Abschnitt "Emulatoren & Virtualisierung" * Apple Knowledge Base: [http://support.apple.com/kb/HT1846 Boot Camp: Macs that work with 64-bit editions of Microsoft Windows] * [http://chipcollection.com/tutorials/tutorial-installing-windows-on-partitioned-mac-without-bootcamp/ Tutorial: Installing Windows On Partitioned Mac Without Bootcamp] (chipcollection.com) 7d85a558cf07f4f254a493d3fa0247c3f32ab9b4 Windows-Quickies 0 335 1659 1658 2023-03-15T07:51:57Z Hagbard 2 1 revision imported wikitext text/x-wiki [[Category:Windows]][[Image:Windows logo and wordmark - 2012.svg|right|128px]] Da dank [http://www.apple.com/de/bootcamp/ BootCamp], [http://www.parallels.com Parallels] oder welcher Multiboot-, Virtualisierungs- oder [[Emulatoren|Emulationssoftware]] auch immer der eine oder andere Mac-User sicherlich auch einmal einen Blick auf Windows werfen möchte, habe [[User:Hagbard|ich]] mir einfach mal die Freiheit genommen, diesen Artikel hier zu starten. Er soll als Sammelstelle für all die kleinen Tipps und Tricks dienen, die einem das Arbeiten/Spielen/Kennenlernen von Windows leichter machen können/sollen ... ==Anmeldung== Tipps rund um die Anmeldung und den Willkommensbildschirm ===Administrator im Willkommensbildschirm anzeigen=== Standardmäßig werden nur die lokalen Benutzer präsentiert (falls man in keiner Domäne Mitglied ist sondern in einer Arbeitsgruppe). Der Administrator dagegen fehlt. Abhilfe: # zweimaliges Drücken des [[wikipedia:de:Affengriff|Affengriffs]] <KB>ctrl + alt + del</KB>(scheint unter der Vista RC1 nicht (mehr?) zu funktionieren) # Unter Windows XP lassen sich mit Hilfe der [http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx Power Toys] alle lokalen Benutzer freischalten # oder in der [[wikipedia:de:Windows-Registrierungsdatenbank|Registrierdatenbank]] im Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList\ Unter diesem Schlüssel kann für jeden Benutzer jeweils ein Eintrag vom Typ DWORD angelegt werden. Ein Wert 0 zeigt an, daß der Benutzer nicht auf der Willkommensseite aufgeführt werden soll, eine 1 dagegen blendet ihn ein. 464563c9d0e957ae7149d9214d462bac97b5d89d Youtube RSS Feeds 0 336 1661 1660 2023-03-15T07:51:57Z Hagbard 2 1 revision imported wikitext text/x-wiki You'll have to use URLs created in a specific manner in order to subscribe to Youtube channels and playlists using an average RSS reader app: ===Subscribing to a Playlist=== Replace "{{TT|<PLAYLISTID/>}}" with the respective value taken from the channel's URL: https://www.youtube.com/feeds/videos.xml?playlist_id=<PLAYLISTID/> For example: https://www.youtube.com/feeds/videos.xml?playlist_id=PL6v1Ej3QgEXUtDCV-6uwRiRW-K1JiTxO- ===Subscribing to a Channel=== This is a bit trickier since we'll have to ascertain the channel ID first. This can be done by either using a tool like [https://commentpicker.com/youtube-channel-id.php this one] or by searching the channel web site's HTML source code for it (see below). Then replace "{{TT|<CHANNELID/>}}" of this URL with the channel's ID: https://www.youtube.com/feeds/videos.xml?channel_id=<CHANNELID/> For example a link to the "NASAgovVideo" channel's RSS feed: https://www.youtube.com/feeds/videos.xml?channel_id=UC_aP7p621ATY_yAa8jMqUVA To obtain the channel from the channel's web site itself you'll have to view its HTML source code and find one of the following needles: data-channel-external-id="<CHANNELID/>" or: "externalId":"<CHANNELID/>" or (there may be a line break after the key part): "key": "browse_id", "value": "<CHANNELID/>" d1f40d2fe0bc627c3844f4925f6eddb76ba5c8e1 Versteckte Firefox-Einstellungen 0 337 1663 2023-03-15T07:53:44Z Hagbard 2 Hagbard moved page [[Versteckte Firefox-Einstellungen]] to [[Hidden Features/Firefox]] wikitext text/x-wiki #REDIRECT [[Hidden Features/Firefox]] 2adcc62a2f8acd484a1a71c6276350b4e17c31a9 Hidden Features/Safari 0 79 1664 350 2023-03-15T07:55:07Z Hagbard 2 Hagbard moved page [[Versteckte Safari Optionen]] to [[Hidden Features/Safari]] wikitext text/x-wiki [[Category:App]][[Category:Translate]]Einige Funktionen in Safari können nur über die Konfigurationsdatei {{TT|com.apple.safari.plist}} (MacOS X) bzw. {{TT|Preferences.plist}} (Windows) geändert werden, da für sie keine entsprechenden Felder im Einstellungsdialog vorhanden sind. ==Setzen versteckter Konfigurations-Optionen== Die folgenden Optionen müssen allso von Hand in der Konfigurationsdatei von Safari (XML-Datei) geändert werden, die sich je nach Betriebssystem am folgenden Ort befindet: ;MacOS X /Users/USERNAME/Library/Preferences/com.apple.safari.plist ;Windows XP C:\Document and Settings\%USERNAME%\Application Data\Apple Computer\Safari\Preferences.plist C:\Dokumente und Einstellungen\%USERNAME%\Application Data\Apple Computer\Safari\Preferences.plist ;Windows Vista %APPDATA%/Apple Computer/Safari/Preferences.plist Diese Einstellungen können entweder direkt in dieser Datei geändert werden (Hinzufügen von Optionen am Ende der Datei, direkt vor {{TT|<nowiki></dict></plist></nowiki>}}), oder (unter MacOS X) über den Terminal-Befehl {{Man|defaults|defaults}}, z.B.: <pre> defaults write com.apple.Safari <key> defaults delete com.apple.Safari <key> </pre> Letzteres löscht den Eintrag und bewirkt, dass wieder die Standardeinstellung von Safari verwendet wird. {{Information|1=Eine komplette Liste aller standardmäßig gesetzter Optionen ist (unter Mac OS X) innerhalb des Safari Application Bundles ({{TT|/Applications/Safari.app}} rechtsklicken und "Paketinhalte anzeigen" auswählen) in der Datei {{TT|Contents/Resources/Defaults.plist}} zu finden.}} ==Safari Allgemein== ===Verlauf anpassen=== Anzahl der Seiten, die im Verlauf gespeichert werden: <pre> defaults write com.apple.Safari WebKitHistoryItemLimit 200 </pre> Anzahl der Tage, nach denen Einträge im Verlauf gelöscht werden: <pre> defaults write com.apple.Safari WebKitHistoryAgeInDaysLimit 30 </pre> ===Font Anti-Aliasing beeinflussen=== Hiermit kann die Weichzeichnung von Textenbeeinflusst werden <pre> defaults write com.apple.Safari AppleAntiAliasingThreshold -int 8 defaults write com.apple.Safari AppleSmoothFontsSizeThreshold -int 8 defaults write com.apple.Safari AppleAntiAliasingThreshold -int 2 defaults write com.apple.Safari AppleSmoothFontsSizeThreshold -int 2 defaults delete com.apple.Safari AppleAntiAliasingThreshold defaults delete com.apple.Safari AppleSmoothFontsSizeThreshold </pre> ===Debug-Menü aktivieren=== Aktiviert das Debug-Menü mit erweiterten Funktionen wie z.B. UserAgent-Auswahl oder dem Web-Inspector <pre> defaults write com.apple.Safari IncludeDebugMenu 1 </pre> bzw. <pre> <key>IncludeDebugMenu</key> <true/> </pre> ===Web-Inspector=== Den Web-Inspector (ab Safari 3) kann man auch einzeln ohne das Debug-Menü aktivieren. Dieser steht dann im Kontextmenü von Safari zur Verfügung: <pre> defaults write com.apple.Safari WebKitDeveloperExtras -bool true defaults delete com.apple.Safari WebKitDeveloperExtras </pre> {{Information|Dies aktiviert auch den Web-Inspektor innerhalb des Mac App Store und ermöglicht das Herausfinden verschiedener Link-Adressen innerhalb des App Store.}} ===Tooltips (title tags)=== Die als Tooltips angezeigten title-HTML-Tags können über folgende Option (de-)aktiviert werden: <pre> defaults write com.apple.Safari WebKitShowsURLsInToolTips 1 defaults delete com.apple.Safari WebKitShowsURLsInToolTips </pre> ==Safari 4 Beta== Neue Optionen in der Safari 4 Beta, die in der finalen Version wieder entfallen sind (oder zumindest nicht mehr funktionieren): ===Position der Tableiste=== positioniert die Tableiste (wie in Safari 3) unterhalb der Bookmarkleiste: <pre> DebugSafari4TabBarIsOnTop defaults delete com.apple.Safari DebugSafari4TabBarIsOnTop </pre> Neue Optionen in Safari 4 bzw. Optionen, um das Verhalten von Safari 3 wiederherzustellen: ===Ladestatus in der URL-Zeile=== Wenn die folgenden Optionen beide auf "NO" gesetzt sind, erscheint wieder der Ladestatus (Fortschrittsbalken) in der URL-Zeile und das "spinning wheel" innerhalb der Tabs: <pre> DebugSafari4IncludeToolbarRedesign DebugSafari4LoadProgressStyle defaults write com.apple.Safari DebugSafari4IncludeToolbarRedesign -bool NO defaults write com.apple.Safari DebugSafari4IncludeToolbarRedesign -bool YES defaults write com.apple.Safari DebugSafari4LoadProgressStyle -bool NO defaults write com.apple.Safari DebugSafari4LoadProgressStyle -bool YES </pre> ===URL Autovervollständigung=== Diese Option deaktiviert die neue Auto-Vervollständigung von URLs <pre> DebugSafari4IncludeFancyURLCompletionList defaults write com.apple.Safari DebugSafari4IncludeFancyURLCompletionList -bool NO defaults write com.apple.Safari DebugSafari4IncludeFancyURLCompletionList -bool YES </pre> ===Google Suggest Menü=== Diese Option deaktiviert das neue Google Suggest Menü im Suchfeld rechts <pre> DebugSafari4IncludeGoogleSuggest defaults write com.apple.Safari DebugSafari4IncludeGoogleSuggest -bool NO defaults write com.apple.Safari DebugSafari4IncludeGoogleSuggest -bool YES </pre> ===Cover-Flow für Bookmarks=== ... lässt sich über diese Option (de-)aktivieren: <pre> DebugSafari4IncludeFlowViewInBookmarksView defaults write com.apple.Safari DebugSafari4IncludeFlowViewInBookmarksView -bool NO defaults write com.apple.Safari DebugSafari4IncludeFlowViewInBookmarksView -bool YES </pre> ===TopSite-Screenshot-Animation=== Der Überblenden-Effekt bei der Auswahl einer der TopSites lässt sich ebenfalls deaktivieren: <pre> DebugSafari4TopSitesZoomToPageAnimationDimsSnapshot defaults write com.apple.Safari DebugSafari4TopSitesZoomToPageAnimationDimsSnapshot -bool NO defaults write com.apple.Safari DebugSafari4TopSitesZoomToPageAnimationDimsSnapshot -bool YES </pre> ===TopSite Funktion=== ... (wohl v.a. aus Performancegründen) deaktivieren: <pre> DebugSafari4IncludeTopSites defaults write com.apple.Safari DebugSafari4IncludeTopSites -bool NO defaults write com.apple.Safari DebugSafari4IncludeTopSites -bool YES </pre> ==Safari 4== ===TopSite Funktion deaktivieren=== Um die [http://www.apple.com/safari/whats-new.html#topsites TopSite Funktion] in Safari 4.x zu deaktivieren, funktioniert die oben beschriebene Vorgehensweise aus der Betaphase nicht mehr. In aktuellen Versionen ist statt dessen folgende Datei im Property List Editor (Bestandteil von Xcode) oder wahlweise im TextEditor des Vetrauens zu öffnen: ~/Library/Safari/TopSites.plist Dann entweder den Inhalt des XML-Tags "TopSites" löschen oder wahlweise den gesamten Inhalt der Datei, diese speichern und anschließend im Finder Info-Dialog für weitere Änderungen sperren (Abschnitt "Allgemein" > "Geschützt"). Außerdem ist das folgende Verzeichnis zu schützen: ~/Library/Safari/Caches/com.apple.safari/Webpage Previews Damit kann Safari keine weiteren TopSites mehr speichern und die Übersicht bleibt leer. {{Information|Dies ist allerdings nur eine reine Symptombehandlung. Eine Vorgehensweise, um TopSites ''wirklich'' zu deaktivieren (und damit Bandbreite und Speicherplatz zu schonen) ist [[User:Hagbard|mir]] zumindest nicht bekannt. Das ist besonders bei teuren mobilen Internetverbindungen ärgerlich, da Safari dafür im Prinzip unbrauchbar ist.}} ==WebKit Nightly Builds== ===WebGL aktivieren=== Die aktuellen nightly builds von [http://webkit.org WebKit] unterstützen unter Mac OS 10.5 und 10.6 [[wikipedia:en:WebGL|WebGL]] ([[wikipedia:de:OpenGL_ES|OpenGL ES]] im Browser), das sich über das folgende Kommando im [[:Category:Terminal|Terminal]] (de-)aktivieren lässt: defaults write com.apple.Safari WebKitWebGLEnabled -bool YES Anwendungsbeispiel: [http://www.ambiera.com/copperlicht/ Copperlicht Engine] von Ambiera (incl. [http://www.ambiera.com/copperlicht/demos.html Demos]) ==Weitere Informationen== * [http://developer.apple.com/internet/safari/faq.html Safari FAQ] (developer.apple.com) * [http://developer.apple.com/safari/ Safari DevCenter] (developer.apple.com) 69e9a66ec47bdd29b48ce7f86825f72b7eec52a0 Versteckte Safari Optionen 0 338 1665 2023-03-15T07:55:07Z Hagbard 2 Hagbard moved page [[Versteckte Safari Optionen]] to [[Hidden Features/Safari]] wikitext text/x-wiki #REDIRECT [[Hidden Features/Safari]] fbbce22963a71a706bf6e7925ca97dc522402006 Hidden Features 0 35 1666 152 2023-03-15T07:56:09Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden features/options== ... to be revealed by pressing/holding certain keys or key combinations: [[File:MacOS logo.svg|64px|right]] ===All Applications=== ; Making screenshots of a window : …by using the well-known key combination {{Key press|Cmd}} {{Key press|Shift}} {{Key press|4}} for grabbing the whole screen, followed by pressing the {{Key press|Space}} bar. The cursor then changes into a camera icon and lets you select a window to be snapped by simply tapping/clicking on it. [[File:Finder Icon macOS Big Sur.png|64px|right]] ===Finder=== ; Enter the user's "Library" folder : …by pressing the {{Key press|alt}} key while opening the Finder menu "Go", which will reveal the respective entry. You can altenatively follow the next hint for achieving pretty much the same thing by making the folder visible 👇 ; Reveal hidden files and folders : …in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Repeat this to hide them again. The setting is only temporary in file dialogs (i.e. until the rspective dialog is being closed) and persistent until the next login (until the Finder is being relaunched to be precise) in Finder windows. The next hint will tell you how to do that 👇 (relaunching the Finder). ; Relaunch the finder : …without a logout or reboot by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : …by pressing and holding the {{Key press|alt}} key while minimizing one of them using its green traffic light button in the top left corner. ===Preview=== ; Export images to other file formats : …by pressing and holding the {{Key press|alt}} key ''before'' expanding the "Format" popup button on the "Save file" dialog. This will reveal additional image formats to save an image in, such as ICNS or Photoshop. ==Easter Eggs== ; Get a full LOTR timeline : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (seems to be not around any longer on more recent macOS versions such as macOS Monterey or Ventura) ==See also== * Apple Applications: ** [[Hidden Features/Safari|Safari]] Web Browser * Third Party Applications: ** [[Hidden Features/Firefox|Firefox]] Web Browser * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] b43f3cbb23d2e5e0811e49879b9d9e69d24878a8 1670 1666 2023-03-15T07:58:31Z Hagbard 2 /* See also */ wikitext text/x-wiki [[Category:OS]][[Image:W21-1a.svg|128px|right]]Several features and options which seem to have been removed in later versions of macOS but are in fact just hidden. Some of them for instance can be used via [[Terminal Quickies|Terminal commands]] instead, others by just pressing the {{Key press|alt}} key (the one called "option" key in the early days) while performing certain actions such as expanding a menu or a popup button. ==Hidden features/options== ... to be revealed by pressing/holding certain keys or key combinations: [[File:MacOS logo.svg|64px|right]] ===All Applications=== ; Making screenshots of a window : …by using the well-known key combination {{Key press|Cmd}} {{Key press|Shift}} {{Key press|4}} for grabbing the whole screen, followed by pressing the {{Key press|Space}} bar. The cursor then changes into a camera icon and lets you select a window to be snapped by simply tapping/clicking on it. [[File:Finder Icon macOS Big Sur.png|64px|right]] ===Finder=== ; Enter the user's "Library" folder : …by pressing the {{Key press|alt}} key while opening the Finder menu "Go", which will reveal the respective entry. You can altenatively follow the next hint for achieving pretty much the same thing by making the folder visible 👇 ; Reveal hidden files and folders : …in Finder windows and Open/Save file dialogs by pressing the combination {{Key press|Cmd}} {{Key press|shift}} {{Key press|.}}<br/>Repeat this to hide them again. The setting is only temporary in file dialogs (i.e. until the rspective dialog is being closed) and persistent until the next login (until the Finder is being relaunched to be precise) in Finder windows. The next hint will tell you how to do that 👇 (relaunching the Finder). ; Relaunch the finder : …without a logout or reboot by pressing and holding the {{Key press|alt}} key before opening the contextual menu of the Finder's Dock Icon. This will reveal the respective menu entry. ; Minimize all windows of an app : …by pressing and holding the {{Key press|alt}} key while minimizing one of them using its green traffic light button in the top left corner. ===Preview=== ; Export images to other file formats : …by pressing and holding the {{Key press|alt}} key ''before'' expanding the "Format" popup button on the "Save file" dialog. This will reveal additional image formats to save an image in, such as ICNS or Photoshop. ==Easter Eggs== ; Get a full LOTR timeline : …by running the Terminal command <code>cat /usr/share/calendar/calendar.lotr</code> (tested on macOS Monterey) ; Get historical events : …for (almost) every calendar day by running the Terminal command <code>cat /usr/share/calendar/calendar.history</code> (tested on macOS Monterey). Get those for a specific day by filtering its output: <code>cat /usr/share/calendar/calendar.history | grep 01/01</code> ; Get a cookie recipe : …by running this Terminal command on macOS Mojave: <code>open /usr/share/emacs/22.1/etc/COOKIES</code> (seems to be not around any longer on more recent macOS versions such as macOS Monterey or Ventura) ==See also== ===Apple Applications=== * [[Hidden Features/Safari|Safari]] Web Browser * the [[Hidden Features/Dock|macOS Dock]] ===Third Party Applications=== * [[Hidden Features/Firefox|Firefox]] Web Browser ===External Resources=== * [[Mac Keyboard Shortcuts]] * [[Startup Key Combinations]] 261dcbf4bffd7fdc113d7a58e30df3b5fc5d1dae Versteckte Funktionen des Dock 0 339 1668 2023-03-15T07:57:57Z Hagbard 2 Hagbard moved page [[Versteckte Funktionen des Dock]] to [[Hidden Features/Dock]] wikitext text/x-wiki #REDIRECT [[Hidden Features/Dock]] 9f00f9c1be772cc39738682f5355d9738695ac97 MediaWiki:Common.css 8 340 1673 2023-03-15T08:02:11Z Hagbard 2 Created page with "/* CSS placed here will be applied to all skins */ /* content boxes: */ table.contentbox { padding:0px; border-spacing:0px; border-collapse:separate; } table.contentbox td#content div.toccolours { border:0px !important; } table.contentbox td#topleftIcon, table.contentbox td#left, table.contentbox td#bottomleft, table.contentbox td#toprightIcon, table.contentbox td#right, table.contentbox td#bottomright { width:0px; } table.contentbox td#topIconText { width:1em;..." css text/css /* CSS placed here will be applied to all skins */ /* content boxes: */ table.contentbox { padding:0px; border-spacing:0px; border-collapse:separate; } table.contentbox td#content div.toccolours { border:0px !important; } table.contentbox td#topleftIcon, table.contentbox td#left, table.contentbox td#bottomleft, table.contentbox td#toprightIcon, table.contentbox td#right, table.contentbox td#bottomright { width:0px; } table.contentbox td#topIconText { width:1em; } table.contentbox td#topIconTitleText { text-align:center; } table.contentbox td#topIcon img, table.contentbox td#topIconText img { margin-bottom:-1.3em; margin-left:-1.3em; } table.contentbox td#content { background-color:#f8f9fa !important; border:1px solid #eaecf0; padding:1em; line-height:1.3em; } .translucent { opacity:0.5; } 211bf36ec9b4b7329843fb9e0f4ae8048c13505d Rules of Thumb for Secure Passwords 0 313 1675 1615 2023-03-15T08:09:07Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Misc]][[Category:Update]]Mittlerweile wird ja allerhand durch Passworter geschützt, vom Benutzerkonto auf dem Mac über E-Mail Konten bis hin zum Online-Einkaufsportal. In diesem Artikel sollen ein paar (hoffentlich) hilfreiche Tipps zur sicheren Auswahl von Passwörtern gegeben werden. Damit man nicht den Überblick über diese Passwörter verliert, besitzt Mac OS X ja bekanntermaßen den Schlüsselbund, in dem die verwendeten Zertifikate und Passwörter - unabhängig, ob diese nun im Browser, FTP-Client oder WLAN benutzt werden - abgelegt sind. Einzusehen sind diese über das Programm "'''Schlüsselbund.app'''" (bzw. "'''Keychain.app'''"), allerdings sind dennoch einige Regeln für die Vergabe von Passwörtern zu beachten. Ist beispielsweise das Benutzerpasswort sehr leicht zu erraten, ist der Sicherheitsgewinn durch die verschlüsselte Speicherung im Schlüsselbund hin und ein Angreifer hat freien Zugriff auf alle Daten. Viele begehen auch den Fehler, für unterschiedliche Anwendungen immer dasselbe Passwort zu verwenden. Durch den Schlüsselbund ist es jedoch mittlerweile auch keine große Herausforderung mehr, mehrere verschiedene Passwörter zu verwenden - schließlich muss man sich diese ja nicht mehr alle merken. Auch bei Systemupdates und Neuinstallationen stellt das kein Problem dar, man muss jedoch nur daran denken, den Schlüsselbund vorher zu sichern (ein regelmäßiges Backup schadet sicherlich auch nicht). ==Faustregeln für Passwörter== Aus diesem Grund sollte mindestens für das Benutzerkonto ein sicheres, nicht ohne größen Aufwand zu ermittelndes Passwort gewählt werden, das den folgenden Anforderungen entsprechen sollte: # es sollte '''mindestens 8 Zeichen lang''' sein, besser länger # eine '''Kombination aus Groß- und Kleinbuchstaben, Sonderzeichen und Zahlen''' ist ebenfalls empfehlenswert. Der Umfang der verwendbaren Zeichen ist dabei jedoch von der Anwendung abhängig, so sind oftmals Umlaute und manche Sonderzeichen nicht verwendbar (vor allem bei Internet-Anwendungen). # '''Eigennamen und andere leicht zu erratende Wörter''' sollten auf keinen Fall verwendet werden. # '''Hinweistexte beim Login''' sind - insbesondere in Verbindung mit einem leicht zu erratenden Passwort - geradezu eine Einladung zum Ratespiel. Auch wenn die Bequemlichkeit dazu verleitet, dieses Feature zu benutzen, ist dringend davon abzuraten! # Das Passwort sollte '''kein Wort aus einem Lexikon oder Wörterbuch''' sein, da man diese sehr einfach durch automatisierte Abfragen durch "Trial and Error" (auch bekannt als "Wörterbuch Attacke") ermitteln kann. Ebenso sind '''Wörter des Alltags''' zu vermeiden, beispielsweise bekannte Persönlichkeiten oder Orte. # Auch '''Begriffe aus dem gesellschaftlichen Umfeld''' sollten unbedingt vermieden werden, die Gefahr durch das sogenannte "social engineering" ist nicht zu unterschätzen! # '''einfache Zahlen- und Buchstabentauscher''' oder das '''Rückwärtsschreiben von Wörtern''' werden oft verwendet, beispielsweise indem aus zwei Wörtern die Buchstaben abwechselnd aneinandergehängt werden. Auch solche einfachen "Algorithmen" lassen sich sehr einfach knacken. # '''Bei Zahlenkombinationen gilt dasselbe''', sie sind mitunter sehr leicht zu erraten (z.B. Geburtstage oder Ähnliches). # '''Ein sicherer Aufbewahrungsort''' sollte selbstverständlich sein, damit ist nicht der Post-It Kleber hinter dem Monitor oder unter der Tastatur gemeint!!! ==Passwörter erzeugen== Jeder dürfte wohl so seine eigene Methode haben, Passwörter zu erzeugen. Einige mögliche Vorgehensweisen sind beispielsweise die Folgenden: ===durch das Zerlegen von Sätzen=== Eine sehr einfache Möglichkeit ist es, aus einem möglichst langen Satz immer die Anfagsbuchstaben (oder Endbuchstaben) der einzelnen Wörter herauszupicken. Diese Vorgehensweise ist wohl auch recht verbreitet, allerdings ist hier naturgemäß der Zeichenumfang relativ gering (zumindest falls es sich um sytaktisch und semantisch korrekte Sätze handelt). '''Beispiel:''' :''"Bitte kopieren Sie keine Webseiten, die nicht Ihre eigenen sind, benutzen Sie keine urheberrechtlich geschützten Werke ohne Erlaubnis des Copyright-Inhabers!"'' ergibt BkSkW,dnIes,bSkugWoEdC-I! Besser als "Start", "Mausi" oder "login" ist es allemal ;) ===Mit Mac OS Bordmitteln=== Auch das Mac OS X System bringt bereits einige Tools mit, die man für diesen Zweck benutzen kann: ====Kennwort Assistent==== Seit Mac OS X Panther (10.3) befindet sich Im Schlüsselbund versteckt ein kleines Tool, mit dem sichere Passwörter erstellt werden können. Erreichbar ist es zum Beispiel über das Anlegen eines neuen Passwortes (Datei-Menü) via<KB>apfel + n</KB> und im daraufhin erscheinenden Eingabefenster über das Schlüssel-Symbol: [[Image:Keychain_CreateNewPassword.png]] Der Assistent ist außerdem auch beim Anlegen eines Benutzers über die Systemeinstellungen erreichbar: [[Image:System_Preferences_PasswordAssistant.png]] Anschließend erscheint das folgende Fenster: [[Image:Keychain_PasswordAssistant.png]] ====md5 Verschlüsselung==== Durch einfach Angabe eines "normalen" Satzes wie diesem hier: "huhu ich bin ein hornochse" erhält man durch Eingabe von md5 -s "huhu ich bin ein hornochse" die Passphrase a258cdf2fbf487535c6a5cafa7d8604d Weitere Informationen dazu sind in der {{Man|md5|manpage von md5}} nachzulesen. ====htpasswd==== {{Man|htpasswd|htpasswd}} ist eigentlich ein Hilfsprogramm, um die Benutzer- und Passwortdateien für den Webserver Apache zu erzeugen. Allerdings kann das Tool auch durch die Option "-n" veranlasst werden, die Informationen nicht in eine Datei sondern auf den Ausgabekanal des Terminals zu schreiben (sprich: das erzeugte Passwort wird angezeigt): htpasswd -n username 2mal das neue Passwort eingeben, das erzeugt beiypielsweise: New password: Re-type new password: username:kY7/MnO/h8Pb6 Der Benutzername muss angegeben werden, da das Programm immer ein Paar aus Benutzername und Passwort für das Speichern in einer Datei names .htpasswd erzeugt. Für unsere Zwecke ist es also egal, was man als Benutzername angibt. Weitere Informationen dazu sind in der {{Man|htpasswd|manpage von htpasswd}} nachzulesen. ===Password Assistant=== Der [http://www.codepoetry.net/products/passwordassistant Password Assistant] (OpenSource) bedient sich der obigen Systemfunktion und erlaubt die Erzeugung von sicheren Passwörtern ohne den Umweg über den Schlüsselbund. ===WLAN WEP/WPA Schlüsselgenerator zweckentfremden=== Es gibt eine Reihe kostenloser Tools zur Erzeugung von WEP/WPA Keys und Passphrases, beispielsweise der [http://www.rksoft.at/rk-wlan-keygen-funktionen.html RK-WLAN-Keygen]. Dieser kann Passphrases wie diese hier erzeugen: 0-9,A-Z,a-z :X8XQQhZWsMh4d4sntHclkjSrpZnVEfqZ 0-9,A-Z,a-z + Sonderzeichen :W2y_LF$L&lLS'H|3jD{jTi%'A_h}dP[S 0-9,A-Z,a-z + erweiterte Sonderzeichen :é®r0RHµ¿/"ç)v¼¦ø6¸öP¯AË<Í`-ϱm-¼ Aus Diesen Zeichenketten muss man sich dann nur noch einen beliebigen (möglichst zufällig erzeugt aussehenden) Teilstring herauspicken und fertig ist das Profi-Passwort. Der Vorteil an diesem Tool ist, dass man den Zeichenumfang und die Schlüssellänge (8-63 Zeichen) auswählen kann. Der große Nachteil ist, dass dieses Programm nur unter Windows läuft. Allerdings existieren auch für Mac OS X [http://www.macupdate.com/search.php?keywords=password+generator eine Reihe solcher Tools], bislang habe ich jedoch (mangels Bedarf) noch keines davon getestet ... ==Passwörter überprüfen== Um vorhandene Passwörter auf ihre Sicherheit zu überprüfen, bieten sich die folgenden Möglichkeiten an: ===mac.GWDG Password Tester=== Der [http://www.mac.gwdg.de/index.php?id=60 Password Tester] von mac.GWDG ist ein kostenloses Hilfsprogramm, das sich der oben beschriebenen Systemfunktion (dem Passwort-Assistenten) bedient. Prinzipiell steht diese Funktion auch im Schlüsselbund zur Verfügung, der Password Tester vereinfacht jedoch die Nutzung ohne diesen Umweg. Nicht mehr und nicht weniger ;-) 83bd17f27156b305e575cdfaed60d8aea769a7ee 1676 1675 2023-03-15T08:10:19Z Hagbard 2 Hagbard moved page [[Regeln für Passwörter]] to [[Rules of Thumb for Secure Passwords]] wikitext text/x-wiki [[Category:OS]][[Category:Misc]][[Category:Update]]Mittlerweile wird ja allerhand durch Passworter geschützt, vom Benutzerkonto auf dem Mac über E-Mail Konten bis hin zum Online-Einkaufsportal. In diesem Artikel sollen ein paar (hoffentlich) hilfreiche Tipps zur sicheren Auswahl von Passwörtern gegeben werden. Damit man nicht den Überblick über diese Passwörter verliert, besitzt Mac OS X ja bekanntermaßen den Schlüsselbund, in dem die verwendeten Zertifikate und Passwörter - unabhängig, ob diese nun im Browser, FTP-Client oder WLAN benutzt werden - abgelegt sind. Einzusehen sind diese über das Programm "'''Schlüsselbund.app'''" (bzw. "'''Keychain.app'''"), allerdings sind dennoch einige Regeln für die Vergabe von Passwörtern zu beachten. Ist beispielsweise das Benutzerpasswort sehr leicht zu erraten, ist der Sicherheitsgewinn durch die verschlüsselte Speicherung im Schlüsselbund hin und ein Angreifer hat freien Zugriff auf alle Daten. Viele begehen auch den Fehler, für unterschiedliche Anwendungen immer dasselbe Passwort zu verwenden. Durch den Schlüsselbund ist es jedoch mittlerweile auch keine große Herausforderung mehr, mehrere verschiedene Passwörter zu verwenden - schließlich muss man sich diese ja nicht mehr alle merken. Auch bei Systemupdates und Neuinstallationen stellt das kein Problem dar, man muss jedoch nur daran denken, den Schlüsselbund vorher zu sichern (ein regelmäßiges Backup schadet sicherlich auch nicht). ==Faustregeln für Passwörter== Aus diesem Grund sollte mindestens für das Benutzerkonto ein sicheres, nicht ohne größen Aufwand zu ermittelndes Passwort gewählt werden, das den folgenden Anforderungen entsprechen sollte: # es sollte '''mindestens 8 Zeichen lang''' sein, besser länger # eine '''Kombination aus Groß- und Kleinbuchstaben, Sonderzeichen und Zahlen''' ist ebenfalls empfehlenswert. Der Umfang der verwendbaren Zeichen ist dabei jedoch von der Anwendung abhängig, so sind oftmals Umlaute und manche Sonderzeichen nicht verwendbar (vor allem bei Internet-Anwendungen). # '''Eigennamen und andere leicht zu erratende Wörter''' sollten auf keinen Fall verwendet werden. # '''Hinweistexte beim Login''' sind - insbesondere in Verbindung mit einem leicht zu erratenden Passwort - geradezu eine Einladung zum Ratespiel. Auch wenn die Bequemlichkeit dazu verleitet, dieses Feature zu benutzen, ist dringend davon abzuraten! # Das Passwort sollte '''kein Wort aus einem Lexikon oder Wörterbuch''' sein, da man diese sehr einfach durch automatisierte Abfragen durch "Trial and Error" (auch bekannt als "Wörterbuch Attacke") ermitteln kann. Ebenso sind '''Wörter des Alltags''' zu vermeiden, beispielsweise bekannte Persönlichkeiten oder Orte. # Auch '''Begriffe aus dem gesellschaftlichen Umfeld''' sollten unbedingt vermieden werden, die Gefahr durch das sogenannte "social engineering" ist nicht zu unterschätzen! # '''einfache Zahlen- und Buchstabentauscher''' oder das '''Rückwärtsschreiben von Wörtern''' werden oft verwendet, beispielsweise indem aus zwei Wörtern die Buchstaben abwechselnd aneinandergehängt werden. Auch solche einfachen "Algorithmen" lassen sich sehr einfach knacken. # '''Bei Zahlenkombinationen gilt dasselbe''', sie sind mitunter sehr leicht zu erraten (z.B. Geburtstage oder Ähnliches). # '''Ein sicherer Aufbewahrungsort''' sollte selbstverständlich sein, damit ist nicht der Post-It Kleber hinter dem Monitor oder unter der Tastatur gemeint!!! ==Passwörter erzeugen== Jeder dürfte wohl so seine eigene Methode haben, Passwörter zu erzeugen. Einige mögliche Vorgehensweisen sind beispielsweise die Folgenden: ===durch das Zerlegen von Sätzen=== Eine sehr einfache Möglichkeit ist es, aus einem möglichst langen Satz immer die Anfagsbuchstaben (oder Endbuchstaben) der einzelnen Wörter herauszupicken. Diese Vorgehensweise ist wohl auch recht verbreitet, allerdings ist hier naturgemäß der Zeichenumfang relativ gering (zumindest falls es sich um sytaktisch und semantisch korrekte Sätze handelt). '''Beispiel:''' :''"Bitte kopieren Sie keine Webseiten, die nicht Ihre eigenen sind, benutzen Sie keine urheberrechtlich geschützten Werke ohne Erlaubnis des Copyright-Inhabers!"'' ergibt BkSkW,dnIes,bSkugWoEdC-I! Besser als "Start", "Mausi" oder "login" ist es allemal ;) ===Mit Mac OS Bordmitteln=== Auch das Mac OS X System bringt bereits einige Tools mit, die man für diesen Zweck benutzen kann: ====Kennwort Assistent==== Seit Mac OS X Panther (10.3) befindet sich Im Schlüsselbund versteckt ein kleines Tool, mit dem sichere Passwörter erstellt werden können. Erreichbar ist es zum Beispiel über das Anlegen eines neuen Passwortes (Datei-Menü) via<KB>apfel + n</KB> und im daraufhin erscheinenden Eingabefenster über das Schlüssel-Symbol: [[Image:Keychain_CreateNewPassword.png]] Der Assistent ist außerdem auch beim Anlegen eines Benutzers über die Systemeinstellungen erreichbar: [[Image:System_Preferences_PasswordAssistant.png]] Anschließend erscheint das folgende Fenster: [[Image:Keychain_PasswordAssistant.png]] ====md5 Verschlüsselung==== Durch einfach Angabe eines "normalen" Satzes wie diesem hier: "huhu ich bin ein hornochse" erhält man durch Eingabe von md5 -s "huhu ich bin ein hornochse" die Passphrase a258cdf2fbf487535c6a5cafa7d8604d Weitere Informationen dazu sind in der {{Man|md5|manpage von md5}} nachzulesen. ====htpasswd==== {{Man|htpasswd|htpasswd}} ist eigentlich ein Hilfsprogramm, um die Benutzer- und Passwortdateien für den Webserver Apache zu erzeugen. Allerdings kann das Tool auch durch die Option "-n" veranlasst werden, die Informationen nicht in eine Datei sondern auf den Ausgabekanal des Terminals zu schreiben (sprich: das erzeugte Passwort wird angezeigt): htpasswd -n username 2mal das neue Passwort eingeben, das erzeugt beiypielsweise: New password: Re-type new password: username:kY7/MnO/h8Pb6 Der Benutzername muss angegeben werden, da das Programm immer ein Paar aus Benutzername und Passwort für das Speichern in einer Datei names .htpasswd erzeugt. Für unsere Zwecke ist es also egal, was man als Benutzername angibt. Weitere Informationen dazu sind in der {{Man|htpasswd|manpage von htpasswd}} nachzulesen. ===Password Assistant=== Der [http://www.codepoetry.net/products/passwordassistant Password Assistant] (OpenSource) bedient sich der obigen Systemfunktion und erlaubt die Erzeugung von sicheren Passwörtern ohne den Umweg über den Schlüsselbund. ===WLAN WEP/WPA Schlüsselgenerator zweckentfremden=== Es gibt eine Reihe kostenloser Tools zur Erzeugung von WEP/WPA Keys und Passphrases, beispielsweise der [http://www.rksoft.at/rk-wlan-keygen-funktionen.html RK-WLAN-Keygen]. Dieser kann Passphrases wie diese hier erzeugen: 0-9,A-Z,a-z :X8XQQhZWsMh4d4sntHclkjSrpZnVEfqZ 0-9,A-Z,a-z + Sonderzeichen :W2y_LF$L&lLS'H|3jD{jTi%'A_h}dP[S 0-9,A-Z,a-z + erweiterte Sonderzeichen :é®r0RHµ¿/"ç)v¼¦ø6¸öP¯AË<Í`-ϱm-¼ Aus Diesen Zeichenketten muss man sich dann nur noch einen beliebigen (möglichst zufällig erzeugt aussehenden) Teilstring herauspicken und fertig ist das Profi-Passwort. Der Vorteil an diesem Tool ist, dass man den Zeichenumfang und die Schlüssellänge (8-63 Zeichen) auswählen kann. Der große Nachteil ist, dass dieses Programm nur unter Windows läuft. Allerdings existieren auch für Mac OS X [http://www.macupdate.com/search.php?keywords=password+generator eine Reihe solcher Tools], bislang habe ich jedoch (mangels Bedarf) noch keines davon getestet ... ==Passwörter überprüfen== Um vorhandene Passwörter auf ihre Sicherheit zu überprüfen, bieten sich die folgenden Möglichkeiten an: ===mac.GWDG Password Tester=== Der [http://www.mac.gwdg.de/index.php?id=60 Password Tester] von mac.GWDG ist ein kostenloses Hilfsprogramm, das sich der oben beschriebenen Systemfunktion (dem Passwort-Assistenten) bedient. Prinzipiell steht diese Funktion auch im Schlüsselbund zur Verfügung, der Password Tester vereinfacht jedoch die Nutzung ohne diesen Umweg. Nicht mehr und nicht weniger ;-) 83bd17f27156b305e575cdfaed60d8aea769a7ee 1678 1676 2023-03-15T08:11:05Z Hagbard 2 wikitext text/x-wiki [[Category:Security]][[Category:Update]]Mittlerweile wird ja allerhand durch Passworter geschützt, vom Benutzerkonto auf dem Mac über E-Mail Konten bis hin zum Online-Einkaufsportal. In diesem Artikel sollen ein paar (hoffentlich) hilfreiche Tipps zur sicheren Auswahl von Passwörtern gegeben werden. Damit man nicht den Überblick über diese Passwörter verliert, besitzt Mac OS X ja bekanntermaßen den Schlüsselbund, in dem die verwendeten Zertifikate und Passwörter - unabhängig, ob diese nun im Browser, FTP-Client oder WLAN benutzt werden - abgelegt sind. Einzusehen sind diese über das Programm "'''Schlüsselbund.app'''" (bzw. "'''Keychain.app'''"), allerdings sind dennoch einige Regeln für die Vergabe von Passwörtern zu beachten. Ist beispielsweise das Benutzerpasswort sehr leicht zu erraten, ist der Sicherheitsgewinn durch die verschlüsselte Speicherung im Schlüsselbund hin und ein Angreifer hat freien Zugriff auf alle Daten. Viele begehen auch den Fehler, für unterschiedliche Anwendungen immer dasselbe Passwort zu verwenden. Durch den Schlüsselbund ist es jedoch mittlerweile auch keine große Herausforderung mehr, mehrere verschiedene Passwörter zu verwenden - schließlich muss man sich diese ja nicht mehr alle merken. Auch bei Systemupdates und Neuinstallationen stellt das kein Problem dar, man muss jedoch nur daran denken, den Schlüsselbund vorher zu sichern (ein regelmäßiges Backup schadet sicherlich auch nicht). ==Faustregeln für Passwörter== Aus diesem Grund sollte mindestens für das Benutzerkonto ein sicheres, nicht ohne größen Aufwand zu ermittelndes Passwort gewählt werden, das den folgenden Anforderungen entsprechen sollte: # es sollte '''mindestens 8 Zeichen lang''' sein, besser länger # eine '''Kombination aus Groß- und Kleinbuchstaben, Sonderzeichen und Zahlen''' ist ebenfalls empfehlenswert. Der Umfang der verwendbaren Zeichen ist dabei jedoch von der Anwendung abhängig, so sind oftmals Umlaute und manche Sonderzeichen nicht verwendbar (vor allem bei Internet-Anwendungen). # '''Eigennamen und andere leicht zu erratende Wörter''' sollten auf keinen Fall verwendet werden. # '''Hinweistexte beim Login''' sind - insbesondere in Verbindung mit einem leicht zu erratenden Passwort - geradezu eine Einladung zum Ratespiel. Auch wenn die Bequemlichkeit dazu verleitet, dieses Feature zu benutzen, ist dringend davon abzuraten! # Das Passwort sollte '''kein Wort aus einem Lexikon oder Wörterbuch''' sein, da man diese sehr einfach durch automatisierte Abfragen durch "Trial and Error" (auch bekannt als "Wörterbuch Attacke") ermitteln kann. Ebenso sind '''Wörter des Alltags''' zu vermeiden, beispielsweise bekannte Persönlichkeiten oder Orte. # Auch '''Begriffe aus dem gesellschaftlichen Umfeld''' sollten unbedingt vermieden werden, die Gefahr durch das sogenannte "social engineering" ist nicht zu unterschätzen! # '''einfache Zahlen- und Buchstabentauscher''' oder das '''Rückwärtsschreiben von Wörtern''' werden oft verwendet, beispielsweise indem aus zwei Wörtern die Buchstaben abwechselnd aneinandergehängt werden. Auch solche einfachen "Algorithmen" lassen sich sehr einfach knacken. # '''Bei Zahlenkombinationen gilt dasselbe''', sie sind mitunter sehr leicht zu erraten (z.B. Geburtstage oder Ähnliches). # '''Ein sicherer Aufbewahrungsort''' sollte selbstverständlich sein, damit ist nicht der Post-It Kleber hinter dem Monitor oder unter der Tastatur gemeint!!! ==Passwörter erzeugen== Jeder dürfte wohl so seine eigene Methode haben, Passwörter zu erzeugen. Einige mögliche Vorgehensweisen sind beispielsweise die Folgenden: ===durch das Zerlegen von Sätzen=== Eine sehr einfache Möglichkeit ist es, aus einem möglichst langen Satz immer die Anfagsbuchstaben (oder Endbuchstaben) der einzelnen Wörter herauszupicken. Diese Vorgehensweise ist wohl auch recht verbreitet, allerdings ist hier naturgemäß der Zeichenumfang relativ gering (zumindest falls es sich um sytaktisch und semantisch korrekte Sätze handelt). '''Beispiel:''' :''"Bitte kopieren Sie keine Webseiten, die nicht Ihre eigenen sind, benutzen Sie keine urheberrechtlich geschützten Werke ohne Erlaubnis des Copyright-Inhabers!"'' ergibt BkSkW,dnIes,bSkugWoEdC-I! Besser als "Start", "Mausi" oder "login" ist es allemal ;) ===Mit Mac OS Bordmitteln=== Auch das Mac OS X System bringt bereits einige Tools mit, die man für diesen Zweck benutzen kann: ====Kennwort Assistent==== Seit Mac OS X Panther (10.3) befindet sich Im Schlüsselbund versteckt ein kleines Tool, mit dem sichere Passwörter erstellt werden können. Erreichbar ist es zum Beispiel über das Anlegen eines neuen Passwortes (Datei-Menü) via<KB>apfel + n</KB> und im daraufhin erscheinenden Eingabefenster über das Schlüssel-Symbol: [[Image:Keychain_CreateNewPassword.png]] Der Assistent ist außerdem auch beim Anlegen eines Benutzers über die Systemeinstellungen erreichbar: [[Image:System_Preferences_PasswordAssistant.png]] Anschließend erscheint das folgende Fenster: [[Image:Keychain_PasswordAssistant.png]] ====md5 Verschlüsselung==== Durch einfach Angabe eines "normalen" Satzes wie diesem hier: "huhu ich bin ein hornochse" erhält man durch Eingabe von md5 -s "huhu ich bin ein hornochse" die Passphrase a258cdf2fbf487535c6a5cafa7d8604d Weitere Informationen dazu sind in der {{Man|md5|manpage von md5}} nachzulesen. ====htpasswd==== {{Man|htpasswd|htpasswd}} ist eigentlich ein Hilfsprogramm, um die Benutzer- und Passwortdateien für den Webserver Apache zu erzeugen. Allerdings kann das Tool auch durch die Option "-n" veranlasst werden, die Informationen nicht in eine Datei sondern auf den Ausgabekanal des Terminals zu schreiben (sprich: das erzeugte Passwort wird angezeigt): htpasswd -n username 2mal das neue Passwort eingeben, das erzeugt beiypielsweise: New password: Re-type new password: username:kY7/MnO/h8Pb6 Der Benutzername muss angegeben werden, da das Programm immer ein Paar aus Benutzername und Passwort für das Speichern in einer Datei names .htpasswd erzeugt. Für unsere Zwecke ist es also egal, was man als Benutzername angibt. Weitere Informationen dazu sind in der {{Man|htpasswd|manpage von htpasswd}} nachzulesen. ===Password Assistant=== Der [http://www.codepoetry.net/products/passwordassistant Password Assistant] (OpenSource) bedient sich der obigen Systemfunktion und erlaubt die Erzeugung von sicheren Passwörtern ohne den Umweg über den Schlüsselbund. ===WLAN WEP/WPA Schlüsselgenerator zweckentfremden=== Es gibt eine Reihe kostenloser Tools zur Erzeugung von WEP/WPA Keys und Passphrases, beispielsweise der [http://www.rksoft.at/rk-wlan-keygen-funktionen.html RK-WLAN-Keygen]. Dieser kann Passphrases wie diese hier erzeugen: 0-9,A-Z,a-z :X8XQQhZWsMh4d4sntHclkjSrpZnVEfqZ 0-9,A-Z,a-z + Sonderzeichen :W2y_LF$L&lLS'H|3jD{jTi%'A_h}dP[S 0-9,A-Z,a-z + erweiterte Sonderzeichen :é®r0RHµ¿/"ç)v¼¦ø6¸öP¯AË<Í`-ϱm-¼ Aus Diesen Zeichenketten muss man sich dann nur noch einen beliebigen (möglichst zufällig erzeugt aussehenden) Teilstring herauspicken und fertig ist das Profi-Passwort. Der Vorteil an diesem Tool ist, dass man den Zeichenumfang und die Schlüssellänge (8-63 Zeichen) auswählen kann. Der große Nachteil ist, dass dieses Programm nur unter Windows läuft. Allerdings existieren auch für Mac OS X [http://www.macupdate.com/search.php?keywords=password+generator eine Reihe solcher Tools], bislang habe ich jedoch (mangels Bedarf) noch keines davon getestet ... ==Passwörter überprüfen== Um vorhandene Passwörter auf ihre Sicherheit zu überprüfen, bieten sich die folgenden Möglichkeiten an: ===mac.GWDG Password Tester=== Der [http://www.mac.gwdg.de/index.php?id=60 Password Tester] von mac.GWDG ist ein kostenloses Hilfsprogramm, das sich der oben beschriebenen Systemfunktion (dem Passwort-Assistenten) bedient. Prinzipiell steht diese Funktion auch im Schlüsselbund zur Verfügung, der Password Tester vereinfacht jedoch die Nutzung ohne diesen Umweg. Nicht mehr und nicht weniger ;-) 17b3b3f4dbf0bd195292d45319398b8348753c7d Regeln für Passwörter 0 341 1677 2023-03-15T08:10:19Z Hagbard 2 Hagbard moved page [[Regeln für Passwörter]] to [[Rules of Thumb for Secure Passwords]] wikitext text/x-wiki #REDIRECT [[Rules of Thumb for Secure Passwords]] de20df2abdb688f77b828b35197eff7a9cf82b43 ITunes Rechnungen mit ausgewiesener USt 0 86 1679 352 2023-03-15T08:11:21Z Hagbard 2 wikitext text/x-wiki [[Category:Translate]][[Category:Museum]]<div style="float:right">{{Contentbox|content= '''iTunes SARL'''<br /> 8 rue Heinrich Heine<br /> L-1720 Luxembourg<br /> VAT: LU 20165772 ---- '''Apple Sales International'''<br /> Hollyhill Instustrial Estate<br /> Hollyhill, Cork<br /> Ireland<br /> VAT: IE 6554690W}}</div> ==iTunes Rechnungen== Wie vielleicht der eine oder andere weiß, verkauft Apple via iTunes (aus deren Sicht) ausschließlich an Privatkunden und nicht an Unternehmer (trotz der eigentlich anderslautenden Rechtslage, siehe beispielsweise [http://carta.info/28290/apple-finanzministerium-moniert-mehrwertsteuerpraxis-des-itunes-store/ hier]). Das hat zur Folge, das '''Rechnungen des iTunes Store aus Luxemburg''' (dem Sitz der iTunes S.A.R.L.) kommen und damit nach luxemburgischem Recht versteuert werden, derzeit also mit 15% MwSt. In diesen per E-Mail verschickten Belegen ist jedoch - da sie ja für Privatkunden gedacht sind - die luxemburgische MwSt. nicht explizit ausgewiesen sondern lediglich der Brutto-Betrag. Der Mac App Store sitzt abweichend davon übrigens in Irland, dort beläuft sich die MwSt./Ust. derzeit auf 21%. Das restliche Vorgehen ist aber dasselbe ... Da aber auch iOS Apps durchaus gewerblich genutzt werden können – das iPad wird ja schließlich explizit [http://www.apple.com/de/ipad/business/ für den Unternehmenseinsatz beworben] – fällt auch die direkte Vorsteuervergütung flach, zumal sich Apple auch im "normalen" Business Store (zumindest bei mir) beharrlich weigert, Netto-Rechnungen zu stellen. Einen "Business iTunes Store" gibt es erst gar nicht ... {{Information|'''Da iTunes Guthabenkarten'''<br /><br /> Da iTunes Guthabenkarten mehrwertsteuerfrei sind (wie z.B. Prepaid Handy-Guthabenkarten und vermutlich auch allen anderen derartigen Guthabenkarten, das sieht man dann spätestens auf dem Kassenzettel), ist hierüber also auch kein Vorsteuerabzug möglich. Schließlich fällt die Mehrwertsteuer/Umsatzsteuer erst bei Leistungserbringung an.}} Für den iTunes Store ist also für Unternehmer aus Deutschland offenbar folgende Vorgehensweise nötig, um wieder an die USt. zu kommen: {{Information|'''Info:''' die "Express Lane" ist neuerdings ganz unten links in der Übersicht der Supportseite zu finden und trägt den Namen "Support kontaktieren"}} # '''Eine Rechnung mit MwSt. anfordern:''' im [http://www.apple.com/de/support/itunes/account/ Apple iTunes Support] unter "Account & Abrechnung" via "Express Lane" eine Anfrage stellen (dazu den Punkt "Express Lane Support für Ihren Account" unter "Account-Sicherheit" verwenden). Dort kann man dann eine E-Mail Anfrage stellen, z.B. mit dem Thema "Rechnung mit ausgewiesener USt." ("Sonstiges Tema" auswählen): ## [https://expresslane.apple.com/ Express Lane] im Browser öffnen ## Ganz oben links den richtigen Store auswählen ## '''iTunes Store:''' Express Lane > iTunes > iTunes Store > Einkauf, Abrechnung & Rückzahlung ## '''Mac App Store:''' Express Lane > Weitere Produkte & Dienste > Mac Appp Store > Einkauf, Abrechnung & Rückzahlung ## Angaben zur Anfrage: ##*Problembeschreibung: "Mein Thema wird nicht aufgeführt" ##* Thema: "Rechnung mit ausgewiesener USt" ##* Weitere Angaben nach Bedarf, Bestellnummer ist dem iTunes Beleg zu entnehmen ## Eine Anmeldung ist empfehlenswert (scheint die Bearbeitung zu beschleunigen) ## Kontaktinformationen: ##* Apple ID eintragen ##* {{MARK}} '''Wichtig:''' nicht vergessen, im Feld "Weitere Angaben" die eigene USt.-ID anzugeben! # '''[http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Inlaendische_Unternehmer.html Umsatzsteuervergütung]''' an inländische Unternehmer in anderen EU-Mitgliedstaaten: via BZSt kann man sich dann die USt. vom luxemburgischen bzw. irischen Fiskus wieder zurückholen. #* {{MARK}} Für die Erstattung ist eine zeitliche Frist zu beachten: Der Vergütungsantrag ist '''bis zum 30. September des Folgejahres''' zu stellen. Danach ist keine Erstattung mehr möglich. #* Die Anmeldung beim BZSt (Bundeszentralamt für Steuern) erfolgt dabei über [https://www.elsteronline.de/bportal/ BZStOnline] via Elster (Login derzeit nur mit Softwarezertifikat). #* Luxemburg und Irland erfordern es (zumindest derzeit) nicht, die Rechnungen dem Antrag beizulegen. Eine aktuelle Präferenzliste der EU-Mitgliedstaaten ist [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Hilfsmittel/Praeferenzliste_EU_Mitgliedstaaten.html beim BZSt] zu bekommen. #* Für die Umsatzsteuervergütung existieren '''länderspezifische Grenzwerte''' (in nationaler Währung), diese sind ebenfalls obiger Präferenzliste zu entnehmen. Der Vergütungsbetrag muss '''mindestens € 50,-''' betragen oder einem entsprechend in Landeswährung umgerechneten Betrag entsprechen. Außerdem existieren u.U. weitere Unterschiede bzgl. des Zeitraumes der Rückvergütungen (monatlich, quartalsweise, jährlich etc.) # Der Rest hängt dann vom jeweiligen Land ab. Die Iren scheinen generell etwas länger zu brauchen als unsere westlichen Nachbarn aus Luxemburg ... Weitere Informationen zur Vorsteuervergütung sind [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Vorschriften_Merkblaetter/Vorschriften_Merkblaetter_node.html beim BZSt erhältlich]. Das bedeutet, dass man für jede Rechnung einzeln ein Exemplar mit ausgewiesener MwSt. anfordern muss. Bisher lief das aber immer recht problemlos und ich bekam innerhalb von 10-15 Minuten (tagsüber, werktags) die neuen Rechnungen per E-Mail zugestellt. Da das Finanzamt seit 2010 auch keine signierten PDFs mehr verlangt, sollten diese E-Mail Rechnungen für diesen Zweck auch vollkommen ausreichend sein. Die einzige Alternative ist, auf die Vorsteuer zu verzichten und den Bruttobetrag am Jahresende als Betriebsausgabe geltend zu machen. Da die gekauften Apps wert- und funktionsmäßig wohl in den meisten Fällen als sog. "Trivialsoftware" durchgehen dürften, sollte das also in der Regel keine größeren Probleme verursachen. Höherpreisige Apps sind dann jedoch u.U. über mehrere Jahre abzuschreiben oder als GWG abzusetzen. {{Important|'''Rechnungsempfänger in iTunes Rechnungen'''<br /><br /> Bei Artikeln mit einem Wert von mehr als € 150,- ist jedoch zu beachten, dass als Rechnungsempfänger der Inhaber des jeweiligen iTunes-Kontos aufgeführt wird. Das bedeutet, dass bei teureren Artikeln wie beispielsweise FinalCut X u.U. Probleme mit dem Finanzamt zu erwarten sind, falls die Rechnung einen abweichenden Rechnungsempfänger ausweist. Für Unternehmen, in denen mehrere Personen Zugriff auf den iTunes Store haben, ist es also dringend anzuraten, für alle Einkäufe ein eigenes iTunes-Konto samt AppleID anzulegen, um anschließend Rechnungen mit korrektem Rechnungsempfänger zu erhalten.}} ==Developer Program Rechnungen== Wie die Belege des Mac App Store kommen auch die Rechnungen des '''iOS/Mac Developer Program aus Irland''' und werden demzufolge nach irischem Recht versteuert (derzeit 21% VAT) – wie übrigens auch alles, was an nicht-materiellem (Software etc.) über den herkömmlichen Online Store verkauft wird. Hardware-Rechnungen kommen zwar auch aus Irland, weisen aber (zumindest war es bei [[User:Hagbard|mir]] bisher immer so) explizit die deutsche MwSt. aus. Wenn bei der Beantragung eines Developer Program (genauer beim "Einkauf" desselbigen) die USt.-ID angegeben wurde, sollte die Rechnung nun direkt die irische Mehrwertsteuer ausweisen. Diese kann auf oben beschriebenem Weg über das BZSt zurückgeholt werden. Andernfalls ist eine [http://developer.apple.com/contact/ Anfrage beim Apple Developer Support] nowendig, um eine neue Rechnung mit ausgewiesener Mehrwertsteuer (VAT) zu erhalten. Einigen iOS Entwicklern ist es wohl auch schon gelungen, über eine telefonische Anfrage beim Developer Support eine Rückerstattung der MwSt. zu erwirken. Ob das aber immer und reibungslos funktioniert, sei einmal dahingestellt. ==Links== * Apple: ** [http://www.apple.com/de/support/itunes/account/ iTunes Support - Account & Abrechnung] ** [https://expresslane.apple.com/GetproductgroupList.do?&PRKEYS=131629&category_id=SC0002&symptom_id=20182 Express Lane Support für Ihren Account] ** [http://developer.apple.com/contact/ Apple Developer Support] * Bundeszentralamt für Steuern (BZSt): ** [https://www.elsteronline.de/bportal/ BZStOnline] (www.elsteronline.de/bportal/) ** [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Inlaendische_Unternehmer.html Umsatzsteuervergütung an inländische Unternehmer in anderen EU-Mitgliedstaaten] ** [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Hilfsmittel/Praeferenzliste_EU_Mitgliedstaaten.html Präferenzen der EU-Mitgliedstaaten] (PDF) ** [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Vorschriften_Merkblaetter/vorStVergVerfahren_ab20100101.pdf Vorsteuer-Vergütungsverfahren ab 01.01.2010] (PDF) ** [http://www.bzst.de/DE/Steuern_International/USt_im_In_und_Ausland/Merkblatt_USt_Inland_Ausland.pdf Merkblatt Umsatzsteuer im In- und Ausland] (PDF) ** [http://www.bzst.de/DE/Steuern_International/Umsatzsteuerverguetung/01_Inlaendische_Unternehmer/Vorschriften_Merkblaetter/Merkblatt_USt_EU.pdf Merkblatt EU-Umsatzsteuersätze] (PDF) c447cdda43e450269aa4ea35df43574e653ff918 Playground 0 309 1680 1607 2023-03-15T08:11:35Z Hagbard 2 Blanked the page wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Main Page 0 1 1681 1243 2023-03-15T08:11:59Z Hagbard 2 wikitext text/x-wiki [[Image:MacwrenchLogo.png|128px|right]] Macwrench collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. For the time being the old wiki will still be around here: [http://www.macwrench.de macwrench.de], but new edits will most likely go in here. [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) {| style="width:100%; border: 1px solid ButtonBorder; padding:10px;" |-- | colspan="3" | '''Important articles:''' || rowspan="7" style="width:148px" | [[Image:W21-1a.svg|128px|right]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|24px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''External resources:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|18px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|18px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} {| style="width:100%; border: 1px solid ButtonBorder; padding:10px; margin-top:16px;" |-- ! '''Important categories:''' |-- | style="text-align:center;" | [[:Category:OS|Operating System]] &bull; [[:Category:Development|Development]] &bull; [[:Category:Terminal|Terminal]] &bull; [[:Category:Networking|Networking]] &bull; [[:Category:Hint|Hints]]<hr/>[[:Category:Museum|Museum]] &bull; [[:Category:Verify|Verify]] &bull; [[:Category:Translate|Translate]]<br/>[[Special:Categories|All categories]] &bull; [[Special:AllPages|All pages]] |} 19697175d6d8ce4f51fe6aa27530695bdf02e3f7 Verkabelung 0 342 1684 2023-03-15T08:15:02Z Hagbard 2 Hagbard moved page [[Verkabelung]] to [[Networking cables and interfaces]] wikitext text/x-wiki #REDIRECT [[Networking cables and interfaces]] 89396a4eb37d5c3cedf80af301bd07c17c0d0f9b Add Inline Images to Continuous TeXt 0 156 1685 1176 2023-03-15T08:15:40Z Hagbard 2 wikitext text/x-wiki [[Category:TeX]][[Category:Hint]] Schön abgesetzte Grafiken und Abbildungen sind ja an sich in Ordnung; manchmal ist es aber zu Illustrationszwecken auch sehr praktisch, Grafiken vom Text umfließen zu lassen. Das geht mit TeX folgendermaßen: ===Package einbinden=== Zuerst ist das Package <font face="courier">wrapfig</font> notwendig, das wie folgt eingebunden wird: \usepackage{wrapfig} ===Grafiken erzeugen=== Anschließend wird beispielsweise wie folgt eine Grafik eingebunden: \begin{wrapfigure}[<font color="orange">$ZEILEN</font>]{<font color="orange">$AUSRICHTUNG</font>}{<font color="orange">$BEITE</font>} \includegraphics[<font color="orange">$IMAGEVARS</font>]{<font color="orange">$IMAGE</font>} \label{blah} \caption{blah} \end{wrapfigure} Wobei die obigen Variablen durch folgendes zu ersetzen sind: <font color="orange">$ZEILEN:</font> Anzahl der Zeilen Text, die die Grafiken umfließen sollen, z.B. 20 <font color="orange">$AUSRICHTUNG:</font> l (links) oder r (rechts) <font color="orange">$BREITE:</font> Breite des Textumflusses 4cm <font color="orange">$IMAGEVARS:</font> die sonst üblichen Optionen für Grafiken, z.B.: width=4cm <font color="orange">$IMAGE:</font> Grafikdatei ohne Endung, z.B. img01 Das kann dann ungefähr so aussehen: \begin{wrapfigure}[21]{r}{4cm} \includegraphics[width=4cm]{img/Siemens-sx1} \label{Mobiltelefon Siemens SX-1, Quelle: de.wikipedia.org} \caption{Mobil-telefon Siemens SX-1, Quelle: de.wikipedia.org} \end{wrapfigure} vielleicht nicht die eleganteste Lösung, aber sie funktioniert :) ===Alternative: {{TT|\parpic}}=== Alternativ kann für kleine Icons am Textrand auch das Package ''picins'' benutzt werden: <syntaxhighlight lang="latex"> \usepackage{picins} \parpic{\includegraphics[width=1.6 cm]{pics/smallicons/MessageFilter}} </syntaxhighlight> cd2aa382c3b1a25c108611012d242856532a6afe Betriebssystemversion prüfen 0 48 1686 255 2023-03-15T08:16:40Z Hagbard 2 wikitext text/x-wiki [[Category:Development]][[Category:Hint]][[Category:Update]][[Category:Translate]] ==OS X Laufzeitumgebung== <syntaxhighlight lang=objc> #import <CoreServices/CoreServices.h> ... SInt32 major, minor, bugfix; Gestalt(gestaltSystemVersionMajor, &major); Gestalt(gestaltSystemVersionMinor, &minor); Gestalt(gestaltSystemVersionBugFix, &bugfix); //NSString *versionString = [NSString stringWithFormat:@"%d.%d.%d", major, minor, bugfix]; NSString *versionString = [NSString stringWithFormat:@"%d.%d", major, minor]; float version = [versionString floatValue]; if(version < 10.8) { ... } </syntaxhighlight> ==OS X Build-Umgebung== <syntaxhighlight lang=objc> #ifndef MAC_OS_X_VERSION_10_7 // only executed when building on 10.6.x or older #endif #ifdef MAC_OS_X_VERSION_10_6 // only executed when building on 10.6.x or newer #endif </syntaxhighlight> ==iOS Laufzeitumgebung== Um für Codeweichen zur Laufzeit die aktuelle Systemversion abzugfragen, existieren verschiedene Möglichkeiten: ==={{TT|UIDevice}}=== <syntaxhighlight lang=objc> NSLog(@"current system version: %@",[[UIDevice currentDevice] systemVersion]); if ([[[UIDevice currentDevice] systemVersion] compare:@"3.2" options:NSNumericSearch] != NSOrderedAscending) { // iOS 3.2 ooder neuer } if ([[[UIDevice currentDevice] systemVersion] compare:@"4.0" options:NSNumericSearch] != NSOrderedDescending) { // iOS 4.3 ooder älter } // alternativ, evtl. etwas übersichtlicher: float version = [[[UIDevice currentDevice] systemVersion] floatValue]; if (version >= 3.2) { // iOS 3.2 oder neuer } </syntaxhighlight> ===System-Makros=== Zum Versionsvergleich sind auch auch einige Makros verfügbar: <syntaxhighlight lang=objc> if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"4.0") { // iOS 4.0 ooder älter } </syntaxhighlight> verfügbare Makros: <syntaxhighlight lang=objc> SYSTEM_VERSION_EQUAL_TO() SYSTEM_VERSION_GREATER_THAN() SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO() SYSTEM_VERSION_LESS_THAN() SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO() </syntaxhighlight> ===Anhand bekannter Klassen=== Um bestimmte iOS-Features zu nutzen, die erst ab (oder in) einer best. Version zur Verfügung stehen, bietet sich auch die direkte Nutzung dieser Klassen zur Versionsüberprüfung an: <syntaxhighlight lang=objc> Class playerClass = NSClassFromString(@"MPMoviePlayerViewController"); if(playerClass) { // iOS 3.2 oder neuer } else { // älter als iOS 3.2 } Class notificationClass = NSClassFromString(@"UILocalNotification"); if(notificationClass) { // iOS 4.0 oder neuer } else { // älter als iOS 4.0 } </syntaxhighlight> ==Projektumgebung== Für Abfragen zum Zeitpunkt des Übersetzens (in Xcode) existieren folgende Möglichkeiten: ===Base SDK=== In den verschiedenen iOS Versionen sind auch unterschiedliche Konstanten definiert, die dazu verwendet werden können (was allerdings weniger flexibel ist): <syntaxhighlight lang=objc> #ifdef __IPHONE_3_2 // iOS 3.2 oder neuer #endif </syntaxhighlight> {{Important|1=Diese Abfragen beziehen sich auf das aktuelle '''Base-SDK''' des Xcode Projektes und NICHT auf die tatsächlich zur Laufzeit verwendeten Betriebssystemversion! Wenn man also den Code mit Base SDK Version 5.0 übersetzt, werden immer alle Konstanten bis incl. {{TT|_IPHONE_5_0}} definiert sein - unabhängig davon, unter welcher SDK-Version die App anschließend läuft.}} ===Deployment Target (Systemvoraussetzung)=== Mit folgendem Code kann überprüft werden, welche die minimale, vom Xcode-Projekt unterstützte iOS Version ist (Deployment Target, wichtig v.a. für Bibliotheken und Frameworks): <syntaxhighlight lang=objc> #if __IPHONE_OS_VERSION_MIN_REQUIRED < 30200 // älter als iOS 3.2 #else // iOS 3.2 oder neuer #endif </syntaxhighlight> ==Siehe auch== * Cocoa Dev Central: [http://cocoadevcentral.com/articles/000067.php Checking the User's Mac OS X Version] d29743ca1f36b20939340293c2e3df6739d46349 Change the Encoding of Text Files 0 176 1687 1222 2023-03-15T08:17:03Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]]Um die [[wikipedia:de:Zeichenkodierung|Zeichenkodierung]] von Textdateien (beispielsweise [[wikipedia:de:UTF-8|UTF-8]] oder [[wikipedia:ISO 8859-1|ISO Latin-1]]) zu konvertieren, genügt folgende Zeile im Terminal: <syntaxhighlight lang="bash"> iconv -f QUELLKODIERUNG -t ZIELKODIERUNG QUELLDATEI > ZIELDATEI </syntaxhighlight> beispielsweise um ein russisches (kyrillisches) Textfile in UTF-8 umzuwandeln: <syntaxhighlight lang="bash"> iconv -f WINDOWS-1251 -t UTF-8 text.txt > text-utf8.txt </syntaxhighlight> Alternativ kann natürlich auch der Texteditor des Vertrauens dazu verwendet werden, allerdings ist imho eine Zeile im Terminal schneller eingetippt als man durch ein seitenlanges Menü verschiedener Textkodierungen gescrollt hat ... ==Unterstützte Kodierungen== Im Folgenden ein kleiner Auszug aus der Liste der von iconv unterstützten Kodierungen. Über die Option {{TT|-l}} oder {{TT|--list}} kann man sich eine Liste aller unterstützter Kodierungen ausgeben lassen, weitere Informationen dazu sind auch in der Manpage von {{Man|iconv|iconv}} zu finden. Die in einer Zeile stehenden Kodierungen sind dabei geleichbedeutend (alternative Schreibweisen und Bezeichnungen) ;Unicode :UTF-8, UTF8 :UTF-8-MAC, UTF8-MAC :UTF-16 :UTF-16BE :UTF-16LE :UTF-32 :UTF-32BE :UTF-32LE :UTF-7 ;ISO :CP819, IBM819, ISO8859-1, ISO_8859-1, ISO_8859-1:1987, L1, LATIN1, CSISOLATIN1 :ISO-8859-2, ISO-IR-101, ISO8859-2, ISO_8859-2, ISO_8859-2:1987, L2, LATIN2, CSISOLATIN2 :ISO-8859-3, ISO-IR-109, ISO8859-3, ISO_8859-3, ISO_8859-3:1988, L3, LATIN3, CSISOLATIN3 :ISO-8859-4, ISO-IR-110, ISO8859-4, ISO_8859-4, ISO_8859-4:1988, L4, LATIN4, CSISOLATIN4 :CYRILLIC, ISO-8859-5, ISO-IR-144, ISO8859-5, ISO_8859-5, ISO_8859-5:1988, CSISOLATINCYRILLIC ==Siehe auch== * {{Man|iconv|iconv}} * [[wikipedia:de:Iconv|iconv]] in der [[wikipedia:de:Hauptseite|Wikipedia]] 5ad7b596353850b81c39b29b03461fc6eae560c6 Change the Wallpaper of the Login Screen 0 157 1688 1180 2023-03-15T08:17:17Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Verify]][[Category:Update]]Das im Anmeldebildschirm von Mac OS 10.5 verwendete Hintergrundbild befindet sich nicht im gleichen Verzeichnis wie die übrigen Desktop-Hintergrundbilder /Library/Desktop Pictures/ sondern an einer anderen Stelle im System: /System/Library/CoreServices/DefaultDesktop.jpg Um ein anderes Bild dafür zu verwenden, gibt es prinzipiell zwei Möglichkeiten: ===Ändern der Voreinstellungen=== Das zu verwendende Hintergrundbild wird in folgender Einstellungsdatei festgelegt und kann dementsprechend auch geändert werden: /Library/Preferences/com.apple.loginwindow Das kann in einem Editor der Wahl oder mit dem folgenden Befehl über das Terminal erfolgen: <syntaxhighlight bash> /usr/bin/defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture "/pfad/zum/neuen/bild.jpg" </syntaxhighlight> Um diese Änderung rückgängig zu machen, ist dann dasselbe mit dem ursprünglichen Bild aufzurufen: <syntaxhighlight bash> /usr/bin/defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture "/System/Library/CoreServices/DefaultDesktop.jpg" </syntaxhighlight> {{Information|1='''Achtung:''' Der Benutzer muss dazu Schreibrechte im Systemverzeichnis haben, d.h. den obigen Befehlen ist u.U. ein "{{TT|1={{Man|sudo|sudo}} }}" voranzustellen!}} ===Ersetzen der Datei=== Diese Datei ist einfach durch eine andere zu ersetzen, wobei die Zugriffsrechte der neuen Datei unbedingt angepasst werden müssen! Das kann entweder über den Info-Screen der Datei oder im Terminal erfolgen. Im {{Terminal}} sind dazu nacheinander folgende Befehle einzugeben (MYNEWPICTURE ist dabei durch den Pfad zum neuen Bild zu ersetzen): <syntaxhighlight bash> cd /System/Library/CoreServices mv DefaultDesktop.jpg DefaultDesktop.jpg.original cp MYNEWPICTURE /System/Library/CoreServices/DefaultDesktop.jpg % chown root:wheel /System/Library/CoreServices/DefaultDesktop.jpg % chmod 644 /System/Library/CoreServices/DefaultDesktop.jpg </syntaxhighlight> In neueren macOS Version wird dieser Pfad verwendet: /Library/Caches/Desktop Pictures/<UUID>/lockscreen.png wobei UUID durch die UUID des eigenen Benutzerkontos ersetzt werden muss. Diese kann in den Systemeinstellungen unter "Users & Groups" eingesehen werden, und zwar in den über einen secondary click (Rechtsklick) erreichbaren "Erweiterten Optionen" ("Advanced Options"). Es ist durchaus möglich, dass dieses Verzeichnis noch nicht existiert. Zum Erstellen werden jedoch Administrator-Rechte benötigt. {{Information|'''Achtung:''' Bei einem späteren Systemupdate kann diese Datei wieder durch die ursprüngliche Systemdatei überschrieben werden!}} ===Alternativen=== * [http://www.loginox.branox.com/ Loginox] (Freeware) 75e900169f14038dce8b6394314a3642686b545f Dateien und Ordner verstecken und schützen 0 58 1689 260 2023-03-15T08:17:53Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]][[Category:Translate]] Um Dateien im Finder zu verstecken, gibt es prinzipiell zwei Möglichkeiten: ==Dateien und Ordner verstecken== ===Dateiname mit Punkt=== Da Mac OS X ein Unix-System ist, folgt es auch der Konvention, Datei- und Verzeichnisnamen, die mit einem Punkt beginnen, standardmäßig zu "verstecken". Diese Umbenennung ist jedoch im Finder nicht möglich (er verhindert dies bewusst), das Umbenennen muss also im [[:Category:Terminal|Terminal]] erfolgen: mv <dateiname> .<dateiname> Einge Dateien unter Mac OS X sind auf diese Weite "geschützt", beispielsweise die [[wikipedia:en:.DS_Store|{{TT|.DS_Store}}]]-Dateien (dienen der Speicherung von Ordnerspezifischen Einstellungen, z.B. Spaltenansicht). Sie lassen sich mit Werkzeugen wie beispielsweise dem [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool] auch im Finder sichtbar machen. Hierfür existiert auch ein Hilfsprogramm mit graphischer Oberfläche namens [http://www.altomac.com/hide_folders/index.php Hide Folders], mit dessen Hilfe auch auf diese Weise versteckte Dateien/Verzeichnisse gefunden werden können. ===Verstecken mit {{Man|chflags|chflags}}=== Ein Umbenennen der Dateien ist jedoch nicht immer möglich und wünschenswert, alternativ lässt sich dasselbe Ergebnis (allerdings nur auf HFS+ Volumes) mit dem Kommandozeilentool {{Man|chflags|chflags}} erreichen: chflags hidden <datei oder verzeichnis> Mit folgendem Kommando erreicht man das Gegenteil: chflags nohidden <datei oder verzeichnis> Mac OS X enthält eine ganze Menge solcher Dateien und Verzeichnisse (meist wichtige Systemdateien, die so vor unbeabsichtigten Modifikationen durch den Benutzer geschützt werden sollen). So lässt sich beispielsweise der Ordner {{TT|~/Library/}} unter Mac OS X 10.7 (Lion) dementsprechend im Finder wieder sichtbar machen. {{Important|'''Hinweis:''' Um Dateien und Verzeichnisse innerhalb der Graphische Oberfläche noch etwas vollständiger zu verbergen, sollten diese auch zusätzlich aus dem Spotlight-Index entfernt werden (Systemeinstellungen > Spotlight > Privatsphäre)}} ===Verstecken mit {{Man|SetFile|SetFile}}=== Alternativ kann auch das Kommandozeilenprogramm {{TT|SetFile}} verwendet werden, dass ein Bestandteil der Xcode-Kommandozeilen-Hilfsprogramme ist. Dieses Paket ist seit Xcode 4.4 ein eigenständiges Installationspaket und muss nachträglich installiert werden. Um beispielsweise ein Laufwerk auf dem Desktop zu verstecken, ist folgende Eingabe notwendig: SetFile -a V “/Volumes/VOLUMENAME″ anschließend ist mit folgendem Befehl der Finder neu zu starten (alternativ: Rechtsklick auf das Finder-Dockicon bei gedrückter alt-Taste): killall "Finder" Um das Verzeichnis wieder anzuzeigen, genügt folgende Anweisung im Terminal: SetFile -a v /Volumes/Untitled wiederum gefolgt von einem Finder-Neustart ==Desktop-Inhalte verstecken== Um den Inhalt des Desktops komplett auszublenden - also einen leeren Desktop zu bekommen, ohne die entsprechenden Dateien und Verzeichnisse verschieben zu müssen, kann folgende versteckte Finder-Einstellung verwendet werden: defaults write com.apple.finder CreateDesktop -bool false Anschließend muss der Finder neu gestartet werden, entweder mit folgender Terminal-Anweisung oder via Finder-Dockicon-Kontextmenü (bei gedrückter alt-Taste): killall "Finder" Diese Änderung lässst sich mit folgender Anweisung wieder rückgängig machen: defaults write com.apple.finder CreateDesktop -bool true ==Versteckte Dateien und Ordner anzeigen== ===in Dateidialogen=== {{Information|Diese Einstellung ist nur temporär wirksam und muss ggf. wiederholt werden. Für eine dauerhafte Aktivierung sind die im folgenden Abschnitt zum Finder beschriebenen Anweisungen auszuführen.}} In den Auswahldialogen zum Öffnen oder Speichern von Dateien können versteckte Dateien und Verzeichnisse sichtbar gemacht werden, indem folgende Tastenkombination gedrückt wird: {{Key press|CMD|Shift|.}} Anschließend muss u.U. noch einmal der angezeigte Ordner gewechselt werden, um diese Einstellung wirksam werden zu lassen. Um versteckte Dateien wieder zu verbergen, ist einfach dasselbe noch einmal durchzuführen. ===im Finder=== Um solche versteckten Dateien und Verzeichnisse im Finder dauerhaft sichtbar zu machen, kann man entweder Tools wie das bereits erwähnte [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool] verwenden, oder man bemüht wiederum das [[:Category:Terminal|Terminal]]. Die Aktivierung erfolgt über das erste Kommando, mit dem zweiten wird der Finder neu gestartet: defaults write com.apple.finder AppleShowAllFiles YES killall Finder Um diese Änderung wieder rückgängig zu machen, sind folgende Kommandos auszuführen: defaults write com.apple.finder AppleShowAllFiles NO killall Finder Der Finder kann alternativ auch über das folgende Tastaturkürzel neu gestartet werden:<KB>apfel+alt+esc</KB> ===im Terminal=== Im [[:Category:Terminal|Terminal]] werden solche Dateien und Verzeichnisse mit Hilfe des folgenden Kommandos sichtbar (großes O, kleines L): ls -laO <Verzeichnis> ===Sonderfall {{TT|~/Library/}} seit OS X Lion=== Seit OS X 10.7 (Lion) wird der Library-Ordner innerhalb des Benutzerverzeichnisses nicht mehr im Finder angezeigt. Allerdings ist es für die gelegentliche Verwendung nicht zwingend erforderlich, diesen mit obigen Terminal-Kommandos wieder sichtbar zu machen – zumal die Änderung mittels {{TT|chflags}} ohnehin nicht dauerhaft ist und beim nächsten Systemupdate vom System wieder rückgängig gemacht wird. Wenn man das Finder-Menü "Gehe zu" mit gedrückter <KB>alt</KB>-Taste öffnet, wird zusätzlich ein Eintrag "Library" angezeigt, über den der Benutzer-Library-Ordner direkt geöffnet werden kann. Ein dauerhaftes Einblenden dieses Ordners ist nur über ein zusätzliches AppleScript-Skript möglich, das anschließend als Anmeldeobjekt (Systemeinstellungen -> Benutzer & Gruppen -> Anmeldeobjekte) bei jeder Anmeldung des jeweiligen Benutzers ausgeführt wird: <syntaxhighlight lang="AppleScript"> do shell script "/usr/bin/chflags nohidden ~/Library" </syntaxhighlight> ==Dateien und Ordner schützen== Im Finder-Info-Dialog von Dateien und Verzeichnissen lassen sich selbige bekanntermaßen gegen versehentliches Bearbeiten oder Löschen schützen, indem die Option "Geschützt" aktiviert wird. Denselben Effekt kann man mit Hilfe von {{TT|{{man|chflags|chflags}}}} im Terminal erreichen: chflags uchg lockedFile.txt Der entsprechende {{TT|SetFile}} Aufruf (ein Bestandteil von Xcode) sieht so aus: SetFile -a L gesperrteDatei.txt ===Geschützte Dateien und Verzeichnisse ermitteln=== Im Terminal kann das entsprechende Attribut für geschützte Objekte mittels folgender Anweisung angezeigt werden (großes O, kleines L): ls -laO lockedFile.txt Dadurch wird zusätzlich das Attribut "uchg" ausgegeben: -rw-r--r-- 1 user group uchg 0 1 Jan 12:00 lockedFile.txt -rw-r--r-- 1 user group - 0 1 Jan 12:00 unlockedFile.txt ===Freigeben geschützter Objekte=== Den Vorgang rückgängig machen kann man mit folgender Terminal-Anweisung: chflags nouchg lockedFile.txt bzw. SetFile -a L lockedFile.txt ==Siehe auch== * [http://www.westwind.com/reference/OS-X/invisibles.html Mac OS Hidden Files & Directories] (westwind.com) 4492b1008880462257028b7141596b2e7dc572d2 Development Quickies 0 27 1690 49 2023-03-15T08:18:11Z Hagbard 2 wikitext text/x-wiki [[Category:Development]] In diesem Artikel findet sich eine Sammlung diverser Tips und Tricks zum Thema macOS-/iOS-Softwareentwicklung mit Xcode, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. == Xcode == === validate .strings files === The following terminal command only indicates whether or not the file is syntactically valid: plutil -lint /path/to/Localizable.strings Batch check of all .strings files within the current working directory: find . -name \*.strings -exec plutil -lint {} + == app extensions == === Things learned while writing WidgetKit app extensions === ;Multiple instances (sizes) of the same widget ... :... apparently run within the same runtime environment so avoid writing data from the configuration intent to some kind of singleton or static class since it will be overwritten by a second instance with a different configuration. But on the other hand don't rely on this data on being shared across widget instances. This seems to be an undocumented bejavior and may not always apply, and it might change in the future. ;Self-Updating widgets/High frequency updates : Some people suggest you should reload the timeline from within {{TT|getTimeline()}} by calling {{TT|WidgetCenter.shared.reloadAllTimelines()}} in order to achieve a higher update frequency of your extension. But doing this will drive up the cpu load, inevitably drain your battery and shorten the devices' life span in the process. So better avoid such dirty hacks and stick to the original plan for updating your widgets as laid out in Apple's documentation. Get used to the fact that high frequency updates of WidgetKit app extensions are simply not possible any more. Rather file a complaint with Apple, maybe they listen sooner or later and provide a proper mechanism for this specific use case. ;When your extensions write shared data to a shared resource: :[https://developer.apple.com/documentation/dispatch/dispatchsemaphore Make use of semaphores] when writing shared data to a shared resource such as a keychain or a user defaults store. You may run into race conditions when multiple instances of the same app extension can process or show different data, especially when they are configurable (i.e. have a configuration intent). They may have to write something in there simultaneously as they might receive an update trigger at the very same time and write operations on a shared keychain aren't always blazingly fast. === check if we're running within an extension === ;at compile-time Objective-C :<syntaxhighlight> #ifdef TARGET_IS_EXTENSION // this piece of code will only be compiled when building for app extension targets #endif </syntaxhighlight> ;at runtime Objective-C :<syntaxhighlight> if ([[[NSBundle mainBundle] bundlePath] hasSuffix:@".appex"]) { // this is an app extension } </syntaxhighlight> Swift :<syntaxhighlight> if Bundle.main.bundlePath.hasSuffix(".appex") { // this is an app extension } </syntaxhighlight>or<syntaxhighlight> if Bundle.main.bundleURL.pathExtension == "appex" { // this is an app extension } </syntaxhighlight> == Things to keep in mind == ===Foundation Framework=== <code>NSArray:indexOfObject:</code> returns 0 and NOT <code>NSNotFound</code> as you might have expected when the array is nil, so you better check that first: <syntaxhighlight> NSArray *array = nil; NSInteger index = [array indexOfObject:@"test"]; </syntaxhighlight> Tested on macOS Version 12.6 == Important Resources == === Interfaces === * [https://developer.apple.com/design/ Apple Design Guides] * [https://developer.apple.com/design/human-interface-guidelines/guidelines/overview Apple Interface Guidelines] === Guidelines for Authentication Services=== * Sign in with Apple: [https://developer.apple.com/sign-in-with-apple/ Overview], [https://developer.apple.com/design/human-interface-guidelines/technologies/sign-in-with-apple/ Technical Guidelines], [https://developer.apple.com/design/resources/ Apple Design Resources] * Google: [https://developers.google.com/identity/branding-guidelines Sign-In Branding Guidelines] * Meta User Design Guidelines: [https://developers.facebook.com/docs/facebook-login/userexperience/#buttondesign Facebook Login Button], [https://about.meta.com/brand/resources/facebookapp/logo/ Facebook Logo] d1f7646552536004794926c7ff7be4bd1f75cd30 Google Programme ohne Updater nutzen 0 71 1691 335 2023-03-15T08:18:25Z Hagbard 2 wikitext text/x-wiki [[Category:App]][[Category:App]][[Category:Translate]]Bei der Installation von Google Software wie beispielsweise Google Earth oder Chrome wird der Nutzer mittlerweile gezwungen (oder erst gar nicht gefragt), den Google Updater auf der Festplatte zu dulden was nicht unbedingt jeder bereit ist zu tun. Wenn man dies in rechts abgebildetem Dialog ablehnt, lässt sich das Programm nicht nutzen und beendet sich sofort wieder. Eine nachträgliche Deinstallation des Google Updater ist auch keine Lösung, da dieser bei jedem Start von Google Earth (und vermutlich auch bei anderen Google Programmen) erneut installiert wird. Zusätzlich wird bereits vor der Installation noch mit [https://www.keyhole.com {{TT|keyhole.com:443}}] kommuniziert, vermutlich zwecks Updates des Google Updaters. Der einzig wirksame Weg ist also, den Updater innerhalb des Application Bundle "{{TT|Google Earth.app}}" zu eliminieren, damit dieser erst gar nicht installiert wird. ==Google Earth== Dazu im Finder das Bundle rechtsklicken und via "Paketinhalt zeigen" dessen Inhalt anzeigen. In folgendem Unterverzeichnis findet sich nun der Updater: Contents/Frameworks/KeystoneRegistration.framework/Resources/ Der Inhalt des Archivs {{TT|Keystone.tbz}}: GoogleSoftwareUpdate.bundle Theoretisch dürfte es auch genügen, das Installationsskript "{{TT|install.py}}" im selben Verzeichnis entsprechend zu modifizieren, damit eine Installation nicht erfolgt. '''Das Löschen des Archivs {{TT|Keystone.tbz}}''' bewirkt letztendlich dasselbe und ist vermutlich die sicherere Variante. Je ein weiteres Exemplar befindet sich an folgenden Orten innerhalb des Application Bundle, diese werden jedoch scheinbar nicht für die Installation verwendet: Contents/Frameworks/KeystoneRegistration.framework/Versions/Current/Resources Contents/Frameworks/KeystoneRegistration.framework/Versions/A/Resources ==Google Chrome== Bei Google Chrome ist das Vorgehen dasselbe, der Pfad relativ zum Application Bundle ist jedoch ein anderer: <syntaxhighlight>Contents/Versions/<Chrome Versionsnummer>/Google\ Chrome\ Framework.framework/Frameworks/KeystoneRegistration.framework/Resources/</syntaxhighlight> Also beispielsweise <syntaxhighlight>Contents/Versions/16.0.912.75/Google\ Chrome\ Framework.framework/Frameworks/KeystoneRegistration.framework/Resources/</syntaxhighlight> ==Siehe auch== * [[Google Updater deinstallieren]] f5fb781061aaa64259e6cffb78125851613bebec Informationen über ein Disk Image auslesen 0 89 1693 348 2023-03-15T08:18:59Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Development]][[Category:Translate]] Um diverse Informationen eines Disk Image auszulesen, kann folgendes Stückchen Quellcode verwendet werden. Dies ruft in einem NSTask das Kommandozeilendienstprogramm "[[Hdiutil|{{TT|hdiutil}}]]" auf, um an diese Informationen zu gelangen: <syntaxhighlight lang="objc"> NSArray *args = [NSArray arrayWithObjects:@"imageinfo", @"-plist", @"/path/to/disk/image.dmg", nil]; NSTask *task = [[NSTask alloc] init]; [task setLaunchPath:@"/usr/bin/hdiutil"]; [task setArguments:args]; NSPipe *pipe = [NSPipe pipe]; [task setStandardOutput:pipe]; [task launch]; NSData *data = [[pipe fileHandleForReading] readDataToEndOfFile]; [task waitUntilExit]; //int result = [task terminationStatus]; // falls benoetigt einkommentieren [task release]; NSString *errorStr = nil; NSDictionary *imageinfo = (NSDictionary *)[NSPropertyListSerialization propertyListFromData:data mutabilityOption:NSPropertyListImmutable format:NULL errorDescription:&errorStr]; </syntaxhighlight> 94938de8016a6db3b669d5f6c0717bd67fbc3a89 IOS-Geräte auf Hardwareeigenschaften prüfen 0 80 1694 341 2023-03-15T08:19:13Z Hagbard 2 wikitext text/x-wiki [[Category:Development]][[Category:Translate]]{{Hint|Die hier beschriebene Vorgehensweise ist ebenso für die Abfrage anderer hardwarespezifischer Details zu verwenden - beispielsweise um zu ermitteln, ob das verwendete Gerät ein GPS hat oder telefonieren kann. Als Beispiel wird hier jedoch nur die Existenz einer Kamera abgefragt.}}In manchen iPhone-/iPod touch-Applikationen ist es notwendig, beispielsweise auf die Exitenz einer Kamera zu prüfen damit die Applikation auf beiden Gerätetypen reibungslos funktioniert. Schließlich schmiert die Anwendung auf einem iPod touch (ohne Kamera) sang- und klanglos ab, sobald man einen [[ADC:/{{TT|UIImagePickerController}}] verwendet und Apple weist dann die Applikation im Review-Prozess für den App-Store auch zurück. Um also unnötige Verzögerungen zu vermeiden, kann man wie folgt vorgehen: ==Applikation benötigt zwingend eine Kamera== Wenn eine App unbedingt eine Kamera benötigt (z.B. bei einem Kamera-Tool), kann man die benötigten Hardwarekomponenten als Array oder Dictionary in die {{TT|Info.plist}} eintragen: <pre> UIRequiredDeviceCapabilities = still-camera </pre> ;Array :Hier wird die Eigenschaft "still-camera" als Wert eingetragen, wobei natürlich der Datentyp der Array-Elemente entsprechend auf "String" stehen muss ;Dictionary: :Hier wird das Element als "BOOL" Wert eingetragen mit "still-camera" als Key ;Beispiele: {| style="margin-left:24px; background-color:#f2f2f2; border-spacing:0px; padding:0px;" |-- ! style="width:150px;" | Key || Beschreibung |-- | {{TT|telephony}} || Telefonfunktion (für tel:// Links benötigt) |-- | {{TT|sms}} || SMS-Funktion (für sms:// Links benötigt) |-- | {{TT|still-camera}} || Für die Verwendung des {{TT|UIImagePickerController)), um für Fotos auf eine integrierte Kamera zuzugreifen |-- | {{TT|auto-focus-camera}} || Wenn man die Autofokus-Funktion einer Kamera benötigt |-- | {{TT|video-camera}} || Für die Verwendung des {{TT|UIImagePickerController)), um für Videos auf eine integrierte Kamera zuzugreifen |-- | {{TT|wifi}} || Wenn die Applikation WLAN-Zugang benötigt |-- | {{TT|accelerometer}} || Wenn die App {{TT|UIAccelerometer}} benutzt, um auf solche Events reagieren zu können. Wird für reine Displaydrehungen (Portrait <> Landscape) nicht benötigt. |-- | {{TT|location-services}} || Verwendung des {{TT|Core Location}} Frameworks. '''Hinweis: ''' wenn man explizit ein GPS benötigt, sollte man zusätzlich den folgenden {{TT|gps}} Schlüssel eintragen! |-- | {{TT|gps}} || App benötigt eine vorhandene GPS (odr AGPS) Hardware für die Ortsbestimmung |-- | {{TT|magnetometer}} || Bei Verwendung des {{TT|Core Location}} framework für richtungsbezogene Events |-- | {{TT|microphone}} || ... na, was wohl? |-- | {{TT|opengles-1}} || Bei Verwendung des OpenGL ES 1.1 Interface |-- | {{TT|opengles-2}} || Bei Verwendung des OpenGL ES 2.0 Interface |-- | {{TT|armv6}} || App wurde nur für den armv6 Befehlssatz übersetzt (verfügbar ab iPhone OS v3.1) |-- | {{TT|armv7}} || App wurde nur für den armv7 Befehlssatz übersetzt (verfügbar ab iPhone OS v3.1) |-- | {{TT|peer-peer}} || App benötigt Peer-to-Peer Verbindungen über Bluetooth (verfügbar ab iPhone OS v3.1) |} {{Important|Damit lässt sich die App nur auf Geräten mit diesen Hardwareeigenschaften starten und der App Store erlaubt auch nur auf solchen Geräten die Installation! Wenn die App jedoch mit Einschränkungen trotzdem lauffähig ist, sollte man die folgende Variante verwenden.}} ==In der App auf Existenz einer Eigenschaft abfragen== Alternativ lässt sich in der App selber auch die Kamera abfragen, um beispielsweise den Button, der einen {{TT|UIImagePickerController}} aufruft, auf einem iPod touch einfach zu deaktivieren oder eine entsprechende Meldung anzuzeigen. ===Kamera abfragen=== Die Existenz einer Kamera kann mit Hilfe der Methode [[ADC:/iphone/library/documentation/UIKit/Reference/UIImagePickerController_Class/UIImagePickerController/UIImagePickerController.html#//apple_ref/occ/clm/UIImagePickerController/isSourceTypeAvailable:|isSourceTypeAvailable:]] des {{TT|UIImagePickerController}} abgefragt werden: <syntaxhighlight lang="objc"> if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { // Kamera ist verfügbar ... } else { // Keine Kamera } </syntaxhighlight> ===GPS und Magnetometer abfragen=== Auf vorhandene GPS-Hardware kann nicht unmittelbar sonndern nur indirekt mit Hilfe des [[ADC:/iphone/library/documentation/CoreLocation/Reference/CLLocationManager_Class/CLLocationManager/CLLocationManager.html#//apple_ref/occ/cl/CLLocationManager|CLLocationManager]] aus dem [[ADC:/iphone/library/documentation/General/Conceptual/DevPedia-CocoaCore/Framework.html#//apple_ref/doc/uid/TP40008195-CH56|Core Location Framework]] geprüft werden. Dazu kann man eine sehr hohe Genauigkeit einstellen und entsprechend reagieren, wenn keine Daten in der gewünschten Genauigkeit vorliegen (siehe auch [[ADC:/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedFeatures/AdvancedFeatures.html#//apple_ref/doc/uid/TP40007072-CH14-SW9|hier]]) Die Verfügbarkeit von Magnetometer-Events testet über die Property {{TT|headingAvailable}} der Klasse {{TT|CLLocationManager}}: <syntaxhighlight lang="objc"> if(myLocationManager.headingAvailable) { // ... } </syntaxhighlight> {{Important|1='''Wichtig:''' Die Abfrage des Magnetometer ist erst seit iPhone OS Version 3.0 möglich, daher sollte zusätzlich eine entsprechende Abfrage durchgeführt werden, falls die App auch noch unter iPhone OS 2.x laufen soll. Beispiel: <pre>if(myLocationManager.headingAvailable == nil) { /// ... iPhone OS älter als 3.0 ... (headingAvailable ist erst ab 3.0 verfügbar) } </pre> }} ==Siehe auch== * iPhone Dev Center: [http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedFeatures/AdvancedFeatures.html Device Support] (apple.com) * [https://github.com/erica/uidevice-extension uidevice-extension] von Erica Sadun 94ce0017b04bf3e133c32bd820f23ba18efa02eb IPhone Quickies 0 81 1695 355 2023-03-15T08:20:18Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]][[Category:Verify]]__TOC__ Hier finden sich ein paar (hoffentlich) hilfreiche Tipps & Tricks für den Fall, dass das iPhone zickt, der iPod touch nicht mehr starten will oder beim Jailbreak/Unlock irgendetwas schiefgelaufen ist. ==Synchronisieren== === Apps werden nicht mehr synchronisiert === In diesem Fall hat (falls ein Neustart des iPhone nicht hilft und man nicht gleich das iPhone zurücksetzen will) schon häufiger (allerdings leider nicht immer) die folgende Vorgehensweise geholfen: # Den aktuellen Computer vom iTunes Store abmelden (Menü "Store" > "Diesen Computer deaktivieren ...") # iPhone in iTunes auswerfen und abklemmen # iTunes beenden # Im (versteckten Verzeichnis) {{TT|/Users/Shared/SC Info/}} die beiden dort enthaltenen (ebenfalls versteckten) Dateien {{TT|SC Info.sidb}} und {{TT|SC Info.sidd}} löschen, entweder über das {{Terminal}} oder über die Anzeige versteckter Dateien im Finder, z.B. via [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool] # iTunes erneut beenden und neu starten # Computer wieder aktivieren (Menü "Store" > "Diesen Computer aktivieren ...") # iTunes neu starten und iPhone anschließen Unter Windows müssten sich die genannten Dateien in folgendem Verzeichnis befinden (Vista bzw. XP): :{{TT|C:\ProgramData\Apple Computer\iTunes\SC Info\}} :{{TT|C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Apple Computer\iTunes\SC Info}} ==Starten und Neustarten== [[Bild:IPhone_im_Recovery_Mode.png|thumb|100px|right|iPhone im [[IPhone_Quickies#Recovery_Mode|Recovery Mode]]]] ===Recovery Mode=== # Gerät vom Mac trennen und ausschalten # Home-Button drücken und gedrückt halten # Währenddessen das Gerät mit dem Mac verbinden # Den Home Button erst loslassen, wenn das iTunes-Icon mit einem USB-Stecker auf dem Display erscheint (siehe Abb. rechts) Anschließend sollte iTunes dann das Gerät im Wartungsmodus erkennen. Den Recovery Mode kann man mit einem [[#Reboot/Reset|Reset]] wieder verlassen (s.u.) ===DFU-Mode=== Den DFU-Mode startet man wie folgt, eine idiotensichere Anleitung bietet das Programm [[google:Pwnage|Pwnage]] (eigentlich für Jailbreaks gedacht): # Gerät ausschalten # das Gerät mit dem Computer verbinden und iTunes starten # die Tasten "Home" und "Sleep" (bzw. Power an der Oberseite) zusammen drücken # ca. 10 Sekunden lang gedrückt halten # danach (NUR) den Sleep/Power Button loslassen # den Home Button weitere 5 Sekunden gedrückt halten # Loslassen, sobald iTunes das Gerät im Wartungsmodus erkennt (der Bildschirm bleibt hier im Gegensatz zum [[#Recovery Mode| Recovery Mode]] schwarz). Den DFU-Mode kann man mit einem [[#Reboot/Reset|Reset]] wieder verlassen (s.u.) ===Reboot/Reset=== Um das Gerät nach einem Freeze (oder wenn man es aus Versehen in den DFU-Mode gestartet hat) neu zu booten, ist Folgendes zu tun: # die Tasten "Home" und "Sleep" (bzw. Power an der Oberseite) zusammen drücken # ca. 10 Sekunden lang gedrückt halten bis das Gerät neu startet (bzw. das Apple Logo sichtbar wird) # Dann erst loslassen Wenn dann das Apple-Logo im Display erscheint, war die Operation erfolgreich und das Gerät wird neu gestartet. ==Fehlerbehebung== === Geräte werden nicht mehr erkannt === Dies passiert hin und wieder nach der Installation einer neuen iTunes Version, in diesem Fall werden die Geräte dann auch in allen anderen Programmen (Xcode, iPhone Configuration Utility, ...) nicht mehr erkannt. Hierbei hilft nur eine (vollständige!) Neuinstallation von iTunes, wofür folgende Schritte durchzuführen sind: # Folgende Dateien löschen:<syntaxhighlight>/Applications/iTunes.app /System/Library/Extensions/AppleMobileDevice.kext /Library/Receipts/AppleMobileDeviceSupport.pkg</syntaxhighlight></div> # Mac neu starten # ggf. Papierkorb leeren # iTunes erneut installieren === iPhone bootet nur bis zum Apple-Logo === Wenn das iPhone nur bis zum Apple Logo bootet, dann hängenbleibt und auch nach einem [[#Reboot/Reset|Reset]] nicht weiter kommt, hilft normalerweise folgende Vorgehensweise: # iTunes starten und iPhone an den Mac anschliessen # iPhone ausschalten und wieder einschalten, danach mindestens 15 Minuten warten -> Rechner und iPhone in dieser Zeit nicht anfassen! Alternativ: # iPhone gewaltsam in den [[#DFU-Mode|DFU-Mode]] booten # an den Mac anschließen und warten, bis iTunes das iPhone im Wartungsmodus erkennt # iPhone Firmware in iTunes wiederherstellen (Vorsicht bei gejailbreaktem iPhone 3G(S))! ===Keine Netzverbindung=== Falls es Probleme mit der Netzverbindung (kein Service über GSM, EDGE oder 3G/UMTS) gibt, können die folgenden Tipps möglicherweise helfen: * Am iPhone: Zurücksetzen der Netzwerkeinstellungen (Einstellungen > Zurücksetzen > Netzwerkeinstellungen) * Einen [[#Reboot/Reset|Reset]] durchführen (s.o.) * Am iPhone: Das Gerät zurücksetzen (Einstellungen > Zurücksetzen > Einstellungen; Achtung: NICHT "Inhalte und Einstellungen"! Dadurch werden alle Daten und alle installierten Apps gelöscht!) * Am iPhone: SIM-Karte überprüfen (richtig eingelegt? Karte reinigen, evtl. mit einer andere Karte testen) * iPhone im [[#DFU-Mode|DFU-Mode]] starten und wiederherstellen (s.o.) * Flugmodus aktivieren und ca. 30 Sekunden aktiviert lassen, anschließend den Flugmodus wieder deaktivieren * iPhone im Flugmodus neu starten * Mobileconfig neu installieren ===iPhone lässt sich nicht mehr einschalten=== Wenn das iPhone tiefentladen war und es sich infolgedessen nicht mehr einschalten lässt und auch nicht mehr vom Computer erkannt wird (wenn man die Akkuwarnungen ignoriert und solange wartet, bis das iPhone sich von selbst ausschaltet, kann das passieren), hat vielen iPhone Nutzern bereits folgende Vorgehensweise geholfen (u.U. muss dazu vorher die SIM-Karte entfernt werden, manchmal sind auch nicht alle Schritte notwendig): # USB-Verbindung trennen (Gerät/Netzteil/Dock/etc.) # Power- und Home-Buttons gleichzeitig 10 Sekunden gedrückt halten # Power-Button loslassen und den Home-Button weitere 10 Sekunden gedrückt halten # USB-Kabel einstecken, iTunes sollte nun das iPhone im Recovery Modus erkennen (falls nicht, Schritte 1-3 nochmals versuchen und ggf. die SIM-Karte entfernen) # [http://code.google.com/p/independence/ Independence] starten, um das iPhone aus dem Recovery Modus zu holen ('''keinen Restore''' mit iTunes machen, das ist nicht notwendig!) In [[User:Hagbard|meinem]] Fall schaltete sich das Gerät bereits bei Schritt 3 wieder ein und startete ordnungsgemäß, das Display sollte also währenddessen laufend beobachtet werden. ===Gerät verlässt den Recovery Mode nicht=== Falls das Gerät beim Neustart (z.B. nach einem Fehlgeschlagenen Restore-Versuch) immer im Wartungszustand landet, kann [http://thefirmwareumbrella.blogspot.com/ TinyUmbrella] Abhilfe schaffen. Dort werden alle Geräte im Wartungszustand unter "Recovery Devices" gelistet, denen man mit einem Klick aus selbigem heraushelfen kann (dort kann man auch Geräte in den Wartungszustand versetzen). ==Telefon-Codes== Folgende Codes einfach in der Telefon-App eingeben und "anrufen": {| |-- style="background-color:#e2e2e2;" | style="width:140px;" | Nummer || Funktion |-- | {{TT|*135#}} || Zeigt die eigene Telefonnummer an |-- | {{TT|*#5005*7672#}} || Zeigt die aktuell verwendete [[wikipedia:de:Short Message Service Centre|SMSC]]-Nummer des iPhones an |-- | {{TT|*3001#12345#*}} || Aktiviert den "Field Test Mode" (ab iOS 4.0) und zeigt die Signalstärke an (zur Fehleranalyse) |-- | {{TT|*#06#}} || Zeigt die [[wikipedia:de:International Mobile Equipment Identity|IMEI]] des iPhones an (z.B. für die Idenfikation bei Diebstahl) |-- | {{TT|*646#}} || Zeigt das aktuelle Gesprächsaufkommen an (muss vom Carrier unterstützt werden) |-- | {{TT|##002#}} || Löscht alle Rufumleitungen inklusive der Weiterleitungen zur Mailbox |} Weitere Codes sind [http://www.iphone-tipps.de/die-apple-iphone-codes/ hier zu finden] ==Informationen der Seriennummer== Einige Stellen der Seriennummer haben eine best. Bedeutung: ;1./2. Stelle :Werk, in dem das Gerät hergestellt wurde (z.B. 84/88 = Shenzhen/China, V5/83/87/9C = China) ;3. Stelle :Herstellungsjahr (8 = 2008, 9 = 2009, 0 = 2010, 1 = 2011 usw.) ;4./5. Stelle :Kalenderwoche der Herstellung ;6.-11. Stelle: :Entweder #xxxx# oder xxxxx# (zur Identifikation des Gerätes) ;Beispiel :88105xxxxxx = Shenzhen/China, 5. Kalenderwoche 2011 (31.1. - 6.2.2011) Eine vollständige Analys der Seriennummer gibt es beispielsweise [http://www.chipmunk.nl/klantenservice/applemodel.html hier] ==Weitere Informationen== * [http://www.macbug.de/2008/02/02/iphone-unterschied-zwischen-dfu-mode-und-restore-mode-anleitung/ Unterschied zwischen DFU Mode und Recovery Mode] * [http://www.apfeltalk.de/forum/iphone-1-hilfe-t229596.html Erste Hilfe Tricks] (apfeltalk.de) * The iPhone Wiki: [http://theiphonewiki.com/wiki/index.php?title=ITunes_Errors iTunes Errors] * Apple: [http://support.apple.com/kb/TS1275?viewlocale=de_DE iOS: Warnmeldungen bei Aktualisierung und Wiederherstellung] (auf [http://support.apple.com/kb/TS1275 englisch]) * Apple: [http://support.apple.com/kb/ts1424?viewlocale=de_DE&locale=de_DE iTunes: Mögliche iTunes Store Fehler] (auf [http://support.apple.com/kb/ts1424 englisch]) == iPhone Tools== ;Allgemeine Tools * [http://supercrazyawesome.com/downloads/iPhone%20Backup%20Extractor.app.zip iPhone Backup Extractor] Downloadlink * [http://www.iphone-explorer.com/ iPhone Explorer] ;PNG-Dateien * [http://atpeek.download.atpurpose.com/PngUncrush.zip PngUncrush] ([[QuickLook]] Plugin) * David Watanabe: [http://www.newsfirex.com/blog/?p=176 iPhone .png Decoding] (Terminal) 12d8795807fc87b529e2336fed93e05a3b370aeb Journaling von HFS-Volumes deaktivieren 0 43 1696 264 2023-03-15T08:20:24Z Hagbard 2 wikitext text/x-wiki [[Category:Museum]][[Category:Translate]][[Category:OS]][[Category:Hint]][[Category:Terminal]]{{Information|HFS+ Journaled ist im Mac OS X Server seit Version 10.2.2 (Jaguar) verfügbar, die Client-Version von Mac OS X unterstützt dies seit Version 10.3 (Panther).}} == im Festplatten-Dienstprogramm == [[Image:DiskUtility_-_Journaling_deaktivieren.png|thumb|right|Journaling von HFS-Volumes deaktivieren]]Um das Journaling von HFS-Volumes zu deaktivieren (z.B. um unter aktuellen Ubuntu-Linux Installationen auf diese Laufwerke schreiben zu können), genügen folgende Schritte: * Festplatte anschließen (falls extern) * Festplatten-Dienstprogramm starten * mit gedrückter Alt-Taste das Menü "Ablage" öffnen (wichtig: Alt vorher drücken und gedrückt halten!) Dann sollte sich der (bei Volumes mit aktiviertem Journaling deaktivierte) Menüeintrag "Journaling aktivieren" in "Journaling deaktivieren" umwandeln und ermöglicht folgerichtig das was er verspricht (siehe Screenshot rechts) == im Terminal == Alternativ kann das natürlich auch mit dem {{Man|diskutil|diskutil}} im Terminal durchgeführt werden: <syntaxhighlight lang="bash"> sudo diskutil disableJournal /Volumes/VOLUMENAME </syntaxhighlight> bzw. zum Aktivieren <syntaxhighlight lang="bash"> sudo diskutil enableJournal /Volumes/VOLUMENAME </syntaxhighlight> Hin und wieder scheint das jedoch nicht zu funktionieren und diskutil gibt eine Fehlermeldung wie die folgende aus: An error occurred journaling the filesystem: The underlying task reported failure on exit (-9972) Dann kann man versuchen, das (ausgehängte) Volume mit folgendem Kommando zu bearbeiten: sudo diskutil disableJournal force /dev/disk1s10 {{TT|disk1s10}} ist dabei durch den jeweils korrekten Partitions-Identifikator zu ersetzen, der sich über folgendes Kommando ermitteln lässt: diskutil list [[User:Hagbard|Ich]] hatte jedoch auch einmal den Fall, dass sich das Journaling danach erst wieder im Diskutil wie oben beschrieben deaktivieren ließ, da das obige Kommando denselben Fehler zurückgab. ==Siehe auch== * [http://docs.info.apple.com/article.html?artnum=107249 Mac OS X: About file system journaling] (apple.com) [[http://www.apple.com/server/pdfs/L24481A_Journaling_TB.pdf PDF]] * [http://www.info.apple.com/kbnum/n107248 How To Journal a Volume or Repair a Journaled Volume] (apple.com) * [http://support.apple.com/kb/TS2028?viewlocale=en_US fsck reports benign errors when journaling is turned on] (apple.com) c19e95d84f3897454358257ffc7a11edb2dde7ab Launch Safari in Private Mode 0 168 1697 1207 2023-03-15T08:21:10Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Update]][[Category:AppleScript]] '''Note:''' Code example needs to be updated, doesn't work on macOS Ventura any longer Bekanntermaßen existiert in Safari eine Funktion "Privates Surfen", bei der keine Cookies oder Cache-Inhalte dauerhaft gespeichert werden. Dieser muss jedoch nach dem Start von Safari jedes Mal von Hand aktiviert und bestätigt werden, was unter Umständen recht lästig sein kann. Mit folgendem AppleScript lässt sich Safari jedoch auch direkt in diesem Modus starten: <syntaxhighlight lang="AppleScript"> tell application "Safari" activate end tell tell application "System Events" to tell process "Safari" set hier_klicken to menu item 6 of menu 2 of menu bar 1 -- Menüpunkt "Privates Surfen" click hier_klicken click button "OK" of window 1 end tell </syntaxhighlight> Dazu ist obiger Code einfach im AppleScript-Editor einzugeben und das Skript anschließend als Programm (.app Bundle) exportieren. 941a358539f96ad06bb383bfbf1270c8b7dbc255 MacOS - Reset Password 0 188 1698 1237 2023-03-15T08:21:52Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]{{Important|Bein Zurücksetzen von Passwörtern oder generell beim Durchführen von Wartungsarbeiten mit hilfe der Dienstprogramme auf Installations-/Wiederherstellungs-DVDs ist extem wichtig, dass die Mac OS X Hauptversion (z.B. 10.5) dieser DVDs '''dieselbe''' ist wie diejenige der Installation, die man bearbeiten möchte!}} Falls man dummerweise das Anmeldepasswort einer Mac OS X Installation vergessen haben sollte und sich somit selber ausgesperrt hat, gibt diverse weniger zeit- und nervenaufwändige Möglichkeiten als eine komplette Neuinstallation ==Mac OS X 10.6 und davor== === Verwendung der Installations-/Wiederherstellungs-DVDs === Diese Möglichkeit gibt es im Prinzip bei allen Mac OS X Versionen (zumindest seit 10.3/Panther), die können sich jedoch in Details voneinander unterscheiden (für 10.7 Lion [[#Mac OS X 10.7 (Lion)|siehe unten]]): # Von der DVD booten (siehe [[Startup_Key_Combinations|hier]]), durch Drücken folgender Taste beim Start des Mac:<KB>C</KB> # Die Installationsanwendung solange weiterführen, bis am oberen Bildschirmrand die Menüleiste verfügbar ist # Dort steht im Menü "Installer" der Eintrag "Reset Password ..." zur Verfügung, über den man die Kennwörter einzelner Benutzer neu setzen kann. Da der Schlüsselbund mit dem alten Passwort verschlüsselt ist, was man aus Sicherheitsgründen (ohne das alte Passwort zu kennen) nicht ändern kann, ist selbiges zu löschen, bevor man den alten Account mit den neuen Zugangsdaten nutzen kann. Dazu ist nach dem Neustart der Inhalt des Ordners ~/Library/Keychains innerhalb des Benutzerverzeichnisses (Home) zu löschen. Bei der nächsten Anmeldung wird dann automatisch ein neuer Schlüsselbund angelegt. === Ohne Verwendung von Installations-DVDs === Hier unterscheidet sich die Vorgehensweise von Version zu Version u.U. erheblich, daher wird an dieser Stelle auf folgenden (recht umfassenden) Artikel verwiesen: [http://www.macyourself.com/2009/08/03/how-to-reset-your-mac-os-x-password-without-an-installer-disc/ How to reset your Mac OS X password without an installer disc] (macyourself.com) === Letzte Möglichkeit: einen neuen Admin-Account anlegen === Um ein vergessenes Passwort ohne vorhandene Installations-DVD und ohne Systemlogin neu zu setzen, existiert nur der Umweg über den Single-User-Modus. Über diesen kann man dann anschließend die Passwörter der anderen Benutzer neu vergeben: # Mac OS X im Single-User Modus starten (siehe [[Startup_Key_Combinations|hier]]), dorthin gelangt man durch Drücken folgender Tastenkombination beim Start des Mac:<KB>apfel + S</KB> # dadurch gelangt man anschließend nicht in eine graphische Umgebung sondern bekommt lediglich eine Eingabeaufforderung präsentiert. # dort ist mit Hilfe folgender Kommandos ein neuer Admin-Benutzer anzulegen, dabei ist jede Zeile mit <KB>return</KB> zu bestätigen: <div style="margin-left:40px;"><syntaxhighlight lang="bash"> mount -uw / rm /var/db/.AppleSetupDone shutdown -h now </syntaxhighlight></div> Mit Hilfe dieses Admin-Benutzers kann man sich dann nach einem Neustart die Passwörter der anderen Benutzer neu vergeben/zurücksetzen. ==Mac OS X 10.7 (Lion)== Im Prinzip funktioniert dies unter Lion genau wie in früheren Versionen mit Hilfe der Installations-DVDs (siehe [[#Verwendung der Installations-/Wiederherstellungs-DVDs#|oben]]), jedoch mit zwei kleinen Unterschieden (anderer Boot-Modus, {{TT|resetpassword}} ist nicht direkt sondern nur über das Terminal zu erreichen): ===Recovery-Modus=== # im Recovery-Modus booten (siehe [[Startup_Key_Combinations|hier]]), dorthin gelangt man durch Drücken folgender Tastenkombination beim Start des Mac:<KB>apfel + R</kb> # Sobald das Installationsprogramm gestartet wurde (Auswahl von Time Machine Backup, Neuinstallation, ...), steht im Menü "Dienstprogramme" ("Utilities") das Terminal zur Verfügung. Dies ist nun zu starten # im Terminal folgendes eingeben und mit <KB>return</KB> bestätigen: <div style="margin-left:40px;"><syntaxhighlight>resetpassword</syntaxhighlight></div> Dadurch wird das Passwort zurückgesetzt und es wird ein Dienstprogramm geöffnet, mit dem man für einzelne Benutzer ein neues Passwort vergeben kann. Da der Schlüsselbund mit dem alten Passwort verschlüsselt ist, was man aus Sicherheitsgründen (ohne das alte Passwort zu kennen) nicht ändern kann, ist selbiges zu löschen, bevor man den alten Account mit den neuen Zugangsdaten nutzen kann. Dazu ist nach dem Neustart der Inhalt des Ordners ~/Library/Keychains innerhalb des Benutzerverzeichnisses (Home) zu löschen. Bei der nächsten Anmeldung wird dann automatisch ein neuer Schlüsselbund angelegt. ===Verwendung der Apple-ID=== Seit 10.7 existiert außerdem die Möglichkeit, das Passwort '''anhand der Apple-ID''' zurückzusetzen, diese Eigenschaft muss jedoch '''vorher''' bereits in den Benutzereinstellungen aktiviert sein (sie ist es standardmäßig nicht). ==Siehe auch== * Apple Support: [https://support.apple.com/en-us/HT202860 If you forgot your Mac login password] * Apple Support: [https://support.apple.com/en-us/HT212190 If you can't reset your Mac login password] * [http://www.macyourself.com/2009/08/03/how-to-reset-your-mac-os-x-password-without-an-installer-disc/ How to reset your Mac OS X password without an installer disc] (macyourself.com) 316a97f1e0594a948e2eae350e5d1c93d4ca03d0 1718 1698 2023-03-15T08:31:36Z Hagbard 2 wikitext text/x-wiki [[Category:OS]]{{Important|Bein Zurücksetzen von Passwörtern oder generell beim Durchführen von Wartungsarbeiten mit hilfe der Dienstprogramme auf Installations-/Wiederherstellungs-DVDs ist extem wichtig, dass die Mac OS X Hauptversion (z.B. 10.5) dieser DVDs '''dieselbe''' ist wie diejenige der Installation, die man bearbeiten möchte!}} Falls man dummerweise das Anmeldepasswort einer Mac OS X Installation vergessen haben sollte und sich somit selber ausgesperrt hat, gibt diverse weniger zeit- und nervenaufwändige Möglichkeiten als eine komplette Neuinstallation ==Mac OS X 10.6 und davor== === Verwendung der Installations-/Wiederherstellungs-DVDs === Diese Möglichkeit gibt es im Prinzip bei allen Mac OS X Versionen (zumindest seit 10.3/Panther), die können sich jedoch in Details voneinander unterscheiden (für 10.7 Lion [[#Mac OS X 10.7 (Lion)|siehe unten]]): # Von der DVD booten (siehe [[Startup_Key_Combinations|hier]]), durch Drücken folgender Taste beim Start des Mac:<KB>C</KB> # Die Installationsanwendung solange weiterführen, bis am oberen Bildschirmrand die Menüleiste verfügbar ist # Dort steht im Menü "Installer" der Eintrag "Reset Password ..." zur Verfügung, über den man die Kennwörter einzelner Benutzer neu setzen kann. Da der Schlüsselbund mit dem alten Passwort verschlüsselt ist, was man aus Sicherheitsgründen (ohne das alte Passwort zu kennen) nicht ändern kann, ist selbiges zu löschen, bevor man den alten Account mit den neuen Zugangsdaten nutzen kann. Dazu ist nach dem Neustart der Inhalt des Ordners ~/Library/Keychains innerhalb des Benutzerverzeichnisses (Home) zu löschen. Bei der nächsten Anmeldung wird dann automatisch ein neuer Schlüsselbund angelegt. === Ohne Verwendung von Installations-DVDs === Hier unterscheidet sich die Vorgehensweise von Version zu Version u.U. erheblich, daher wird an dieser Stelle auf folgenden (recht umfassenden) Artikel verwiesen: [http://www.macyourself.com/2009/08/03/how-to-reset-your-mac-os-x-password-without-an-installer-disc/ How to reset your Mac OS X password without an installer disc] (macyourself.com) === Letzte Möglichkeit: einen neuen Admin-Account anlegen === Um ein vergessenes Passwort ohne vorhandene Installations-DVD und ohne Systemlogin neu zu setzen, existiert nur der Umweg über den Single-User-Modus. Über diesen kann man dann anschließend die Passwörter der anderen Benutzer neu vergeben: # Mac OS X im Single-User Modus starten (siehe [[Startup_Key_Combinations|hier]]), dorthin gelangt man durch Drücken folgender Tastenkombination beim Start des Mac:<KB>apfel + S</KB> # dadurch gelangt man anschließend nicht in eine graphische Umgebung sondern bekommt lediglich eine Eingabeaufforderung präsentiert. # dort ist mit Hilfe folgender Kommandos ein neuer Admin-Benutzer anzulegen, dabei ist jede Zeile mit <KB>return</KB> zu bestätigen: <div style="margin-left:40px;"><syntaxhighlight lang="bash"> mount -uw / rm /var/db/.AppleSetupDone shutdown -h now </syntaxhighlight></div> Mit Hilfe dieses Admin-Benutzers kann man sich dann nach einem Neustart die Passwörter der anderen Benutzer neu vergeben/zurücksetzen. ==Mac OS X 10.7 (Lion)== Im Prinzip funktioniert dies unter Lion genau wie in früheren Versionen mit Hilfe der Installations-DVDs (siehe [[#Verwendung der Installations-/Wiederherstellungs-DVDs#|oben]]), jedoch mit zwei kleinen Unterschieden (anderer Boot-Modus, {{TT|resetpassword}} ist nicht direkt sondern nur über das Terminal zu erreichen): ===Recovery-Modus=== # im Recovery-Modus booten (siehe [[Startup_Key_Combinations|hier]]), dorthin gelangt man durch Drücken folgender Tastenkombination beim Start des Mac:<KB>apfel + R</kb> # Sobald das Installationsprogramm gestartet wurde (Auswahl von Time Machine Backup, Neuinstallation, ...), steht im Menü "Dienstprogramme" ("Utilities") das Terminal zur Verfügung. Dies ist nun zu starten # im Terminal folgendes eingeben und mit <KB>return</KB> bestätigen: <div style="margin-left:40px;"><syntaxhighlight lang="bash">resetpassword</syntaxhighlight></div> Dadurch wird das Passwort zurückgesetzt und es wird ein Dienstprogramm geöffnet, mit dem man für einzelne Benutzer ein neues Passwort vergeben kann. Da der Schlüsselbund mit dem alten Passwort verschlüsselt ist, was man aus Sicherheitsgründen (ohne das alte Passwort zu kennen) nicht ändern kann, ist selbiges zu löschen, bevor man den alten Account mit den neuen Zugangsdaten nutzen kann. Dazu ist nach dem Neustart der Inhalt des Ordners ~/Library/Keychains innerhalb des Benutzerverzeichnisses (Home) zu löschen. Bei der nächsten Anmeldung wird dann automatisch ein neuer Schlüsselbund angelegt. ===Verwendung der Apple-ID=== Seit 10.7 existiert außerdem die Möglichkeit, das Passwort '''anhand der Apple-ID''' zurückzusetzen, diese Eigenschaft muss jedoch '''vorher''' bereits in den Benutzereinstellungen aktiviert sein (sie ist es standardmäßig nicht). ==Siehe auch== * Apple Support: [https://support.apple.com/en-us/HT202860 If you forgot your Mac login password] * Apple Support: [https://support.apple.com/en-us/HT212190 If you can't reset your Mac login password] * [http://www.macyourself.com/2009/08/03/how-to-reset-your-mac-os-x-password-without-an-installer-disc/ How to reset your Mac OS X password without an installer disc] (macyourself.com) 6e388788d5be694b68b79ca002ea3d32c785df06 MacOS Installationsmedium erstellen 0 10 1699 268 2023-03-15T08:22:03Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Hint]][[Category:Translate]] {{Important|1=Bei der Installation älterer Versionen ist ggf. zusätzlich noch das Systemdatum auf einen Zeitpunkt kurz nach dem Download des Installationsarchivs einzustellen, da ansonsten ggf. die Verifizierung des Downloads aufgrund eines abgelaufenen Zertifikates fehlschlägt und der Installer dann einen erneuten Download verlangt (der natürlich nicht erforderlich ist).}} {{Info|1=Seit macOS Catalina (Version 10.15) kann ein bestimmtes macOS Installationsarchiv statt über den App Store auch mit Hilfe des Kommandozeilentools {{TT|softwareupdate}} heruntergeladen werden, hier am Beispiel von macOS Mojave: :{{TT|softwareupdate --fetch-full-installer}} :{{TT|softwareupdate --fetch-full-installer --full-installer-version 10.14.6
}} Für aktuelle [[wikipedia:MacOS|macOS]] Versionen (derzeit [[wikipedia:MacOS_Big_Sur|Big Sur]] und [[wikipedia:MacOS_Monterey|Monterey]]) können die Installer auch direkt von der Apple Website geladen werden, beispielsweise so: :{{TT|curl -o InstallAssistant.pkg http://swcdn.apple.com/content/downloads/.../InstallAssistant.pkg}} Eine Liste der aktuellen Downloadlinks – die übrigens immer nur für eine begrenzte Zeit gültig sind – ist beispielsweise auf [https://mrmacintosh.com mrmacintosh.com] zu finden: * [https://mrmacintosh.com/macos-big-sur-full-installer-database-download-directly-from-apple/ Big Sur Installers] * [https://mrmacintosh.com/macos-12-monterey-full-installer-database-download-directly-from-apple/ Monterey Installers] }} ==OS X Mavericks und neuer== ===via {{Terminal}}=== Seit der finalen Version von OS X Mavericks (zuletzt getestete Version: macOS Sierra, Version 10.12.4) bietet der Installer die Möglichkeit, via Terminal ein Installationsmedium auf einem beliebigen, angeschlossenen Volume zu erstellen. Zu diesem Zweck wurde das Terminalkommando "{{TT|createinstallmedia}}" hinzugefügt. Im Folgenden wird davon ausgegegangen, dass sich das aus dem Mac App Store geladene Installationsarchiv im Systemverzeichnis "Programme" befindet. Anschließend ist im Terminal folgendes einzugeben, dabei wird der Inhalt des Zielmediums logischerweise gelöscht (es werden dazu Admin-Rechte benötigt, ggf. ist ein entsprechendes Kennwort einzugeben): sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume "/Volumes/<Installationsmedium>" Für macOS Version 10.13 (High Sierra) und älter ist zusätzlich die Angabe des Parameters {{TT|--applicationpath}} erforderlich: sudo /Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia --volume "/Volumes/<Installationsmedium>" --applicationpath "/Applications/Install OS X Mavericks.app" Dabei ist "{{TT|<Installationsmedium>}}" durch den Namen des jeweiligen Volume zu ersetzen. Falls sich das Installationsarchiv an einem anderen Ort befindet, ist auch der Pfad dementsprechend zu korrigieren. Da das Zielvolume während des Vorgangs ausgehängt werden muss, sollten andere aktive Programme keine Dateien von diesem Laufwerk geöffnet haben. Folgende Parameter stehen hierbei zur Verfügung (Stand: OS X Version 10.9.0): {| |-- |{{TT|--volume}} || vollständiger Pfad zum Zielvolume || obligatorisch |-- |{{TT|--applicationpath}} || vollständiger Pad zum Installationsarchiv (App-Bundle) || obligatorisch, bis macOS Version 10.13 (High Sierra) |-- |{{TT|--nointeraction}} || Keine Rückfrage für das Löschen des Zielmediums || optional |-- |{{TT|--force}} || (erwähnt aber nicht weiter dokumentiert) || optional |-- |{{TT|--downloadassets
}} || zusätzlicher Download der aktuellen Firmware auf das externe Volume || optional |} Siehe auch: [http://support.apple.com/kb/HT5856 Apple Support Dokument "HT5856"] Alternativ kann das graphische Installationsprogramm auch über das Terminal gestartet werden: sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/startosinstall --applicationpath /Applications/Install\ macOS\ High\ Sierra.app --agreetolicense --converttoapfs NO --nointeraction ===Von Hand=== Unter '''OS X Mountain Lion''' (Version 10.8.x) und den Vorabversionen (Developer Previews) von '''OS X Mavericks''' (Version 10.9.x) ist eine andere Vorgehensweise notwendig, da das Installations-DMG "{{TT|InstallESD.dmg}}" hier kein vollständiges, bootfähiges OS X enthält. Daher sind folgende Schritte notwendig, um zunächst ein bootfähiges Volume (z.B. auf einer externen Festplatte oder einem USB-Stick) zu erhalten: # eine leere Partition auf einem bootfähigen Medium bereitstellen (z.B. ext. USB-Festplatte oder ein USB-Stick) # innerhalb des OS X Installationsbundle im Unterverzeichnis {{TT|/Contents/SharedSupport/}} das Disk-Image "{{TT|InstallESD.dmg}}" finden und per Doppelklick einhängen. # für den folgenden Schritt kann entweder das [[:Category:Terminal|Terminal]] verwendet werden, oder der Finder muss (z.B. mit Hilfe von [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool]) dazu bewegt werden, versteckte Dateien anzuzeigen ([[#Versteckte Dateien im Finder anzeigen|siehe unten]]). # dort befindet sich ein weiteres (verstecktes) Disk-Image namens "{{TT|BaseSystem.dmg}}", das zur Wiederherstellung z.B. auf den Desktop kopiert werden kann (aber nicht muss). # Im Festplattendienstprogramm kann nun dieses Image auf die bereits vorbereitete, leere Partition "wiederhergestellt" werden (Partition auswählen und im Tab "Wiederherstellen" Quelle und Ziel auswählen). Dieses Image enthält ein bootfähiges System, allerdings noch ohne Installationsdateien. Diese werden nun im folgenden Schritt kopoert: # Anschließend ist dieses soeben erstellte (bootfähige) Volume öffnen (müsste "OS X Base System" zu öffnen. Dort befindet sich nun unter "{{TT|/System/Installation/}}" ein defekter Alias namens "{{TT|Packages}}", der zu löschen und durch das entsprechende Verzeichnis "{{TT|Packages}}" im Disk-Image "{{TT|InstallESD.dmg}}" zu ersetzen ist. Dieses Verzeichnis enthält alle Installationdateien und ist dementsprechend relativ größ (etwa 4,5 GiB). # unter Version 10.10 und neuer müssen zusätzlich die folgenden Beiden Dateien ins Wurzelverzeichnis des neuen Installationsmediums kopiert werden: #* {{TT|BaseSystem.chunklist}} #* {{TT|BaseSystem.dmg}} # Fertig. Anschließend kann der Mac von dem neu erstellten Installationsvolume "OS X Base System" gestartet werden. ==OS X Lion und Mountain Lion== {{Important|1= Seit '''OS X Mavericks''' (Version 10.9) hat sich die Vorgehensweise im Vergleich zu OS X (Mountain) Lion geändert, da das Installations-DMG "{{TT|InstallESD.dmg}}" nun kein vollständiges, bootfähiges OS X mehr enthält, das lediglich auf eine DVD zu brennen ist. Details hierzu sind im Abschnitt "[[#OS X Mavericks und neuer|OS X Mavericks]]" dieses Artikels zu finden.<br /><br /> Die für OS X Lion und Mountain Lion beschriebene Vorgehensweise funktioniert '''partiell nur unter Snow Leopard und Lion''' bzw. wenn eine andere OS X Version als die derzeit installierte heruntergeladen werden soll. Dieselbe Version wird im App Store nicht mehr zur Installation angeboten, sondern lediglich deren Updates. Das jeweilige Produkt erscheint dann ggf. (falls es vorher via App Store heruntergeladen wurde) mit dem Status "Installiert" und lässt sich nicht mehr herunterladen. In einigen Fällen konnte mit gedrückter "ALT" Taste das Archiv dennoch erneut heruntergeladen werden, was jedoch nicht immer und zuverlässig zu funktionieren scheint.}} [[Image:OSX_Lion_DVD_Contents.png|right|100px|Inhalt des OSX Lion Installationsarchivs]]Aus dem im App Store herunterladbaren Installationsbundle von OS X (OS X Lion und Mountain Lion) lässt sich unter älteren Versionen (ab Snow Leopard) in wenigen Schritten eine bootfähige Installations-DVD erstellen. Innerhalb des Bundles befindet sich nämlich ein Disk Image namens "{{TT|InstallESD.dmg}}", das sich mit Hilfe des Festplatten-Dienstprogramms ohne Probleme auf eine DVD brennen lässt. Dieses Archiv befindet sich an folgender Stelle innerhalb des Application Bundles "{{TT|Mac OS X Lion Installation.app}}" (siehe Abb. rechts), das man im Finder über das Kontextmenü ("Paketinhalt zeigen") erreicht: /Contents/SharedSupport/InstallESD.dmg ===DVD=== Dieses Image ist lediglich an eine beliebige Stelle außerhalb des Bundles zu kopieren und kann anschließend mit Hilfe des Festplatten-Dienstprogramms (Disk Utility) auf DVD gebrannt werden (dort einfach auf "Brennen" klicken und das Image auswählen). ===USB-Stick=== Für das Erstellen eines USB-Sticks als Installationsmedium ist dieser entsprechend vorzubereiten: # den USB-Stick im Festplatten-Dienstprogramm mit dem Dateisystem "Mac OS X Extended (Journaled)" (HFS+) formatieren.<br />[[Image:Gefahrenzeichen_16.svg|16px]] '''Wichtig:''' darauf achten, dass als Partitionsschema "Apple GUID" verwendet wird (ist standardmäßig der Fall), ansonsten kann ein Intel Mac von diesem Medium aus nicht gestartet werden! # Das formatierte Medium auswählen und im Tab "Wiederherstellen" als Quelle das Disk Image "{{TT|InstallESD.dmg}}" auswählen (z.B. per Drag'n'Drop aus dem Finder). # Als Zielmedium (falls nicht bereits ausgewählt) das soeben formatierte Volume auf dem USB-Stick in das Feld "Zielmedium" ziehen (aus der Laufwerksauswahl links) # Mit einem Klick auf "Wiederherstellen" wandert dann der Inhalt des Disk Images auf den USB Stick ==Tools== ===Carbon Copy Cloner=== Ab Version 3.4.4 bietet der [http://bombich.com/ Carbon Copy Cloner] die Möglichkeit, aus einem im Programme-Ordner vorhandenen Lion-Installationsarchiv heraus ein Installationsmedium zu erstellen. Dieses steht im Auswahlmenü "Quelle" zur Verfügung, als Ziel (das zukünftige Installationsmedium) kann dann ein beliebiges Volume (ausreichender Größe, beispielsweise eine externe Festplatte) ausgewählt werden. ===DiskMaker X=== Der [http://diskmakerx.com/ DiskMaker X] (donationware, früherer Name: [http://liondiskmaker.com/ Lion Disk Maker]) dient ebenfalls dazu, aus den heruntergeladenen App Store Archiven startbare Installationsmedien zu erstellen. ==Hintergund== Bei einer "herkömmlichen" Installation des heruntergeladenen Application-Bundle werden durch das Installationsprogramm im Wesentlichen folgende Schritte durchgeführt: * Erzeugen einer versteckten Partition auf der Systemfestplatte * Wiederherstellen des o.g. Disk Images auf dieser Partition * Diese Installationspartition wird anschließend als Startvolume verwendet, wobei andere existierende System-Volumes ausgeblendet werden (diese sind dann auch nicht mehr über das OSX Boot-Menü erreichbar) Beim Neustart von dieser Partition wird dann OSX Lion installiert. Durch das Übertragen des Disk Images auf eine DVD oder einen USB Stick macht man also nichts anderes als diese Schritte zu umgehen und das Installationsmedium statt dessen von einem externen Volume aus zu starten. ===Versteckte Dateien im Finder anzeigen=== Um im Finder alle Dateien - auch versteckte - sehen zu können, ist im {{Terminal}} folgende Anweisung einzugeben: <syntaxhighlight> defaults write com.apple.finder AppleShowAllFiles -boolean true </syntaxhighlight> Anschließend ist der Finder mit folgendem Kommando ne zu starten, damit die Änderung wirksam wird: <syntaxhighlight> killall Finder </syntaxhighlight> Die Deaktivierung erfolgt dann mit Hilfe folgender Anweisung: <syntaxhighlight> defaults delete com.apple.finder AppleShowAllFiles </syntaxhighlight> Alternativ dazu kann der Finder auch über das Dock-Icon neu gestartet werden, und zwar via Rechtsklick bei gedrückter <KB>ALT</KB> Taste (alt). ==See also== * [https://support.apple.com/en-us/HT208198 About Startup Security Utility] at [https://support.apple.com support.apple.com] * [https://scriptingosx.com/2020/01/downgrading-a-mac-that-shipped-with-catalina-to-mojave/ Downgrading a Mac that shipped with Catalina to Mojave] at [https://scriptingosx.com scriptingosx.com] * [https://en.wikibooks.org/wiki/VirtualBox/Setting_up_a_Virtual_Machine/Mac_OS_X VirtualBox/Setting up a Virtual Machine/Mac OS X] at [https://en.wikibooks.org Wikibooks] 0d89649840314d3c75cc8d8cb7cb391ba8ad2b4c 1719 1699 2023-03-15T08:32:03Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Hint]][[Category:Translate]] {{Important|1=Bei der Installation älterer Versionen ist ggf. zusätzlich noch das Systemdatum auf einen Zeitpunkt kurz nach dem Download des Installationsarchivs einzustellen, da ansonsten ggf. die Verifizierung des Downloads aufgrund eines abgelaufenen Zertifikates fehlschlägt und der Installer dann einen erneuten Download verlangt (der natürlich nicht erforderlich ist).}} {{Info|1=Seit macOS Catalina (Version 10.15) kann ein bestimmtes macOS Installationsarchiv statt über den App Store auch mit Hilfe des Kommandozeilentools {{TT|softwareupdate}} heruntergeladen werden, hier am Beispiel von macOS Mojave: :{{TT|softwareupdate --fetch-full-installer}} :{{TT|softwareupdate --fetch-full-installer --full-installer-version 10.14.6
}} Für aktuelle [[wikipedia:MacOS|macOS]] Versionen (derzeit [[wikipedia:MacOS_Big_Sur|Big Sur]] und [[wikipedia:MacOS_Monterey|Monterey]]) können die Installer auch direkt von der Apple Website geladen werden, beispielsweise so: :{{TT|curl -o InstallAssistant.pkg http://swcdn.apple.com/content/downloads/.../InstallAssistant.pkg}} Eine Liste der aktuellen Downloadlinks – die übrigens immer nur für eine begrenzte Zeit gültig sind – ist beispielsweise auf [https://mrmacintosh.com mrmacintosh.com] zu finden: * [https://mrmacintosh.com/macos-big-sur-full-installer-database-download-directly-from-apple/ Big Sur Installers] * [https://mrmacintosh.com/macos-12-monterey-full-installer-database-download-directly-from-apple/ Monterey Installers] }} ==OS X Mavericks und neuer== ===via {{Terminal}}=== Seit der finalen Version von OS X Mavericks (zuletzt getestete Version: macOS Sierra, Version 10.12.4) bietet der Installer die Möglichkeit, via Terminal ein Installationsmedium auf einem beliebigen, angeschlossenen Volume zu erstellen. Zu diesem Zweck wurde das Terminalkommando "{{TT|createinstallmedia}}" hinzugefügt. Im Folgenden wird davon ausgegegangen, dass sich das aus dem Mac App Store geladene Installationsarchiv im Systemverzeichnis "Programme" befindet. Anschließend ist im Terminal folgendes einzugeben, dabei wird der Inhalt des Zielmediums logischerweise gelöscht (es werden dazu Admin-Rechte benötigt, ggf. ist ein entsprechendes Kennwort einzugeben): sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume "/Volumes/<Installationsmedium>" Für macOS Version 10.13 (High Sierra) und älter ist zusätzlich die Angabe des Parameters {{TT|--applicationpath}} erforderlich: sudo /Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia --volume "/Volumes/<Installationsmedium>" --applicationpath "/Applications/Install OS X Mavericks.app" Dabei ist "{{TT|<Installationsmedium>}}" durch den Namen des jeweiligen Volume zu ersetzen. Falls sich das Installationsarchiv an einem anderen Ort befindet, ist auch der Pfad dementsprechend zu korrigieren. Da das Zielvolume während des Vorgangs ausgehängt werden muss, sollten andere aktive Programme keine Dateien von diesem Laufwerk geöffnet haben. Folgende Parameter stehen hierbei zur Verfügung (Stand: OS X Version 10.9.0): {| |-- |{{TT|--volume}} || vollständiger Pfad zum Zielvolume || obligatorisch |-- |{{TT|--applicationpath}} || vollständiger Pad zum Installationsarchiv (App-Bundle) || obligatorisch, bis macOS Version 10.13 (High Sierra) |-- |{{TT|--nointeraction}} || Keine Rückfrage für das Löschen des Zielmediums || optional |-- |{{TT|--force}} || (erwähnt aber nicht weiter dokumentiert) || optional |-- |{{TT|--downloadassets
}} || zusätzlicher Download der aktuellen Firmware auf das externe Volume || optional |} Siehe auch: [http://support.apple.com/kb/HT5856 Apple Support Dokument "HT5856"] Alternativ kann das graphische Installationsprogramm auch über das Terminal gestartet werden: sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/startosinstall --applicationpath /Applications/Install\ macOS\ High\ Sierra.app --agreetolicense --converttoapfs NO --nointeraction ===Von Hand=== Unter '''OS X Mountain Lion''' (Version 10.8.x) und den Vorabversionen (Developer Previews) von '''OS X Mavericks''' (Version 10.9.x) ist eine andere Vorgehensweise notwendig, da das Installations-DMG "{{TT|InstallESD.dmg}}" hier kein vollständiges, bootfähiges OS X enthält. Daher sind folgende Schritte notwendig, um zunächst ein bootfähiges Volume (z.B. auf einer externen Festplatte oder einem USB-Stick) zu erhalten: # eine leere Partition auf einem bootfähigen Medium bereitstellen (z.B. ext. USB-Festplatte oder ein USB-Stick) # innerhalb des OS X Installationsbundle im Unterverzeichnis {{TT|/Contents/SharedSupport/}} das Disk-Image "{{TT|InstallESD.dmg}}" finden und per Doppelklick einhängen. # für den folgenden Schritt kann entweder das [[:Category:Terminal|Terminal]] verwendet werden, oder der Finder muss (z.B. mit Hilfe von [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool]) dazu bewegt werden, versteckte Dateien anzuzeigen ([[#Versteckte Dateien im Finder anzeigen|siehe unten]]). # dort befindet sich ein weiteres (verstecktes) Disk-Image namens "{{TT|BaseSystem.dmg}}", das zur Wiederherstellung z.B. auf den Desktop kopiert werden kann (aber nicht muss). # Im Festplattendienstprogramm kann nun dieses Image auf die bereits vorbereitete, leere Partition "wiederhergestellt" werden (Partition auswählen und im Tab "Wiederherstellen" Quelle und Ziel auswählen). Dieses Image enthält ein bootfähiges System, allerdings noch ohne Installationsdateien. Diese werden nun im folgenden Schritt kopoert: # Anschließend ist dieses soeben erstellte (bootfähige) Volume öffnen (müsste "OS X Base System" zu öffnen. Dort befindet sich nun unter "{{TT|/System/Installation/}}" ein defekter Alias namens "{{TT|Packages}}", der zu löschen und durch das entsprechende Verzeichnis "{{TT|Packages}}" im Disk-Image "{{TT|InstallESD.dmg}}" zu ersetzen ist. Dieses Verzeichnis enthält alle Installationdateien und ist dementsprechend relativ größ (etwa 4,5 GiB). # unter Version 10.10 und neuer müssen zusätzlich die folgenden Beiden Dateien ins Wurzelverzeichnis des neuen Installationsmediums kopiert werden: #* {{TT|BaseSystem.chunklist}} #* {{TT|BaseSystem.dmg}} # Fertig. Anschließend kann der Mac von dem neu erstellten Installationsvolume "OS X Base System" gestartet werden. ==OS X Lion und Mountain Lion== {{Important|1= Seit '''OS X Mavericks''' (Version 10.9) hat sich die Vorgehensweise im Vergleich zu OS X (Mountain) Lion geändert, da das Installations-DMG "{{TT|InstallESD.dmg}}" nun kein vollständiges, bootfähiges OS X mehr enthält, das lediglich auf eine DVD zu brennen ist. Details hierzu sind im Abschnitt "[[#OS X Mavericks und neuer|OS X Mavericks]]" dieses Artikels zu finden.<br /><br /> Die für OS X Lion und Mountain Lion beschriebene Vorgehensweise funktioniert '''partiell nur unter Snow Leopard und Lion''' bzw. wenn eine andere OS X Version als die derzeit installierte heruntergeladen werden soll. Dieselbe Version wird im App Store nicht mehr zur Installation angeboten, sondern lediglich deren Updates. Das jeweilige Produkt erscheint dann ggf. (falls es vorher via App Store heruntergeladen wurde) mit dem Status "Installiert" und lässt sich nicht mehr herunterladen. In einigen Fällen konnte mit gedrückter "ALT" Taste das Archiv dennoch erneut heruntergeladen werden, was jedoch nicht immer und zuverlässig zu funktionieren scheint.}} [[Image:OSX_Lion_DVD_Contents.png|right|100px|Inhalt des OSX Lion Installationsarchivs]]Aus dem im App Store herunterladbaren Installationsbundle von OS X (OS X Lion und Mountain Lion) lässt sich unter älteren Versionen (ab Snow Leopard) in wenigen Schritten eine bootfähige Installations-DVD erstellen. Innerhalb des Bundles befindet sich nämlich ein Disk Image namens "{{TT|InstallESD.dmg}}", das sich mit Hilfe des Festplatten-Dienstprogramms ohne Probleme auf eine DVD brennen lässt. Dieses Archiv befindet sich an folgender Stelle innerhalb des Application Bundles "{{TT|Mac OS X Lion Installation.app}}" (siehe Abb. rechts), das man im Finder über das Kontextmenü ("Paketinhalt zeigen") erreicht: /Contents/SharedSupport/InstallESD.dmg ===DVD=== Dieses Image ist lediglich an eine beliebige Stelle außerhalb des Bundles zu kopieren und kann anschließend mit Hilfe des Festplatten-Dienstprogramms (Disk Utility) auf DVD gebrannt werden (dort einfach auf "Brennen" klicken und das Image auswählen). ===USB-Stick=== Für das Erstellen eines USB-Sticks als Installationsmedium ist dieser entsprechend vorzubereiten: # den USB-Stick im Festplatten-Dienstprogramm mit dem Dateisystem "Mac OS X Extended (Journaled)" (HFS+) formatieren.<br />[[Image:Gefahrenzeichen_16.svg|16px]] '''Wichtig:''' darauf achten, dass als Partitionsschema "Apple GUID" verwendet wird (ist standardmäßig der Fall), ansonsten kann ein Intel Mac von diesem Medium aus nicht gestartet werden! # Das formatierte Medium auswählen und im Tab "Wiederherstellen" als Quelle das Disk Image "{{TT|InstallESD.dmg}}" auswählen (z.B. per Drag'n'Drop aus dem Finder). # Als Zielmedium (falls nicht bereits ausgewählt) das soeben formatierte Volume auf dem USB-Stick in das Feld "Zielmedium" ziehen (aus der Laufwerksauswahl links) # Mit einem Klick auf "Wiederherstellen" wandert dann der Inhalt des Disk Images auf den USB Stick ==Tools== ===Carbon Copy Cloner=== Ab Version 3.4.4 bietet der [http://bombich.com/ Carbon Copy Cloner] die Möglichkeit, aus einem im Programme-Ordner vorhandenen Lion-Installationsarchiv heraus ein Installationsmedium zu erstellen. Dieses steht im Auswahlmenü "Quelle" zur Verfügung, als Ziel (das zukünftige Installationsmedium) kann dann ein beliebiges Volume (ausreichender Größe, beispielsweise eine externe Festplatte) ausgewählt werden. ===DiskMaker X=== Der [http://diskmakerx.com/ DiskMaker X] (donationware, früherer Name: [http://liondiskmaker.com/ Lion Disk Maker]) dient ebenfalls dazu, aus den heruntergeladenen App Store Archiven startbare Installationsmedien zu erstellen. ==Hintergund== Bei einer "herkömmlichen" Installation des heruntergeladenen Application-Bundle werden durch das Installationsprogramm im Wesentlichen folgende Schritte durchgeführt: * Erzeugen einer versteckten Partition auf der Systemfestplatte * Wiederherstellen des o.g. Disk Images auf dieser Partition * Diese Installationspartition wird anschließend als Startvolume verwendet, wobei andere existierende System-Volumes ausgeblendet werden (diese sind dann auch nicht mehr über das OSX Boot-Menü erreichbar) Beim Neustart von dieser Partition wird dann OSX Lion installiert. Durch das Übertragen des Disk Images auf eine DVD oder einen USB Stick macht man also nichts anderes als diese Schritte zu umgehen und das Installationsmedium statt dessen von einem externen Volume aus zu starten. ===Versteckte Dateien im Finder anzeigen=== Um im Finder alle Dateien - auch versteckte - sehen zu können, ist im {{Terminal}} folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.finder AppleShowAllFiles -boolean true </syntaxhighlight> Anschließend ist der Finder mit folgendem Kommando ne zu starten, damit die Änderung wirksam wird: <syntaxhighlight lang="bash"> killall Finder </syntaxhighlight> Die Deaktivierung erfolgt dann mit Hilfe folgender Anweisung: <syntaxhighlight lang="bash"> defaults delete com.apple.finder AppleShowAllFiles </syntaxhighlight> Alternativ dazu kann der Finder auch über das Dock-Icon neu gestartet werden, und zwar via Rechtsklick bei gedrückter <KB>ALT</KB> Taste (alt). ==See also== * [https://support.apple.com/en-us/HT208198 About Startup Security Utility] at [https://support.apple.com support.apple.com] * [https://scriptingosx.com/2020/01/downgrading-a-mac-that-shipped-with-catalina-to-mojave/ Downgrading a Mac that shipped with Catalina to Mojave] at [https://scriptingosx.com scriptingosx.com] * [https://en.wikibooks.org/wiki/VirtualBox/Setting_up_a_Virtual_Machine/Mac_OS_X VirtualBox/Setting up a Virtual Machine/Mac OS X] at [https://en.wikibooks.org Wikibooks] 0f0fc8102540977577d834b2910dd6d43ec29636 OS X App aus Xcode in anderer Sprache und Locale starten 0 287 1700 1561 2023-03-15T08:22:13Z Hagbard 2 wikitext text/x-wiki [[Category:Development]][[Category:Hint]]Beim Entwickeln lokalisierter OS X Programme mit Xcode muss man zum Verifizieren der lokalisierten Oberfläche das Programm des öfteren auch in anderen Sprachen testen. Der übliche weg über das Umstellen der Sprache in den Systemeinstellungen oder das Verwenden von Hilfsprogrammen wie [http://www.tj-hd.co.uk/en-gb/languageswitcher/ Language Switcher] ist jedoch recht umständlich. ==im {{Terminal}}== Einfacher geht es durch den Start mit folgendem Startparameter: <syntaxhighlight> -AppleLanguages "(German, English)" </syntaxhighlight> also z.B.: <syntaxhighlight> /Applications/Calendar.app/Contents/MacOS/Calendar -AppleLanguages "(German,English)" </syntaxhighlight> Die Anführungszeichen sind dabei nur notwendig, wenn mehrere Sprachen angegeben werden sollen (für die Reihenfolge von Ersatzsprachen). Analog dazu lassen sich auch verschieden Locales testen, und zwar mit folgendem Parameter: <syntaxhighlight> -AppleLocale en_GB </syntaxhighlight> Für die Verwendung im Terminal ist zu beachten, dass das Terminal-Kommando {{TT|1={{Man|open|open}}}} hierzu offenbar '''nicht''' verwendet werden kann. == mit Xcode == [[Image:Xcode_SchemeEditor_Languages.png|right|{{TT|-AppleLanguages}} Startparameter in Xcode|thumb]]Um das nun direkt von Xcode durchführen zu lassen, sind folgende Schritte notwendig: # "manage schemes..." aufrufen (Schema-Verwaltung) # das jeweilige Schema auswählen # dort unter "Run" in das Tab "Arguments" wechseln # in die Liste "Arguments Passed On Launch" einen Eintrag mit diesem Parameter erstellen (siehe Screenshot rechts) Für einen einfachen Wechsel zwischen mehreren Sprachen können auch mehrere Schemata erzeugt werden, die dann im Xcode-Hauptfenster direkt ausgewählt werden können. [[Image:Xcode_SchemeEditor_Options.png|right|Neuere Xcode-Versionen erlauben die Konfiguration von Region und Sprache über Auswahlfelder|thumb]] 32edcee0c14791344541b78ee59b8bc38ca4e5ee 1721 1700 2023-03-15T08:32:47Z Hagbard 2 wikitext text/x-wiki [[Category:Development]][[Category:Hint]]Beim Entwickeln lokalisierter OS X Programme mit Xcode muss man zum Verifizieren der lokalisierten Oberfläche das Programm des öfteren auch in anderen Sprachen testen. Der übliche weg über das Umstellen der Sprache in den Systemeinstellungen oder das Verwenden von Hilfsprogrammen wie [http://www.tj-hd.co.uk/en-gb/languageswitcher/ Language Switcher] ist jedoch recht umständlich. ==im {{Terminal}}== Einfacher geht es durch den Start mit folgendem Startparameter: <syntaxhighlight lang="bash"> -AppleLanguages "(German, English)" </syntaxhighlight> also z.B.: <syntaxhighlight lang="bash"> /Applications/Calendar.app/Contents/MacOS/Calendar -AppleLanguages "(German,English)" </syntaxhighlight> Die Anführungszeichen sind dabei nur notwendig, wenn mehrere Sprachen angegeben werden sollen (für die Reihenfolge von Ersatzsprachen). Analog dazu lassen sich auch verschieden Locales testen, und zwar mit folgendem Parameter: <syntaxhighlight lang="bash"> -AppleLocale en_GB </syntaxhighlight> Für die Verwendung im Terminal ist zu beachten, dass das Terminal-Kommando {{TT|1={{Man|open|open}}}} hierzu offenbar '''nicht''' verwendet werden kann. == mit Xcode == [[Image:Xcode_SchemeEditor_Languages.png|right|{{TT|-AppleLanguages}} Startparameter in Xcode|thumb]]Um das nun direkt von Xcode durchführen zu lassen, sind folgende Schritte notwendig: # "manage schemes..." aufrufen (Schema-Verwaltung) # das jeweilige Schema auswählen # dort unter "Run" in das Tab "Arguments" wechseln # in die Liste "Arguments Passed On Launch" einen Eintrag mit diesem Parameter erstellen (siehe Screenshot rechts) Für einen einfachen Wechsel zwischen mehreren Sprachen können auch mehrere Schemata erzeugt werden, die dann im Xcode-Hauptfenster direkt ausgewählt werden können. [[Image:Xcode_SchemeEditor_Options.png|right|Neuere Xcode-Versionen erlauben die Konfiguration von Region und Sprache über Auswahlfelder|thumb]] d4715794cb4d769d2e5c00d71bc5c95cebe9eec8 Wget 0 333 1701 1655 2023-03-15T08:22:40Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]][[wikipedia:Wget|wget]] ist als Kommandozeilen-Programm ein sehr vielseitiges Download-Werkzeug und bietet bereits von Haus aus alle notwendigen Funktionen und Optionen. Als Alternative zur Nutzung von wget im {{Terminal}} existiert eine Vielfalt graphischer Oberflächen für wget, die allerdings in den meisten Fällen nur einen Bruchteil der Funktionsvielfalt von wget bieten. Daher an dieser Stelle ein paar Tipps und Tricks für den alltäglichen Gebrauch von wget im Terminal: ==Installation== Da wget nicht in der Teil der Standardinstallation von Mac OS X ist, muss es hier nachträglich installiert werden. Man kann es entweder aus dem Quellcode übersetzen oder aus den MacPorts installieren (alternativ: [http://www.finkproject.org/ Fink]/[http://finkcommander.sourceforge.net/ FinkCommander]): ===Quelltexte übersetzen=== Hierfür ist die Installation der Xcode Developer Tools notwendig, für deren Download eine (kostenlose) Mitgliedschaft im Apple Developer Program notwendig ist. Im Terminal sind zur Installation folgende Kommandos einzugeben; <syntaxhighlight lang=bash> # wget-Quellcode herunterladen: curl -o wget-latest.tar.gz http://ftp.gnu.org/gnu/wget/wget-latest.tar.gz # ... und entpacken: tar xzf wget-latest.tar.gz # in dieses Verzeichnis wechseln (z.B. wget-1.12): cd wget-x.y.z # und übersetzen: ./configure --with-ssl=openssl make </syntaxhighlight> Anschließend kann wget entweder über folgendes Kommando installiert oder die Programmdatei '''{{TT|src/wget}}''' manuell in irgendein gewünschtes Verzeichnis kopiert werden <syntaxhighlight lang=bash> sudo make install </syntaxhighlight> ===MacPorts=== Alternativ ist die Installation auch über die [http://www.macports.org/index.php MacPorts] durch folgende Eingaben im Terminal möglich, wobei vorher deren Basis-Distributionspaket installiert werden muss: <syntaxhighlight lang=bash> sudo port install wget </syntaxhighlight> ===Linux=== Unter Linux ist wget üblicherweise als Paket in den jeweiligen Repositories vorhanden und lässt sich mit den entsprechenden Tools der Distribution installieren. Beispiel Debian/Ubuntu: sudo apt-get install wget ==HowTOs== ===Webseiten speichern mit wget=== Eine Webseite bzw. ein ftp-Verzeichnis spiegeln: -m ''<url>'' --mirror ''<url>'' Was eine Kurzform ist für: -r -l inf -N ''<url>'' Dabei ganz praktisch ist eine Umwandlung von Links in HTML-Dateien für die lokale Benutzung: --convert-links --backup-converted (Backup der Originaldateien vor der Umsetzung) ===Downloads mit Wget=== Das folgende Kommando lädt eine Datei von der Adresse <url> mit einer maximalen Downloadrate von 20kB/Sekunde, einem timeout von 20 Sekunden zwischen den Verbindungsversuchen und der automatischen Fortsetzung des Downloads nach einem Abbruch: wget -c --wait=20 --limit-rate=20K ''<url>'' ===Nur Dateien eines bestimmten Typs laden=== Das folgende Kommando lädt nur Dateien mit der Endung ".pdf" herunter: wget ftp://path/to/files/*.pdf ===Downloads im Hintergrund ausführen=== '''Möglichkeit A:''' mit Hilfe der Option {{TT|-b}}: wget -cb ''<url>'' wget -c --background ''<url>'' '''Möglichkeit B:''' mit Hilfe von {{Man|screen|screen}}: screen wget ''<url>'' Verlassen des wget screens: {{Key press|Ctrl|A|D}} Auflisten aller offenen screens screen -ls Wechseln zum wget screen: screen -r ''<ID>'' '''Möglichkeit C:''' Starten mit {{Man|nohup|nohup}} nohup wget -c -o /path/to/activity.log ''<url>'' nohup bewirkt dabei, dass das ausgeführte Kommando (hier wget) ausgeführt wird und sog "hangup" Signale ignoriert. Dadurch kann der Prozess im Hintergrund weiterlaufen, auch wenn sich der Benutzer zwischenzeitlich abmeldet. Die Option -o /path/to/activity.log bewirkt dabei, dass die Ausgabe in die dort genannte Datei geschrieben wird (anstatt auf den Bildschirm). ==praktische Optionen== Hier noch eine kurze Zusammenstellung praktischer Optionen für die Benutzung auf die Schnelle: ===Download-Bandbreite beschränken=== Beschränkung der Download-Bandbreite auf x Bytes (bzw. auf KB bei angeängtem "K"), z.B.: --limit-rate=30K --limit-rate=''<amount>'' --limit-rate=''<amount>''K ===Downloads fortsetzen=== Mit der folgenden Option werden zuvor abgebrochene Downloads fortgesetzt (wenn der Server dies unterstützt): -c ''<datei>'' --continue ''<datei>''Screen ===HTTP-Authentifizierung=== Zugriff auf mit http-basic geschützte Bereiche: --http-user=''<user>'' --http-passwd=''<password>'' ===Download-Liste=== Downloads aus einer Datei holen (Liste aller zu ziehender URLs; eine URL pro Zeile): -i ''<datei>'' Einen Browser vortäuschen: wget -r -p -U Mozilla ''<url>'' ==graphische Frontends== ===MacOS X=== * Übersicht bei [https://www.macupdate.com/find/mac/wget macupdate.com] ===Linux=== * [http://projects.gnome.org/gwget/ Gwget] (Gnome Frontend für wget) ===Windows=== ==Alternativen/Erweiterungen== ===Aget=== [http://www.enderunix.org/aget/ Aget] (GPL) ist ein multi-threaded HTTP Downloader, der die herunterzuladenden Dateien in einzelne Teile aufsplittet und daher u.U. wesentlich schneller sein kann als wget. Beispiel: aget -n=5 ''<url>'' ==Infos und Links== * [http://www.gnu.org/software/wget/wget.html Offizielle Webseite] von GNU Wget mit [http://www.gnu.org/software/wget/manual/wget.html Dokumentation] * [http://wget.addictivecode.org/Wget Wget Wiki] * [[Wikipedia:de:Wget|wget]] in der Wikipedia * [http://linuxwiki.de/wget Kleine Anleitung] im LinuxWiki * Übersicht wichtiger Optionen und weitere Tipps zu wget im [http://wiki.ubuntuusers.de/wget ubuntuusers Wiki] 95f91994e6d8fbf42c6a8a34814ae54c5abec4c3 VirtualBox VM-Starter erstellen 0 332 1702 1653 2023-03-15T08:22:53Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:OS]]Üblicherweise werden VirtualBox VMs über die Programmoberfläche gestartet, in der diese auch angelegt und bearbeitet werden. Mit einem einfachen AppleScript lässt sich das jedoch auch umgehen, so dass die VMs ohne diesen Umweg direkt ("headless") aufgerufen werden können, beispielsweise via Dock-Icon oder Spotlight. Dazu ist im '''AppleSkript-Editor'' (zu finden unter {{TT|/Applications/Utilities}}) folgendes Stückchen Code einzugeben, wobei "Name der VM" (innerhalb der Anführungszeichen, diese müssen beibehalten werden) natürlich durch den jeweiligen Namen der VM (so wie er in der VirtualBox Applikation erscheint) zu ersetzen ist: <syntaxhighlight lang=applescript> set VB_GUEST to "Name der VM" set VB_VM to quoted form of VB_GUEST do shell script "vboxmanage startvm " & VB_VM </syntaxhighlight> Anschließend ist das Skript im Dateiformat "Programm" an eine beliebige Stelle zu speichern. Im Skript-Editor (oder anschließend über das Finder-Informationsfenster) kann diesem dann auch noch ein aussagekräftigeres Icon verpasst werden, beispielsweise ein VirtualBox Dokumenticon. Diese befinden sich innerhalb des VirtualBox Application-Bundle unter "{{TT|Contents/Resources/}}" /Applications/VirtualBox.app/Contents/Resources/ 4a0203b4b7708e35bb04f98069766ee13f54c0f4 SSH keep alive 0 167 1703 1199 2023-03-15T08:23:02Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Terminal]] Um im [[:Category:Terminal|Terminal]] SSH-Sessions automatische Verbindungsabbrüche (in der Regel durch Firewalls, Load Balancer o.Ä. verursacht) zu verhindern, genügt es, folgende Zeilen in die SSH-Konfiguration zu schreiben: == Client == <syntaxhighlight> ServerAliveInterval 300 ServerAliveCountMax 3 </syntaxhighlight> D.h. das bei ggf erst nach 3x300 Sekunden die Verbindung beendet wird. systemweite Konfiguration: /etc/ssh_config Benutzerspezifische Konfiguration: ~/.ssh/config == Server == <syntaxhighlight> ClientAliveInterval 300 ClientAliveCountMax 3 </syntaxhighlight> Anschließend muss der Server neu gestartet werden, entweder über die Systemeinstellungen oder mit Hilfe dieses Terminal-Kommandos: <syntaxhighlight> launchctl stop org.openbsd.ssh-agent launchctl start org.openbsd.ssh-agent </syntaxhighlight> eine Liste der laufenden Dienste ist über diese Anweisung erreichbar: <syntaxhighlight> launchctl list </syntaxhighlight> ==Siehe auch== * [http://drupal.star.bnl.gov/STAR/comp/sofi/facility-access/ssh-stable-con/ SSH connection stability] * Man pages: {{Man|ssh|ssh}}, {{Man|ssh_config|ssh_config}}, {{Man|sshd|sshd}}, {{Man|sshd_config|sshd_config}} 5c65840129b87eec27a3a85cee203c4b0d05b5bc 1723 1703 2023-03-15T08:34:04Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Terminal]] Um im [[:Category:Terminal|Terminal]] SSH-Sessions automatische Verbindungsabbrüche (in der Regel durch Firewalls, Load Balancer o.Ä. verursacht) zu verhindern, genügt es, folgende Zeilen in die SSH-Konfiguration zu schreiben: == Client == <syntaxhighlight lang="bash"> ServerAliveInterval 300 ServerAliveCountMax 3 </syntaxhighlight> D.h. das bei ggf erst nach 3x300 Sekunden die Verbindung beendet wird. systemweite Konfiguration: /etc/ssh_config Benutzerspezifische Konfiguration: ~/.ssh/config == Server == <syntaxhighlight lang="bash"> ClientAliveInterval 300 ClientAliveCountMax 3 </syntaxhighlight> Anschließend muss der Server neu gestartet werden, entweder über die Systemeinstellungen oder mit Hilfe dieses Terminal-Kommandos: <syntaxhighlight lang="bash"> launchctl stop org.openbsd.ssh-agent launchctl start org.openbsd.ssh-agent </syntaxhighlight> eine Liste der laufenden Dienste ist über diese Anweisung erreichbar: <syntaxhighlight lang="bash"> launchctl list </syntaxhighlight> ==Siehe auch== * [http://drupal.star.bnl.gov/STAR/comp/sofi/facility-access/ssh-stable-con/ SSH connection stability] * Man pages: {{Man|ssh|ssh}}, {{Man|ssh_config|ssh_config}}, {{Man|sshd|sshd}}, {{Man|sshd_config|sshd_config}} 60d9cd8a137ac4e32f130496fa8f5d189f4d8eb0 Terminal Quickies 0 11 1704 272 2023-03-15T08:24:06Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <syntaxhighlight> mdfind -onlyin <path> 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang=bash> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang=bash> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang=bash>find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang=bash> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang=bash> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang=bash> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang=bash>srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang=bash>chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang=bash>chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang=bash>ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang=bash>tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf </path/to/package.pkg> xar -xvf </path/to/package.pkg> -C <destination-folder> pkgutil --expand </path/to/package.pkg> <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume </path/to/volume> for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ==Administration== ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang=bash> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight>sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight>$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight>$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight>sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <pre>killall NotificationCenter</pre> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write <bundleidentifier> NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight>killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <pre> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </pre> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <pre>sudo scutil --set HostName <hostname></pre> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <pre> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </pre> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight> tccutil reset Accessibility tccutil reset AppleEvents tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <pre>strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</pre> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<pre>/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</pre> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang=bash> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r <timestamp> z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep <path> z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight>ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 97c72a221f1eff3a6fdd661ab832b9feae6f63f5 1725 1704 2023-03-15T08:37:03Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin <path> 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf </path/to/package.pkg> xar -xvf </path/to/package.pkg> -C <destination-folder> pkgutil --expand </path/to/package.pkg> <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume </path/to/volume> for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ==Administration== ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <pre>killall NotificationCenter</pre> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write <bundleidentifier> NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <pre> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </pre> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <pre>sudo scutil --set HostName <hostname></pre> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <pre> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </pre> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight> tccutil reset Accessibility tccutil reset AppleEvents tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <pre>strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</pre> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<pre>/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</pre> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r <timestamp> z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep <path> z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight>ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 2d08e456c9594bfb7cf8d1e000ddadd40c44b06b 1726 1725 2023-03-15T08:42:34Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ==Administration== ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight> tccutil reset Accessibility tccutil reset AppleEvents tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight>ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] c0e5ba0666fa121c359f56d1737fd5377cd9c952 1727 1726 2023-03-15T08:48:30Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ==Administration== ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AppleEvents tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] a15b1c0e2cf9435d72ece579a16b5ff6f4905450 1733 1727 2023-03-15T10:48:48Z Hagbard 2 /* Administration */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ==Administration== ===Permanently change the time style of the {{TT|ls}} command=== ... by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AppleEvents tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 5bf282e23047cdd16ded095601e3b17311d6e3a3 1734 1733 2023-03-15T10:49:46Z Hagbard 2 /* Permanently change the time style of the {{TT|ls}} command */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ==Administration== ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AppleEvents tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] e5fc2efe87dbb12b34d374f0f7f70072fe68310a 1735 1734 2023-03-15T10:50:09Z Hagbard 2 /* Administration */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AppleEvents tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] e6e35275caae9650966ac9f51d40ccc414d75468 Tastaturbelegung und Zeichentabelle mit AppleScript anzeigen 0 325 1705 1639 2023-03-15T08:24:20Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Hint]]Manchmal ist es recht hilfreich, die Tastaturbelegung (virtuelle Tastatur) oder die Sonderzeichentabelle auch außerhalb von Applikationen anzeigen zu können. Allerdings stören sich manche (z.B. [[User:Hagbard|ich]]) an dem Sprachauswahlmenü in der Menüleiste, zumal dafür nur wenige Zeilen AppleScript notwendig sind. Diese Sind im Skript-Editor in ein neues Skript einzufügen, das dann als "Programm-Bundle" (Startdialog deaktivieren) gespeichert und fortan als eigenständiges Programm aufgerufen werden kann (startet deutlich schneller als ein Skript). ==Tastatur (Keyboard Viewer)== <syntaxhighlight lang="AppleScript" LINES="FALSE> tell application "Finder" open item "System:Library:Components:KeyboardViewer.component:Contents:SharedSupport:KeyboardViewerServer.app" of the startup disk end tell </syntaxhighlight> ==Zeichenpalette (Character Palette)== <syntaxhighlight lang="AppleScript" LINES="FALSE> tell application "Finder" open item "System:Library:Components:CharacterPalette.component:Contents:SharedSupport:CharPaletteServer" of the startup disk end tell </syntaxhighlight> fd9c816aaad3754ef28a3b7f727aab0e6497a481 Spotlight 0 319 1706 1627 2023-03-15T08:24:36Z Hagbard 2 wikitext text/x-wiki [[Category:OS]] ==Spotlight== Spotlight ist die neue, mit MacOS 10.4 (aka Tiger) eingeführe Suchengine ===Tastaturshortcuts=== {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" |-- bgcolor="#ffffff" | width="300px" | Spotlight-Suche starten || width="100px" | {{Key press|CMD|Space}} (konfigurierbar) |-- bgcolor="#ffffff" | Spotlight-Suche in neuem Fenster starten || {{Key press|CMD|Shift|Space}} |} '''Im Ergebnisfenster:''' {| border="0" cellpadding="4" cellspacing="1"; style=";margin-top:1em; margin-bottom:1em; background:#e3e3e3;" |-- bgcolor="#ffffff" | width="300px" | Top-Treffer direkt öffnen || width="100px" | {{Key press|CMD|Return}} |-- bgcolor="#ffffff" | Zum ersten Treffer der nächsten Kategorie wechseln || {{Key press|CMD|down}} |-- bgcolor="#ffffff" | Zum ersten Treffer der vorigen Kategorie wechseln || {{Key press|CMD|up}} |-- bgcolor="#ffffff" | Zum ersten Treffer der Liste wechseln || {{Key press|Ctrl|up}} |-- bgcolor="#ffffff" | Zum letzten Treffer der Liste wechseln || {{Key press|Ctrl|down}} |-- bgcolor="#ffffff" | Eintrag im Finder zeigen || {{Key press|CMD|click}} |-- bgcolor="#ffffff" | 1x: Suchefeld und -ergebnisse löschen<br />2x: das Ergebnisfenster schließen || {{Key press|Esc}} |} ===Suchoperatoren=== In den Spotlight Suchanfragen können Begriffe auch geklammert sowie andere [[wikipedia:de:Logischer_Operator|boolesche Operatoren]] verwendet werden: Außerdem kann durch Verwendung des Präfix "{{TT|art:}}" nach Dateityp gefiltert werden: {| |-- ! Name || Operator || Beispiel |-- | width="80px" | {{TT|AND}} || width="120px" | ''(Leerzeichen)'' || width="400px" | {{TT|begriff1 begriff2}} |-- | {{TT|NOT}} || (-) || {{TT|begriff1 (-begriff3)}} |-- | {{TT|OR}} || {{TT|<nowiki>|</nowiki>}} || {{TT|begriff1 <nowiki>|</nowiki> begriff4}} |-- | Dateityp || {{TT|art:}} || {{TT|art:programm}}<br /> {{TT|art:bild}}, {{TT|art:bilder}}<br /> {{TT|art:lesezeichen}}<br /> {{TT|art:mail}}, {{TT|art:email}}, {{TT|art:e-mail}}<br /> {{TT|art:film}}, {{TT|art:filme}}<br /> {{TT|art:schrift}}, {{TT|art:schriften}}<br /> {{TT|art:kontakt}}<br /> {{TT|art:musik}}<br /> {{TT|art:ordner}}<br /> {{TT|art:präsentation}}<br /> {{TT|art:einstellungen}}, {{TT|art:systemeinstellungen}}<br /> {{TT|art:ereignis}}<br /> {{TT|art:aufgabe}}<br /> |} ;Beispiele <nowiki>(Schinken|Salami) Pizza(-Aufschnitt)</nowiki> Der jeweilige Typ einer Datei ist dabei lokalisiert in der jeweilgen Systemsprache (I lässt sich dabei im [[:Category:Terminal|Terminal]] mit Hilfe des Kommandos {{TT|1={{Man|mdls|mdls}}}} herausfinden: <syntaxhighlight lang="bash"> mdls | grep "^kMDItemKind"</syntaxhighlight> ===Indizierung=== Spotlight indiziert die folgenden Verzeichnisse: /Library/PreferencePanes/ /System/Library/PreferencePanes/ /Developer/Applications/ /Developer/Examples/ Das Benutzerverzeichnis (Home) ~/ mit den Unterverzeichnissen Documents/ Movies/ Music/ Pictures/ Library/Metadata/ Library/Caches/Metadata/ Library/Mail/ Library/Caches/com.apple.AddressBook/Metadata/ Library/PreferencePanes/ unabhängig davon, ob das Homeverzeichnis lokal, mit filevault verschlüsselt oder per Netzwerkfreigabe eingebunden verwendet wird. Spotlight indiziert '''nicht''' die folgenden Systemverzeichnisse: /automout/ /bin/ /cores/ /dev/ /private/ /sbin/ /tmp/ /usr/ /var/ /Previous Systems/ <font color="#b2b2b2">(für ein bei der 10.4 Installation ggf. erstelltes Backup) </font> /Network/ ebenso werden bei den folgenden Verzeichnissen diejenigen darunterliegenden Strukturen nicht indiziert, die oben nicht explizit aufgeführt wurden: ~/Library/ <font color="#b2b2b2">(ausser die oben genannten Verzeichniss) </font> iPod_Control/ <font color="#b2b2b2">(in gemounteten iPods) </font> /System/ <font color="#b2b2b2">(ausser die oben genannten Verzeichniss) </font> /Library/ <font color="#b2b2b2">(ausser die oben genannten Verzeichniss) </font> /Developer/ <font color="#b2b2b2">(ausser die oben genannten Verzeichniss) </font> Um Ordner aus der Indizierung auszuschliessen benennt man diese in ".noindex" um. Als Beispiel: "MeinOrdner.noindex" Wir sind immernoch auf der Suche "/sw" aus der Indizierung auszuschliessen ohne diesen umzubennen ===PHP Dateien indizieren mit Spotlight=== [[Image:Spotlightpublicphp-script.png|Bearbeiten der info.plist mit dem Preferences Editor|thumb|right|200px]] terminal öffnen und mit open /Library/Spotlight/SourceCode.mdimporter/Contents/Info.plist den PropertyEditor öffnen, dort unter Root/CFBundleDocumentTypes/0/LSItemContentTypes ein neues Sibling anlegen. Der ''key 7'' wird automatisch vergeben und muss den folgenden Wert enthalten: public.php-script Abschliessend mit {{Man|mdimport|mdimport}} -r /Library/Spotlight/SourceCode.mdimporter den SpotlightServer dazu veranlassen das plugin neu einzulesen. === Mülleimer ausschliessen=== Für manche mag es von nutzen sein, dass auch der/die Mülleimer (~/Trash/) indiziert werden. Wer aber häufig den selben Namen verwendet für seine Notizen o.ä. und diese gleich benennt und dann wieder wegschmeisst, kann mit dieser Funktion wahrscheinlich nicht sehr viel anfangen. Deshalb empfiehlt es sich dann, den Mülleimer aus der Indizierung auszuschliessen. * Im Finder {{Key press|CMD|Shift|G}} * und im Eingabe Feld "Gehe zu:" dann ~/.Trash eingeben. * In den Spotlight-Einstallungen auf Privatsphäre klicken * Den Ordner Trash aus der Menuleiste im Finder auf die Privatsphäre ziehen ==Spotlight Tuning== ===Die Suche beschleunigen=== Die Spotlight Suche ist so gebaut, dass jeder Buchstabe eine neue Suchanfrage auslöst. Die Suche kann also spürbar beschleunigt werden, indem man einen Suchstring ausserhalb zusammenbaut und dann komplett in das Suchfenster kopiert. Noch besser ist, dann einfach mit {{Key press|Opt|Shift|F}} die Suche direkt starten. Noch besser geht das, wenn Quicksilver installiert ist:<br/> # Quicksilver starten # Mit {{Key press|.}} in die Texteingabe wechseln # Suchstring eingeben # Mit {{Key press|tab}} ins nächste Feld wechseln. # "Spotlight Suche" auswählen. (mit {{Key press|Ctrl|click}} lässt sich das dann auch als default für die Texteingabe wählen. ''Anm.: nur bei installiertem Spotlight-Plugin - [[User:Hagbard|hagbard]]'' Am schnellsten schliessen lässt sich das Ergebnis- und das Suchfenster durch zweimaliges drücken von {{Key press|Esc}} === Spotlight aus der Menubar entfernen === Im Moment gibt es keine Möglichkeit, die Spotlightlupe aus der Menubar zu entfernen, ohne die Funktionalität zu verlieren. ===Erweiterte Informationen=== In der Spotlight- Suche, kann durch drücken auf das "i" die erweiterten Informationen zu diesem Ergebnis angezeigt werden. Hält man beim klicken zusätzlich {{Key press|Opt}}, so werden die erweiterten Informationen aller der Gruppe angehörenden Elemente. Alternativ geht dies auch mit {{Key press|right}} sowie {{Key press|Opt|right}} === Spotlight und launcher utilities (Quicksilver, Butler, Launchbar) === Als Quicksilver Benutzer starte ich meine Anwendungen immer noch mit Quicksilver. Zuerst wollte ich komplett auf Spotlight wechseln, aber da ist Spotlight einfach zu träge. Deshalb hab ich also in den Spotlight-Einstellungen Anwendungen und Systemeinstellungen deaktiviert und in Quicksilver dafür Adressbuch, Mail etc. deaktiviert. ==Spotlight deaktivieren== Über das Terminal kann Spotlight (z.B. aus Performancegründen oder in einer virtuellen Maschine) komplett deaktiviert werden: ===Mac OS 10.4 / 10.5=== Folgende Zeilen sind im Terminal einzugeben um ... ... Spotlight vorübergehend zu deaktivieren: sudo launchctl unload /System/Library/LaunchDaemons/com.apple.metadata.mds.plist launchctl unload /System/Library/LaunchAgents/com.apple.Spotlight.plist sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.Spotlight.plist ... Spotlight permanent zu deaktivieren: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist launchctl unload /System/Library/LaunchAgents/com.apple.Spotlight.plist sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.Spotlight.plist ... Spotlight vorübergehend wieder zu aktivieren: sudo launchctl load /System/Library/LaunchDaemons/com.apple.metadata.mds.plist launchctl load /System/Library/LaunchAgents/com.apple.Spotlight.plist sudo launchctl load -w /System/Library/LaunchAgents/com.apple.Spotlight.plist ... Spotlight permanent wieder zu aktivieren: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist launchctl load /System/Library/LaunchAgents/com.apple.Spotlight.plist sudo launchctl load -w /System/Library/LaunchAgents/com.apple.Spotlight.plist siehe auch: * [http://tech.karbassi.com/2009/05/12/how-to-fully-disable-spotlight-in-leopard/ tech.karbassi.com] * [http://osxdaily.com/2007/03/22/how-to-completely-disable-spotlight/ osxdaily.com] ===Mac OS 10.5 Quickfix=== Diese beiden Dateien an einen anderen Ort verschieben: /System/Library/LaunchAgents/com.apple.Spotlight.plist /System/Library/LaunchDaemons/com.apple.metadata.mds.plist Nach einem Systemupdate ist dies ggf. zu wiederholen ===Mac OS 10.6=== Unter 10.6 ist über folgendes Kommando Spotlight zu (de-)aktivieren: sudo mdutil -a -i off sudo mdutil -a -i on ===Mac OS 10.7=== Folgende Zeilen sind im Terminal einzugeben um ... ... Spotlight vorübergehend zu deaktivieren: sudo launchctl unload /System/Library/LaunchDaemons/com.apple.metadata.mds.plist ... Spotlight permanent zu deaktivieren: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist ... Spotlight vorübergehend wieder zu aktivieren: sudo launchctl load /System/Library/LaunchDaemons/com.apple.metadata.mds.plist ... Spotlight permanent wieder zu aktivieren: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist == Spotlight-Index neu aufbauen == Dies hilft auch oftmals, wenn der Mac App Store Aktualisierungen von längst deinstallierten Programmen anzeigt, dazu sind im Terminal folgende Anweisungen nacheinander einzugeben: Spotlight-Indizierung deaktivieren: sudo mdutil -a -i off Spotlight-daemon beenden: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist Spotlight-daemon erneut laden: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist anschließend die Indizierung neu starten: sudo mdutil -a -i on Nun sollte der Index neu aufgebaut werden, was unter Umständen eine Weile dauern kann. ==Benutzung in der Shell== ===Spotlight Kommandozeilen-Tools=== <br /> {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" |---- bgcolor="#FFFFFF" | <font face="courier">[[Mdfind|mdfind]]</font> || Spotlight-Suche |---- bgcolor="#FFFFFF" | <font face="courier">{{Man|mdls|mdls}}</font> || Anzeige der Metadaten einer Datei im Index |---- bgcolor="#FFFFFF" | <font face="courier">{{Man|mdimport|mdimport}}</font> || Ordnerstrukturen in den Metadaten-Index aufnehmen (==indizieren) |---- bgcolor="#FFFFFF" | <font face="courier">{{Man|mdutil|mdutil}}</font> || Verwaltungstool für den Spotlight Metadaten-Index |---- bgcolor="#FFFFFF" | <font face="courier">[[Mdcheckschema|mdcheckschema]]</font> || Gültigkeit eines Importschemas für Spotlight überprüfen |} ===Beispiele=== Hier sollen in Zukunft ein paar Beispiele entstehen, die man immer mal wieder gut gebrauchen kann. '''Alle Audiodateien im Home anzeigen, sortieren und doppelte aussortieren:''' [[Mdfind|mdfind]] 'kMDItemMediaTypes == "Sound" ' -onlyin "/~" | sort -fd | uniq {{Key press|return}} ==Anmerkungen zu Spotlight== ===Spotlight in Multi-Boot Systemen=== Bei Multi-Boot Systemen (also Systemen mit mehreren MacOS Installationen) ist recht nervig, dass Spotlight die von der Indizierung ausgeschlossenen Ordner und Volumes (Systemeinstellungen > Spotlight) nicht für jede Installation getrennt speichert sondern scheinbar direkt im Index. Das hat zur Folge, das entwder Spotlight nicht funktioniert oder immer alle Installationen im Index sind, was insbesondere bei verschiedenen MacOS Versionen zu Komplikationen führen kann. Ideen zur Abhilfe sind willkommen. ==Weitere Informationen== * osXdaily: [http://osxdaily.com/2007/02/15/spotlight-wont-work-fix-a-broken-spotlight-menu-with-these-troubleshooting-tips/ Fix a broken Spotlight menu with these troubleshooting tips] * osXdaily: [http://osxdaily.com/2009/09/20/disable-spotlight-in-mac-os-x-10-6-snow-leopard/ Disable Spotlight in Mac OS X 10.6 Snow Leopard] * osXdaily: [http://osxdaily.com/2007/03/22/how-to-completely-disable-spotlight/ How to completely disable Spotlight] ===Spotlight Plugins=== * Apple Downloads: [http://www.apple.com/downloads/macosx/spotlight/ Spotlight Plugins] (MD-Importer) * [http://code.google.com/p/google-toolbox-for-mac/downloads/list Xcode Plugin]: Spotlight importer für AppleScript, Xcode Projekte und Interface Builder Dateien (NIB, XIB) ===Grundlagen=== * Eine sehr gute Einfüghrung in die Funktionsweise von Spotlight ist in der [http://www.heise.de/ix iX] erschienen (Ausgabe 05/2006, Seite 150). * Apple: [[ADC:macosx/spotlight.html|Working with Spotlight]] (Übersicht) * Apple: [[ADC:documentation/Carbon/Conceptual/MetadataIntro/index.html|Introduction to Spotlight]] * Apfelwiki: [http://www.apfelwiki.de/Main/Spotlight Spotlight Tipps & Tricks] * [http://www.macdevcenter.com O'Reilly MacDevCenter]: ** [http://www.macdevcenter.com/pub/a/mac/2005/05/24/spotlight.html A Closer Look at Spotlight] ** [http://www.macdevcenter.com/pub/a/mac/2006/01/04/mdfind.html The Power of mdfind] (incl. einigen Beispielen) * Macworld: [http://www.macworld.com/weblogs/macosxhints/2006/03/photolight/index.php?lsrc=mwrss Using Photo Metadata] ===Entwicklung=== * Apple: ** [[ADC:documentation/Carbon/Conceptual/SpotlightQuery/index.html|Introduction to Spotlight Query Progamming Guide]] ** [[ADC:documentation/Carbon/Reference/MetadataAttributesRef/index.html |Spotlight Metadata Attributes Reference]] ([[ADC:documentation/Carbon/Reference/MetadataAttributesRef/MetadataAttributesRef.pdf|PDF]]) ** [[ADC:documentation/Carbon/Conceptual/MDImporters/index.html|Spotlight Importer Programming Guide]] ** [[ADC:samplecode/Spotlight/Spotlight.html|Codebeispiele zur Entwickler-Dokumentation]] * [http://www.macdevcenter.com O'Reilly MacDevCenter]: ** [http://www.macdevcenter.com/pub/a/mac/2005/07/12/spotlight.html Programming with Spotlight] ** [http://www.macdevcenter.com/pub/a/mac/2005/07/15/spotlight.html Creating Spotlight Plugins] ===Tools und Hilfsmittel=== * [http://toxicsoftware.com/blog/index.php/weblog/mdfind2/ mdfind2]: mdfind-Ersatz mit XML-Ausgabe der Suchergebnisse ===Manpages=== * {{Man|mdfind|mdfind}} * {{Man|mdls|mdls}} * {{Man|mdimport|mdimport}} * {{Man|mdutil|mdutil}} * {{Man|mdcheckschema|mdcheckschema}} f2d0c101e992abdd0f925cb3d5d0b93859499e22 Source Code Listings with LaTeX 0 164 1707 1192 2023-03-15T08:24:57Z Hagbard 2 wikitext text/x-wiki [[Category:TeX]][[Category:Hint]] ==Listings in TeX Dokumenten== Um in [[Wikipedia:de:TeX|TeX]] Dokumenten Quelltexte (Programmlistings) einzufügen, bietet sich die Verwendung des Pakets '''listings''' an. Dazu muss das Paket zuerst mit <syntaxhighlight lang="latex"> \usepackage{listings} </syntaxhighlight> eingebunden werden, außerdem empfiehlt sich für farbiges Syntax-Highlighting die Verwendung des Pakets ''color'' <syntaxhighlight lang="latex"> \usepackage{color} </syntaxhighlight> ==Quellcode einbinden== Dazu gib es 2 Möglichkeiten, entweder direkt im TeX Dokument (inline) oder als eigenständige Datei: ===inline=== <syntaxhighlight lang="latex"> \begin{lstlisting} [caption={ein paar Zeilen code}\label{lst:test123},captionpos=t] for i:=maxint to 0 do begin j:=square(root(i)); end; \end{lstlisting}syntaxhighlight </syntaxhighlight> ===externe Datei=== Hier im Beispiel eine Datei namens <font face="courier">beispiel.java</font> < lang="latex"> \lstinputlisting [caption={Ein kleines Programm in Java} \label{lst:javaclass}, captionpos=t,language=JAVA] {listings/beispiel.java} </syntaxhighlight> ===Hinweise=== '''label:''' Label für Referenzen auf das Listing mit \ref{lst:xyz}<br /> '''caption:''' Beschreibungstext<br /> '''captionpos:''' Position des Beschreibungstextes (t=top, b=bottom)<br /> '''language:''' [Dialekt]Sprache - Angabe einer Programmiersprache (z.B. JAVA, XML, C, C++) oder eines Dialekts (z.B. [LaTeX]TeX) ==Formatierung== ===Farben=== Mit Hilfe des Pakets ''color'' lassen sich mit Hilfe von <syntaxhighlight lang="latex"> \color{<colour>} </syntaxhighlight> Farbwerte verwenden sowie eigene definieren, z.B.: <syntaxhighlight lang="latex"> \definecolor{middlegray}{rgb}{0.5,0.5,0.5} \definecolor{lightgray}{rgb}{0.8,0.8,0.8} \definecolor{orange}{rgb}{0.8,0.3,0.3} \definecolor{yac}{rgb}{0.6,0.6,0.1} </syntaxhighlight> ===Quellcode=== Die Darstellung der Quellcodeabschnitte wird über \lstset{} formatiert, dabei stehen mehrere Variablen zur Verfügung, z.B.: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em;" ! background:#e3e3e3; width="200px" | Variable || width="200px" | Beschreibung || Beispiel |- | backgroundcolor || Hintergrundfarbe || \color{lightgray} |- | basicstyle || Schriftformatierung || \scriptsize\ttfamily |- | keywordstyle || Schlüsselwörter || \bfseries\ttfamily\color{orange}, |- | stringstyle || Variablen || \color{green}\ttfamily, |- | commentstyle || Kommentare || \color{middlegray}\ttfamily, |- | emph<br />emphstyle<br />emph<br />emphstyle | Variablen | square<br />\color{blue}\texttt<br />[2]root,base<br />[2]\color{yac}\texttt |- | showstringspaces || leerzeichen in Strings darstellen || true / false |- | flexiblecolumns || Spaltenbreite dynamisch/fest || true / false |- | tabsize || Tabulatorenbreite || 2, |- | numbers || Position der Zeilennummern || left / right |- | numberstyle || Größe der Zeilennummern || \tiny |- | numberblanklines || leere Zeilen durchnummerieren || true / false |- | stepnumber || Beginn der Nummerierung || 1 |- | numbersep || Abstand zwischen Zeilennummern und Quellcode || 10pt |- | xleftmargin || Abstand zum Rand || 15pt |} '''Anm.:'''<br /> Formatierung immer $key={$value}, Trennung mehrerer Definitionen durch Kommata<br /> <syntaxhighlight lang="latex"> \bfseries: '''fettgedruckt'''<br /> \ttfamily: <font face="courier">typewriter</font><br /> \tiny: <small>klein</small> </syntaxhighlight> Beispiel: <syntaxhighlight lang="latex"> \lstset{ basicstyle=\scriptsize\ttfamily, keywordstyle=\bfseries\ttfamily\color{orange}, stringstyle=\color{green}\ttfamily, commentstyle=\color{middlegray}\ttfamily, emph={square}, emphstyle=\color{blue}\texttt, emph={[2]root,base}, emphstyle={[2]\color{yac}\texttt}, showstringspaces=false, flexiblecolumns=false, tabsize=2, numbers=left, numberstyle=\tiny, numberblanklines=false, stepnumber=1, numbersep=10pt, xleftmargin=15pt } </syntaxhighlight> ==Quellcodeverzeichnis== Analog zu Abbildungs- und Tabellenverzeichnis kann auch ein Quellcodeverzeichnis eingebunden werden, das funktioniert mit <syntaxhighlight lang="latex"> \lstlistoflistings </syntaxhighlight> Um einen Eintrag im Inhaltsverzeichnis zu ermöglichen, sind jedoch einige Handgriffe erforderlich, so sind im TeX-Kopf (also vor <font face="courier">\begin{document}</font>) einige Elemente aus dem Dokumentenstyle (hier book.cls) und listings.sty zu überladen. Zur Info: die beiden Dateien befinden sich üblicherweise an den Orten /usr/local/teTeX/share/texmf.tetex/tex/latex/base/book.cls bzw. /usr/local/teTeX/share/texmf.tetex/tex/latex/listings/listings.sty wobei diese Dateien ja nicht editiert werden. Das erfolgt durch Einfügen des Code in das TeX-Dokument, und zwar zwischen die Tags <syntaxhighlight lang="latex"> \makeatletter ... \makeatother </syntaxhighlight> mit Hilfe der Anweisungen <syntaxhighlight lang="latex"> \renewcommand (einen existierenden Befehl überschreiben) \newcommand (einen neuen Befehl erzeugen) </syntaxhighlight> Das sieht dann - analog zu den [[Kurztipp - Verzeichnisse mit Kapitelnummern|Verzeichnissen]] etwa so aus: <syntaxhighlight lang="latex"> \makeatletter % Festlegen des Kapitelnamen (nicht unbedingt notwendig): % aus listing.sty \renewcommand\lstlistlistingname{Quellcode} % Erzeugen eines Eintrags im Inhaltsverzeichnis: % aus book.cls \newcommand\loltableofcontents{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi \chapter*{\contentsname % \@mkboth{% % \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% \chapter{\lstlistlistingname} \@starttoc{toc}% \if@restonecol\twocolumn\fi } % Erzeugen des Quellcodeverzeichnisses: % aus listing.sty \renewcommand\lstlistoflistings{\bgroup \let\contentsname\lstlistlistingname \let\lst@temp\@starttoc \def\@starttoc##1{\lst@temp{lol}}% \loltableofcontents \egroup} \makeatother </syntaxhighlight> 4d3ac2031d802096229a4d8e739e14660d6e37b2 Show Numbered Chapters in a TeX TOC 0 173 1708 1214 2023-03-15T08:25:10Z Hagbard 2 wikitext text/x-wiki [[Category:TeX]][[Category:Hint]] ==Verzeichnisse mit Kapitelnummern versehen== Standardmäßig werden im Dokumententyp ''book'' Verzeichnisse ohne Kapitelnummern dargestellt und tauchen nicht im Inhaltsverzeichnis auf. Das entspricht dem Effekt, den man durch die Verwendung von <syntaxhighlight lang="latex"> \chapter*{} </syntaxhighlight> anstatt von <syntaxhighlight lang="latex"> \chapter{} </syntaxhighlight> erreicht. Das kann aber durch Überladen einiger Anweisungen aus der Datei '''book.cls''' geändert werden, wobei der Code im Kopf des TeX-Dokumentes (also vor <font face="courier">\begin{document}</font>) zwischen den Tags <syntaxhighlight lang="latex"> \makeatletter ... \makeatother </syntaxhighlight> stehen sollte. Das sieht dann etwa so aus: ===Abbildungsverzeichnis=== <syntaxhighlight lang="latex"> \renewcommand\listoffigures{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi %\chapter*{\listfigurename}% \chapter{\listfigurename}% \@mkboth{\MakeUppercase\listfigurename}% {\MakeUppercase\listfigurename}% \@starttoc{lof}% \if@restonecol\twocolumn\fi } </syntaxhighlight> ===Tabellenverzeichnis=== <syntaxhighlight lang="latex"> \renewcommand\listoftables{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi %\chapter{\listtablename}% \chapter{\listtablename}% \@mkboth{% \MakeUppercase\listtablename}% {\MakeUppercase\listtablename}% \@starttoc{lot}% \if@restonecol\twocolumn\fi } </syntaxhighlight> ===Literaturverzeichnis=== <syntaxhighlight lang="latex"> \renewenvironment{thebibliography}[1] %{\chapter*{\bibname}% {\chapter{\bibname}% \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% \list{\@biblabel{\@arabic\c@enumiv}}% {\settowidth\labelwidth{\@biblabel{#1}}% \leftmargin\labelwidth \advance\leftmargin\labelsep \@openbib@code \usecounter{enumiv}% \let\p@enumiv\@empty \renewcommand\theenumiv{\@arabic\c@enumiv}}% \sloppy \clubpenalty4000 \@clubpenalty \clubpenalty \widowpenalty4000% \sfcode`\.\@m} {\def\@noitemerr {\@latex@warning{Empty `thebibliography' environment}}% \endlist} </syntaxhighlight> f12cc0487ed5dd579debb618aece9dd8ff108540 Prevent .DS Store files on network shares 0 148 1709 1160 2023-03-15T08:25:26Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Terminal]][[Category:Hint]] __NOEDITSECTION__ Für alle, die sich jedesmal über die {{TT|.DS_Store}} Dateien auf Netzwerkvolumes ärgern (lästig vor allem bei Samba-Shares unter Linux/Win32) hier ein - zwar nicht mehr taufrischer, aber dennoch ganz hilfreicher - Tipp (funktioniert ab Mac OS X Tiger). Diese Files werden durch den Finder erstellt und speichern Darstellungseigenschaften für die einzelnen Ordner (z.B. Spaltenansicht etc.). Wer im Sinne besserer Optik / Ordnung drauf verzichten kann mache das folgende: Durch die Eigabe von defaults write com.apple.desktopservices DSDontWriteNetworkStores true im Terminal (muss für jeden Benutzer durchgeführt werden) erstellt der Finder diese Dateien nicht mehr. Das ist nur gültig für Netzwerkvolumes via ... * SMB/CIFS * AFP * NFS * WebDAV und hat keinen Einfluss auf lokale Volumes (sprich Festplatten, Wechselplatten, DVD-RAMs, ...). Anschließend muss (laut [http://docs.info.apple.com/article.html?artnum=301711 Apple]) der Rechner neu gebootet werden. Die Änderungen werden in der folgenden Datei gespeichert: ~/Library/Preferences/com.apple.desktopservices.plist Um die Änderungen auch für andere Benutzer wirksam zu machen, muss nur diese Datei an die entsprechende Stelle im Benutzerverzeichnis kopiert werden. Infos über mögliche daraus resultierende Fehlverhalten des Finders gibts unter anderem in [http://docs.info.apple.com/article.html?artnum=107822 diesem Artikel] der Apple Knowledge Base. {{Contentbox|content=Apple Knowledge Base Artikel zum Thema: [http://support.apple.com/kb/HT1629 Mac OS X v10.4 and later: How to prevent .DS_Store file creation over network connections]}} ===Löschen aller {{TT|.DS_Store}} Dateien=== Um rekursiv alle ''.DS_Store'' Dateien in einem Verzeichnis auf einmal zu löschen, genügt die Eingabe der folgenden Zeile im Terminal (im betreffenden Verzeichnis): <syntaxhighlight lang="bash"> find . -name '*.DS_Store' -type f -delete </syntaxhighlight> Für ein anderes Verzeichnis als das aktuelle ist dies an Stelle des Punktes nach "find" anzugeben. 4c0b8a072ab260d426e95e7758fa07d0f880484e Pmset 0 310 1710 1609 2023-03-15T08:25:32Z Hagbard 2 wikitext text/x-wiki [[Category:Terminal]]{{Man|pmset|pmset}} ist ein [[:Category:Terminal|Terminal]]-Programm, um verschiedene Parameter der Energieverwaltung wesentlich feingranularer zu konfigurieren, als es die Systemeinstellungen ("Energie" PrefPane) erlauben. Prinzipiell ist das Kommando mit Administrator-Privilegien auszuführen, insbesondere für die Änderung von Einstellungen wie z.B. der HDD Spindown-Time oder Wake-on-LAN ist dies notwendig. Durch den Parameter {{tt|force}} kann das jedoch für einige pmset-Kommandos umgangen werden, um beispielsweise den Mac sofort und ohne Angabe eines Passwortes in den Ruhezustand versetzen zu können. == Allgemeines == ===Konfigurationsdateien=== Systemweite Einstellungen: /Library/Preferences/SystemConfiguration/com.apple.PowerManagement.plist Zeitabhängige Einstellungen: /Library/Preferences/SystemConfiguration/com.apple.AutoWake.plist ===Aktuelle Konfiguration anzeigen=== pmset -g kann auch mit verschiedenen Kommandos kombiniert werden, z.B: pmset -g disk pmset -g [disk | live | cap | sched | ups | ps | pslog] ===Hilfe zur Nutzung anzeigen=== pmset --help == Einstellungen == ===Wake-on-LAN de-/aktivieren=== sudo pmset womp 0 sudo pmset womp 1 ===Spindown für Festplatten=== {{Information|'''Externe Festplatten:'''<br /><br /> Dies funktioniert jedoch nur für interne Festplatten! Externe USB- oder Firewire-Festplatten werden generell nach einer Weile der Untätigkeit heruntergefahren, unabhängig von Energieeinstellungen oder pmset-Konfigurationen. Zu diesem Thema ist [http://www.thexlab.com/faqs/harddrivesleep.html hier] (thexlab.com) ein interessanter Artikel verfügbar.<br /><br /> Um bei externen Festplatten den Spindown dauerhaft zu deaktivieren, sind (unter Snow Leopard und neuer) unter Umständen <u>alle</u> Ruhezustände (Rechner, Monitor und Festplatten) komplett zu deaktivieren, erst dann scheinen auch externe Festplatten nicht mehr heruntergefahren zu werden. Außerdem stehen hierfür unter anderem folgende (kostenlose) Hilfsprogramme zur Verfügung: * [http://www.macupdate.com/app/mac/31158/keep-drive-spinning Keep Drive Spinning] * [http://www.macmaps.com/software.html#spindown Spindown fix] * [http://braintrigger.com/software/SleeplessHD/ SleeplessHD] (spricht laufend die Festplatte an, so dass sie nicht herunterfährt) * [http://www.maintain.se/cocktail/index.php Cocktail] (System Maintenance Software) Allerdings kann auch durchaus das Gehäuse selbst (bzw. der dort verbaute Controller) für den Spindown verantwortlich sein, was aber offenbar relativ selten der Fall ist. Dann jedoch lässt sich die Spindowntime nicht beeinflussen.}} Mit folgendem Kommando wird verhindert, dass angeschlossene Festplatten nach einer best. Zeit heruntergefahren werden (bei Notebooks nur, wenn das Netzteil angeschlossen ist): sudo pmset -c disksleep 0 Um diese Einstellung für alle Stromquellen zu verwenden, ist folgendes Kommando zu verwenden: sudo pmset -a disksleep 0 Analog dazu eine Spindown-Time von einer Stunde (60 Minuten) einstellen (alle Stromquellen): sudo pmset -a disksleep 60 Dasselbe, jedoch nur für Batteriebetrieb (Spindown für Netzbetrieb deaktiviert): sudo pmset -c disksleep 0 -b disksleep 60 Diese Einstellungen sind permanent und auch nach dem nächsten Neustart noch gültig. Die Standardeinstellung ist übrigens 10 Minuten für Netzbetrieb und 5 Minuten für Batteriebetrieb. Dieselbe Funktion wird über die Checkbox "wenn möglich Ruhezustand der Festplatte(n) aktivieren" in den Energieeinstellungen bereitgestellt. {{Information|Außerdem gibt es ein betriebssystemversion-abhängiges Verhalten, falls die Checkbox in den Energieeinstellungen deaktiviert ist. Unter Snow Leopard (10.6) und neuer werden die Festplatten dann nicht mehr heruntergefahren (entspricht also {{TT|pmset disksleep 0}}), in älteren Versionen nach 3 Stunden (entspricht {{TT|pmset disksleep 180}})}} == Tipps für Notebooks == ===Aufwachen beim Wechsel der Stromzufuhr verhindern=== Standardmäßig wacht der Mac beim Anstöpseln des Netzteils auf, was mit dem folgenden Kommando verhindert werden kann: sudo pmset acwake 0 ===Aufwachen beim Aufklappen des Displays verhindern=== sudo pmset lidwake 0 ===Appleskript für Display-Sleep=== <syntaxhighlight lang="applescript"> on run {input, parameters} do shell script ("pmset displaysleep 0 force") return input end run </syntaxhighlight> ===Bewegungssensor (de-)aktivieren=== Mit folgenden Zeilen lässt sich der in Apple-Notebooks (seit den letzten G4-Generationen) verbaute [http://support.apple.com/kb/HT1935?viewlocale=de_DE Bewegungssensor] (de-)aktivieren: sudo pmset -a sms 0 sudo pmset -a sms 1 Das macht jedoch nur in sehr seltenen Fällen Sinn, da der Sensor dafür sorgt, dass bei Erschütterungen und im freien Fall die Festplatte ausgeschaltet wird und verhindert dadurch mögliche Datenverluste sowie Beschädigungen am Laufwerk. Siehe: [http://support.apple.com/kb/HT1934?viewlocale=de_DE Apple Supportdokument] ==Weitere Informationen== * {{Man|pmset|manpage pmset}} * {{Man|sudo|manpage sudo}} 60bc9d8f755a8320a0c8369d9a62a43783ac1839 PHP Code Snippets 0 307 1711 1603 2023-03-15T08:25:56Z Hagbard 2 wikitext text/x-wiki [[Category:Museum]][[Category:Development]][[Category:Hint]]Ein paar nützliche Hilfsfunktionen für den täglichen PHP-Irrsinn ;-) ==Dateisystem== ==={{TT|glob_r()}}=== Eine rekursive Variante von [https://secure.php.net/manual/en/function.glob.php glob()] <syntaxhighlight lang=php lines=1> function glob_r($dir = "", $flags = 0) { $files = array(); if(empty($dir) || !is_dir(dirname($dir))) { return $files; } $supp = str_replace(dirname($dir),"",$dir); $dir = dirname($dir).DIRECTORY_SEPARATOR; // get all files: $files = glob($dir.$supp,$flags); // get all subdirectories: $_dirs = scandir($dir); $dirs = array(); foreach($_dirs as $_dir) { if(substr($_dir,0,1) == ".") { continue; } if(is_dir($dir.$_dir)) { $dirs[] = $dir.$_dir; } } unset($_dirs); foreach($dirs as $dir) { $_files = glob_r($dir.$supp,$flags); $files = array_merge($files,$_files); } return $files; } </syntaxhighlight> alternativ (ab PHP5) mit der Klasse [https://secure.php.net/manual/en/class.recursivedirectoryiterator.php RecursiveDirectoryIterator] der [https://secure.php.net/manual/en/book.spl.php SPL]: <syntaxhighlight lang=php lines=1> <?php $dir_iterator = new RecursiveDirectoryIterator("/path/to/directory"); $iterator = new RecursiveIteratorIterator($dir_iterator, RecursiveIteratorIterator::SELF_FIRST); foreach ($iterator as $file) { echo $file, "\n"; } ?> </syntaxhighlight> == CLI-Skripte== Ein paar hilfreiche Funktionen für PHP-CLI Skript ==={{TT|isRunning()}}=== überprüft mittels {{TT|{{Man|ps|ps -ax}}}} und {{TT|{{Man|grep|grep}}}}, ob dieses Skript bereits läuft. Die PHP-Funktion {{TT|[https://secure.php.net/manual/en/function.shell-exec.php shell_exec()]}} muss dafür verfügbar sein. Funktioniert nur, wenn das wie folgt Skript direkt aufgerufen wird und nicht über den PHP-Interpreter: <syntaxhighlight lang=bash> ./test.php # und NICHT so /usr/bin/local/php5 -q ./test.php </syntaxhighlight> Letzterer Aufruf hätte zur Folge, dass in der verwendeten Variable {{TT|$_ENV["_"]}} der PHP-Interpreter (in diesem Fall {{TT|/usr/bin/local/php5}} steht und nicht das Skript. Dazu ist ggf. mittels {{TT|{{Man|chmod|chmod}}}} die Ausführungs-Berechtigung entsprechend zu setzen. <syntaxhighlight lang="php" lines=1> public static function isRunning() { if(!isset($_ENV["_"]) || empty($_ENV["_"])) { return false; } if(substr($_ENV["_"],0,1) == "./") { $cmd = substr($_ENV["_"],2); } else { $cmd = $_ENV["_"]; } $psaux = shell_exec('ps -ax | grep "'.$cmd.'"'); $psaux = explode("\n",$psaux); $processes = array(); foreach($psaux as $process) { if(stripos($process,$cmd) && !stripos($process,"grep")) { $processes[] = $process; } } if(count($processes) > 1) { return true; } else { return false; } } </syntaxhighlight> ==={{TT|isConsole()}}=== schützt ein CLI-Skript davor, über einen Webserver aufgerufen zu werden: <syntaxhighlight lang=php lines=1> /** * check if this script has been called from a terminal (console) or via web server. * @return boolean */ public static function isConsole() { if( (isset($_SERVER["CLIENTNAME"]) && strtolower($_SERVER["CLIENTNAME"]) != "console") || isset($_SERVER["SESSIONNAME"]) || isset($_SERVER["HTTP_HOST"]) ) { return false; } return true; } </syntaxhighlight> af5e7ff2809706fb3b065911fe2df5f7423126ce PECL-Extensions für MAMP erstellen 0 306 1712 1601 2023-03-15T08:26:55Z Hagbard 2 wikitext text/x-wiki [[Category:Development]][http://www.mamp.info MAMP] ist bekanntlich ein recht verbreiteter und bekannter [[wikipedia:de:LAMP|Server-Stack]] für Mac OS X, bestehend aus Apache, MySQL und PHP. Um für die mitgelieferten PHP-Versionen eigene [http://pecl.php.net PHP-Extensions] erstellen und übersetzen zu können, sind jedoch einige Vorbereitungen zu treffen. ==Voraussetzungen== Folgende Voraussetzungen müssen erfüllt sein: * Vorhandene MAMP-Installation * Installierte [http://www.apple.com/de/macosx/developers/ Xcode Entwicklungsumgebung] von der Mac OS X Installations-DVD, alternativ zu erhalten bei [http://connect.apple.com Apple] (kostenlose Registrierung erforderlich) * PHP-Quellcode der Version, für die eine PECL-Extension erstellt werden soll (z.B. PHP 5.2.6 für MAMP 1.7.2) * Quellcode der jeweiligen PECL-Extension, erhältlich über [http://pecl.php.net pecl.php.net] ==Installation== ===Vorbereitung=== Für die Installation sind die folgenden Schritte durchzuführen, im Beispiel anhand der MAMP Version 1.7.2 (PHP 5.2.6) # MAMP und Xcode installieren # Im MAMP-Verzeichnis <syntaxhighlight>/Applications/MAMP/bin/php5/</syntaxhighlight> ein Unterverzeichnis <code>include</code> erstellen # Die PHP-Quelltexte von [http://www.php.net/downloads.php www.php.net] herunterladen und entpacken und das Verzeichnis in <code>php</code> umbenennen. Dieses Verzeichnis dann anschließend in das oben erstellte Verzeichnis verschieben, so dass sie sich im Verzeichnis <syntaxhighlight>/Applications/MAMP/bin/php5/include/php/</syntaxhighlight> befinden. # Das Mac OS Terminal öffnen und in das Verzeichnis <code>/Applications/MAMP/bin/php5/include/php/</code> wechseln: <syntaxhighlight>cd /Applications/MAMP/bin/php5/include/php/</syntaxhighlight> # Folgenden Befehl ausführen:<syntaxhighlight bash>./configure</syntaxhighlight> ===Möglichkeit 1: pecl-Installation=== Installation des Pecl-Archivs mit der Kommandozeilen-App {{TT|pecl}}: # Dazu im Terminal in folgendes Verzeichnis wechseln: <syntaxhighlight>/Applications/MAMP/bin/php5/bin/</syntaxhighlight> # Danach die Extension mit folgendem Kommando installieren: <syntaxhighlight bash>./pecl i PACKAGENAME</syntaxhighlight> ===Möglichkeit 2: Archiv von der Webseite === Die Installation aus den Quelltexten von der Webseite: # Das entsprechende Paket von [http://pecl.php.net pecl.php.net] herunterladen (z.B. auf den Desktop) # Im Terminal in dieses Verzeichnis wechseln und das Paket entpacken:<br /><code>cd ~/Desktop/<br />tar xzfv PACKAGENAME-VERSION.tar.gz<br />cd PACKAGENAME-VERSION/</code> # Anschließend mit {{TT|phpize}} das Paket vorbereiten:<syntaxhighlight>/Applications/MAMP/bin/php5/bin/phpize</syntaxhighlight> # Für die Erzeugung eines Binaries, das sowohl eine 32-Bit als auch eine 64-Bit Version enthält. ist nun folgendes einzugeben:<syntaxhighlight>CFLAGS='-arch i386 -arch x86_64'</syntaxhighlight> # Nun kann das Paket übersetzt werden:<syntaxhighlight>./configure && make</syntaxhighlight> ===Installation der Datei=== # Anschließend die erzeugte Datei in das jeweilige PHP-Extensions-Verzeichnis verschieben: <syntaxhighlight>/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-******</syntaxhighlight> # Die <code>php.ini</code> Konfigurationsdatei anpassen und die Erweiterung im Abschnitt "dynamic extensions" (um Zeile 520 herum) einfügen, z.B.:<syntaxhighlight>extension=http.so</syntaxhighlight> Danach den MAMP neu starten. ==Siehe auch== Produktwebseiten: * [http://www.mamp.info MAMP-Webseite] * Apple: [http://connect.apple.com Developer Connection] (Downloads), [http://developer.apple.com Developer Portal] * [http://www.php.net/downloads.php PHP Downloads] * [http://pecl.php.net PECL Extension Library] Weitere Infos zum Thema: * [http://developerkarma.com/blog/andrew-m-riley/quick-and-dirty-pecl-mamp-os-x Quick and Dirty PECL for MAMP (os x)] * [http://alex-privat.eu/108 MAMP-Arbeitsumgebung, in der auch PECL funktioniert] 743915d7ff0d033f666580b1a127cc2157a98f3e 1722 1712 2023-03-15T08:33:45Z Hagbard 2 wikitext text/x-wiki [[Category:Development]][http://www.mamp.info MAMP] ist bekanntlich ein recht verbreiteter und bekannter [[wikipedia:de:LAMP|Server-Stack]] für Mac OS X, bestehend aus Apache, MySQL und PHP. Um für die mitgelieferten PHP-Versionen eigene [http://pecl.php.net PHP-Extensions] erstellen und übersetzen zu können, sind jedoch einige Vorbereitungen zu treffen. ==Voraussetzungen== Folgende Voraussetzungen müssen erfüllt sein: * Vorhandene MAMP-Installation * Installierte [http://www.apple.com/de/macosx/developers/ Xcode Entwicklungsumgebung] von der Mac OS X Installations-DVD, alternativ zu erhalten bei [http://connect.apple.com Apple] (kostenlose Registrierung erforderlich) * PHP-Quellcode der Version, für die eine PECL-Extension erstellt werden soll (z.B. PHP 5.2.6 für MAMP 1.7.2) * Quellcode der jeweiligen PECL-Extension, erhältlich über [http://pecl.php.net pecl.php.net] ==Installation== ===Vorbereitung=== Für die Installation sind die folgenden Schritte durchzuführen, im Beispiel anhand der MAMP Version 1.7.2 (PHP 5.2.6) # MAMP und Xcode installieren # Im MAMP-Verzeichnis <syntaxhighlight lang="bash">/Applications/MAMP/bin/php5/</syntaxhighlight> ein Unterverzeichnis <code>include</code> erstellen # Die PHP-Quelltexte von [http://www.php.net/downloads.php www.php.net] herunterladen und entpacken und das Verzeichnis in <code>php</code> umbenennen. Dieses Verzeichnis dann anschließend in das oben erstellte Verzeichnis verschieben, so dass sie sich im Verzeichnis <syntaxhighlight lang="bash">/Applications/MAMP/bin/php5/include/php/</syntaxhighlight> befinden. # Das Mac OS Terminal öffnen und in das Verzeichnis <code>/Applications/MAMP/bin/php5/include/php/</code> wechseln: <syntaxhighlight lang="bash">cd /Applications/MAMP/bin/php5/include/php/</syntaxhighlight> # Folgenden Befehl ausführen:<syntaxhighlight lang="bash">./configure</syntaxhighlight> ===Möglichkeit 1: pecl-Installation=== Installation des Pecl-Archivs mit der Kommandozeilen-App {{TT|pecl}}: # Dazu im Terminal in folgendes Verzeichnis wechseln: <syntaxhighlight lang="bash">/Applications/MAMP/bin/php5/bin/</syntaxhighlight> # Danach die Extension mit folgendem Kommando installieren: <syntaxhighlight lang="bash">./pecl i PACKAGENAME</syntaxhighlight> ===Möglichkeit 2: Archiv von der Webseite === Die Installation aus den Quelltexten von der Webseite: # Das entsprechende Paket von [http://pecl.php.net pecl.php.net] herunterladen (z.B. auf den Desktop) # Im Terminal in dieses Verzeichnis wechseln und das Paket entpacken:<br /><code>cd ~/Desktop/<br />tar xzfv PACKAGENAME-VERSION.tar.gz<br />cd PACKAGENAME-VERSION/</code> # Anschließend mit {{TT|phpize}} das Paket vorbereiten:<syntaxhighlight lang="bash">/Applications/MAMP/bin/php5/bin/phpize</syntaxhighlight> # Für die Erzeugung eines Binaries, das sowohl eine 32-Bit als auch eine 64-Bit Version enthält. ist nun folgendes einzugeben:<syntaxhighlight lang="bash">CFLAGS='-arch i386 -arch x86_64'</syntaxhighlight> # Nun kann das Paket übersetzt werden:<syntaxhighlight lang="bash">./configure && make</syntaxhighlight> ===Installation der Datei=== # Anschließend die erzeugte Datei in das jeweilige PHP-Extensions-Verzeichnis verschieben: <syntaxhighlight lang="bash">/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-******</syntaxhighlight> # Die <code>php.ini</code> Konfigurationsdatei anpassen und die Erweiterung im Abschnitt "dynamic extensions" (um Zeile 520 herum) einfügen, z.B.:<syntaxhighlight lang="bash">extension=http.so</syntaxhighlight> Danach den MAMP neu starten. ==Siehe auch== Produktwebseiten: * [http://www.mamp.info MAMP-Webseite] * Apple: [http://connect.apple.com Developer Connection] (Downloads), [http://developer.apple.com Developer Portal] * [http://www.php.net/downloads.php PHP Downloads] * [http://pecl.php.net PECL Extension Library] Weitere Infos zum Thema: * [http://developerkarma.com/blog/andrew-m-riley/quick-and-dirty-pecl-mamp-os-x Quick and Dirty PECL for MAMP (os x)] * [http://alex-privat.eu/108 MAMP-Arbeitsumgebung, in der auch PECL funktioniert] 63d1821e1ea10b2c9eec5e8aeff59dba9638f4fb Change the Wallpaper of the Login Screen 0 157 1713 1688 2023-03-15T08:28:19Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:Verify]][[Category:Update]]Das im Anmeldebildschirm von Mac OS 10.5 verwendete Hintergrundbild befindet sich nicht im gleichen Verzeichnis wie die übrigen Desktop-Hintergrundbilder /Library/Desktop Pictures/ sondern an einer anderen Stelle im System: /System/Library/CoreServices/DefaultDesktop.jpg Um ein anderes Bild dafür zu verwenden, gibt es prinzipiell zwei Möglichkeiten: ===Ändern der Voreinstellungen=== Das zu verwendende Hintergrundbild wird in folgender Einstellungsdatei festgelegt und kann dementsprechend auch geändert werden: /Library/Preferences/com.apple.loginwindow Das kann in einem Editor der Wahl oder mit dem folgenden Befehl über das Terminal erfolgen: <syntaxhighlight lang="bash"> /usr/bin/defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture "/pfad/zum/neuen/bild.jpg" </syntaxhighlight> Um diese Änderung rückgängig zu machen, ist dann dasselbe mit dem ursprünglichen Bild aufzurufen: <syntaxhighlight lang="bash"> /usr/bin/defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture "/System/Library/CoreServices/DefaultDesktop.jpg" </syntaxhighlight> {{Information|1='''Achtung:''' Der Benutzer muss dazu Schreibrechte im Systemverzeichnis haben, d.h. den obigen Befehlen ist u.U. ein "{{TT|1={{Man|sudo|sudo}} }}" voranzustellen!}} ===Ersetzen der Datei=== Diese Datei ist einfach durch eine andere zu ersetzen, wobei die Zugriffsrechte der neuen Datei unbedingt angepasst werden müssen! Das kann entweder über den Info-Screen der Datei oder im Terminal erfolgen. Im {{Terminal}} sind dazu nacheinander folgende Befehle einzugeben (MYNEWPICTURE ist dabei durch den Pfad zum neuen Bild zu ersetzen): <syntaxhighlight lang="bash"> cd /System/Library/CoreServices mv DefaultDesktop.jpg DefaultDesktop.jpg.original cp MYNEWPICTURE /System/Library/CoreServices/DefaultDesktop.jpg % chown root:wheel /System/Library/CoreServices/DefaultDesktop.jpg % chmod 644 /System/Library/CoreServices/DefaultDesktop.jpg </syntaxhighlight> In neueren macOS Version wird dieser Pfad verwendet: /Library/Caches/Desktop Pictures/<UUID>/lockscreen.png wobei UUID durch die UUID des eigenen Benutzerkontos ersetzt werden muss. Diese kann in den Systemeinstellungen unter "Users & Groups" eingesehen werden, und zwar in den über einen secondary click (Rechtsklick) erreichbaren "Erweiterten Optionen" ("Advanced Options"). Es ist durchaus möglich, dass dieses Verzeichnis noch nicht existiert. Zum Erstellen werden jedoch Administrator-Rechte benötigt. {{Information|'''Achtung:''' Bei einem späteren Systemupdate kann diese Datei wieder durch die ursprüngliche Systemdatei überschrieben werden!}} ===Alternativen=== * [http://www.loginox.branox.com/ Loginox] (Freeware) a828911f4188c157393e6e66d2df820b10d19733 Development Quickies 0 27 1714 1690 2023-03-15T08:30:05Z Hagbard 2 wikitext text/x-wiki [[Category:Development]] In diesem Artikel findet sich eine Sammlung diverser Tips und Tricks zum Thema macOS-/iOS-Softwareentwicklung mit Xcode, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. == Xcode == === validate .strings files === The following terminal command only indicates whether or not the file is syntactically valid: plutil -lint /path/to/Localizable.strings Batch check of all .strings files within the current working directory: find . -name \*.strings -exec plutil -lint {} + == app extensions == === Things learned while writing WidgetKit app extensions === ;Multiple instances (sizes) of the same widget ... :... apparently run within the same runtime environment so avoid writing data from the configuration intent to some kind of singleton or static class since it will be overwritten by a second instance with a different configuration. But on the other hand don't rely on this data on being shared across widget instances. This seems to be an undocumented bejavior and may not always apply, and it might change in the future. ;Self-Updating widgets/High frequency updates : Some people suggest you should reload the timeline from within {{TT|getTimeline()}} by calling {{TT|WidgetCenter.shared.reloadAllTimelines()}} in order to achieve a higher update frequency of your extension. But doing this will drive up the cpu load, inevitably drain your battery and shorten the devices' life span in the process. So better avoid such dirty hacks and stick to the original plan for updating your widgets as laid out in Apple's documentation. Get used to the fact that high frequency updates of WidgetKit app extensions are simply not possible any more. Rather file a complaint with Apple, maybe they listen sooner or later and provide a proper mechanism for this specific use case. ;When your extensions write shared data to a shared resource: :[https://developer.apple.com/documentation/dispatch/dispatchsemaphore Make use of semaphores] when writing shared data to a shared resource such as a keychain or a user defaults store. You may run into race conditions when multiple instances of the same app extension can process or show different data, especially when they are configurable (i.e. have a configuration intent). They may have to write something in there simultaneously as they might receive an update trigger at the very same time and write operations on a shared keychain aren't always blazingly fast. === check if we're running within an extension === ;at compile-time Objective-C :<syntaxhighlight lang="objectivec"> #ifdef TARGET_IS_EXTENSION // this piece of code will only be compiled when building for app extension targets #endif </syntaxhighlight> ;at runtime Objective-C :<syntaxhighlight lang="objectivec"> if ([[[NSBundle mainBundle] bundlePath] hasSuffix:@".appex"]) { // this is an app extension } </syntaxhighlight> Swift :<syntaxhighlight lang="objectivec"> if Bundle.main.bundlePath.hasSuffix(".appex") { // this is an app extension } </syntaxhighlight>or<syntaxhighlight lang="objectivec"> if Bundle.main.bundleURL.pathExtension == "appex" { // this is an app extension } </syntaxhighlight> == Things to keep in mind == ===Foundation Framework=== <code>NSArray:indexOfObject:</code> returns 0 and NOT <code>NSNotFound</code> as you might have expected when the array is nil, so you better check that first: <syntaxhighlight lang="objectivec"> NSArray *array = nil; NSInteger index = [array indexOfObject:@"test"]; </syntaxhighlight> Tested on macOS Version 12.6 == Important Resources == === Interfaces === * [https://developer.apple.com/design/ Apple Design Guides] * [https://developer.apple.com/design/human-interface-guidelines/guidelines/overview Apple Interface Guidelines] === Guidelines for Authentication Services=== * Sign in with Apple: [https://developer.apple.com/sign-in-with-apple/ Overview], [https://developer.apple.com/design/human-interface-guidelines/technologies/sign-in-with-apple/ Technical Guidelines], [https://developer.apple.com/design/resources/ Apple Design Resources] * Google: [https://developers.google.com/identity/branding-guidelines Sign-In Branding Guidelines] * Meta User Design Guidelines: [https://developers.facebook.com/docs/facebook-login/userexperience/#buttondesign Facebook Login Button], [https://about.meta.com/brand/resources/facebookapp/logo/ Facebook Logo] b2dc557c2660227226b8752201650f6d4f53afcc 1715 1714 2023-03-15T08:30:39Z Hagbard 2 wikitext text/x-wiki [[Category:Development]] In diesem Artikel findet sich eine Sammlung diverser Tips und Tricks zum Thema macOS-/iOS-Softwareentwicklung mit Xcode, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. == Xcode == === validate .strings files === The following terminal command only indicates whether or not the file is syntactically valid: plutil -lint /path/to/Localizable.strings Batch check of all .strings files within the current working directory: find . -name \*.strings -exec plutil -lint {} + == app extensions == === Things learned while writing WidgetKit app extensions === ;Multiple instances (sizes) of the same widget ... :... apparently run within the same runtime environment so avoid writing data from the configuration intent to some kind of singleton or static class since it will be overwritten by a second instance with a different configuration. But on the other hand don't rely on this data on being shared across widget instances. This seems to be an undocumented bejavior and may not always apply, and it might change in the future. ;Self-Updating widgets/High frequency updates : Some people suggest you should reload the timeline from within {{TT|getTimeline()}} by calling {{TT|WidgetCenter.shared.reloadAllTimelines()}} in order to achieve a higher update frequency of your extension. But doing this will drive up the cpu load, inevitably drain your battery and shorten the devices' life span in the process. So better avoid such dirty hacks and stick to the original plan for updating your widgets as laid out in Apple's documentation. Get used to the fact that high frequency updates of WidgetKit app extensions are simply not possible any more. Rather file a complaint with Apple, maybe they listen sooner or later and provide a proper mechanism for this specific use case. ;When your extensions write shared data to a shared resource: :[https://developer.apple.com/documentation/dispatch/dispatchsemaphore Make use of semaphores] when writing shared data to a shared resource such as a keychain or a user defaults store. You may run into race conditions when multiple instances of the same app extension can process or show different data, especially when they are configurable (i.e. have a configuration intent). They may have to write something in there simultaneously as they might receive an update trigger at the very same time and write operations on a shared keychain aren't always blazingly fast. === check if we're running within an extension === ;at compile-time Objective-C :<syntaxhighlight lang="objectivec"> #ifdef TARGET_IS_EXTENSION // this piece of code will only be compiled when building for app extension targets #endif </syntaxhighlight> ;at runtime Objective-C :<syntaxhighlight lang="objectivec"> if ([[[NSBundle mainBundle] bundlePath] hasSuffix:@".appex"]) { // this is an app extension } </syntaxhighlight> Swift :<syntaxhighlight lang="swift"> if Bundle.main.bundlePath.hasSuffix(".appex") { // this is an app extension } </syntaxhighlight>or<syntaxhighlight lang="swift"> if Bundle.main.bundleURL.pathExtension == "appex" { // this is an app extension } </syntaxhighlight> == Things to keep in mind == ===Foundation Framework=== <code>NSArray:indexOfObject:</code> returns 0 and NOT <code>NSNotFound</code> as you might have expected when the array is nil, so you better check that first: <syntaxhighlight lang="objectivec"> NSArray *array = nil; NSInteger index = [array indexOfObject:@"test"]; </syntaxhighlight> Tested on macOS Version 12.6 == Important Resources == === Interfaces === * [https://developer.apple.com/design/ Apple Design Guides] * [https://developer.apple.com/design/human-interface-guidelines/guidelines/overview Apple Interface Guidelines] === Guidelines for Authentication Services=== * Sign in with Apple: [https://developer.apple.com/sign-in-with-apple/ Overview], [https://developer.apple.com/design/human-interface-guidelines/technologies/sign-in-with-apple/ Technical Guidelines], [https://developer.apple.com/design/resources/ Apple Design Resources] * Google: [https://developers.google.com/identity/branding-guidelines Sign-In Branding Guidelines] * Meta User Design Guidelines: [https://developers.facebook.com/docs/facebook-login/userexperience/#buttondesign Facebook Login Button], [https://about.meta.com/brand/resources/facebookapp/logo/ Facebook Logo] 43c640523650fe6982ce2259e6e222c6de8150ad Hidden Features/Dock 0 331 1716 1692 2023-03-15T08:31:02Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]][[Category:OS]][[Category:Verify]][[Category:Translate]] Im Folgenden eine kleine Übersicht verschiedener versteckter Funktionen für das OS X Dock: ==Undokumentierte Funktionen== {| |-- ! Optionsname || Datentyp || Beschreibung |-- | {{TT|contents-immutable}} || boolean || Docksymbole können nicht mehr verändert werden |-- | style="min-width:200px;" | {{TT|double-tap-jump-back}} || boolean || [[Schnellen Wechsel zum zuletzt verwendeten Space aktivieren]] |-- | {{TT|mouse-over-hilite-stack}} || boolean || Fächerdarstellung mit einem mouse-over-Effekt versehen |-- | {{TT|no-glass}} || boolean || immer ein zweidimensionales Dock anzeigen (ohne Spiegelungseffekte) |-- | {{TT|pinning}} || string || Dock rechts- oder linksbündig anzeigen.<br />Gültige Werte: {{TT|start}} (linksbündig) oder {{TT|end}} (rechtsbündig)<br />Beispiel: {{TT|defaults write com.apple.dock pinning -string start}} |-- | {{TT|position-immutable}} || boolean || Positionsänderungen des (gesamten) Dock verhindern |-- | {{TT|showhidden}} || boolean || ausgeblendete Programme im Dock transparent darstellen |-- | {{TT|showshadow}} || boolean || Schlagschatten unter OS X 10.9 deaktivieren |-- | {{TT|single-app}} || boolean || "Single-App" Modus aktivieren (es wird immer nur das jeweils aktive Programm angezeigt) |-- | {{TT|static-only}} || boolean || Nur laufende Programme im Dock anzeigen |} ==Leerstellen in Dock einfügen== Um etwas mehr Ordnung ins Dock zu bekommen, kann man mit Hilfe folgender Anweisung einzelne Leerstellen in Dock einfügen, die sich dann anschließend wie "normale" Docksymbole verschieben und auch wieder daraus entfernen lassen: <syntaxhighlight lang="bash"> defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}' </syntaxhighlight> Wirksam wird diese Änderung erst nach einem Neustart des Dock oder einer erneuten Anmeldung: <syntaxhighlight lang="bash"> killall Dock </syntaxhighlight> ==Hinweise== Nach dem Durchführen einer Änderung ist jeweils folgende Anweisung im Terminal auszuführen, um diese wirksam werden zu lassen: killall Dock Boole'sche Werte werden dabei wie folgt aktiviert: defaults write com.apple.dock <optionsname> -bool TRUE bzw. zum Deaktivieren einer Funktion entsprechend defaults write com.apple.dock <optionsname> -bool FALSE Stringwerte sind der untenstehenden Tabelle zu entnehmen und wie folgt einzugeben: defaults write com.apple.dock <optionsname> -string <wert_aus_der_tabelle> Mit folgender Anweisung (der entsprechende Optionsname ist hier einzusetzen) wird eine zuvor aktivierte Funktion wieder deaktiviert bzw. in den Ursprungszustand (system default) zurückversetzt: defaults delete com.apple.dock <optionsname> e901e130db6ecfaaf046f112ca1dc8d6895e3520 IPhone Quickies 0 81 1717 1695 2023-03-15T08:31:21Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]][[Category:Verify]]__TOC__ Hier finden sich ein paar (hoffentlich) hilfreiche Tipps & Tricks für den Fall, dass das iPhone zickt, der iPod touch nicht mehr starten will oder beim Jailbreak/Unlock irgendetwas schiefgelaufen ist. ==Synchronisieren== === Apps werden nicht mehr synchronisiert === In diesem Fall hat (falls ein Neustart des iPhone nicht hilft und man nicht gleich das iPhone zurücksetzen will) schon häufiger (allerdings leider nicht immer) die folgende Vorgehensweise geholfen: # Den aktuellen Computer vom iTunes Store abmelden (Menü "Store" > "Diesen Computer deaktivieren ...") # iPhone in iTunes auswerfen und abklemmen # iTunes beenden # Im (versteckten Verzeichnis) {{TT|/Users/Shared/SC Info/}} die beiden dort enthaltenen (ebenfalls versteckten) Dateien {{TT|SC Info.sidb}} und {{TT|SC Info.sidd}} löschen, entweder über das {{Terminal}} oder über die Anzeige versteckter Dateien im Finder, z.B. via [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool] # iTunes erneut beenden und neu starten # Computer wieder aktivieren (Menü "Store" > "Diesen Computer aktivieren ...") # iTunes neu starten und iPhone anschließen Unter Windows müssten sich die genannten Dateien in folgendem Verzeichnis befinden (Vista bzw. XP): :{{TT|C:\ProgramData\Apple Computer\iTunes\SC Info\}} :{{TT|C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Apple Computer\iTunes\SC Info}} ==Starten und Neustarten== [[Bild:IPhone_im_Recovery_Mode.png|thumb|100px|right|iPhone im [[IPhone_Quickies#Recovery_Mode|Recovery Mode]]]] ===Recovery Mode=== # Gerät vom Mac trennen und ausschalten # Home-Button drücken und gedrückt halten # Währenddessen das Gerät mit dem Mac verbinden # Den Home Button erst loslassen, wenn das iTunes-Icon mit einem USB-Stecker auf dem Display erscheint (siehe Abb. rechts) Anschließend sollte iTunes dann das Gerät im Wartungsmodus erkennen. Den Recovery Mode kann man mit einem [[#Reboot/Reset|Reset]] wieder verlassen (s.u.) ===DFU-Mode=== Den DFU-Mode startet man wie folgt, eine idiotensichere Anleitung bietet das Programm [[google:Pwnage|Pwnage]] (eigentlich für Jailbreaks gedacht): # Gerät ausschalten # das Gerät mit dem Computer verbinden und iTunes starten # die Tasten "Home" und "Sleep" (bzw. Power an der Oberseite) zusammen drücken # ca. 10 Sekunden lang gedrückt halten # danach (NUR) den Sleep/Power Button loslassen # den Home Button weitere 5 Sekunden gedrückt halten # Loslassen, sobald iTunes das Gerät im Wartungsmodus erkennt (der Bildschirm bleibt hier im Gegensatz zum [[#Recovery Mode| Recovery Mode]] schwarz). Den DFU-Mode kann man mit einem [[#Reboot/Reset|Reset]] wieder verlassen (s.u.) ===Reboot/Reset=== Um das Gerät nach einem Freeze (oder wenn man es aus Versehen in den DFU-Mode gestartet hat) neu zu booten, ist Folgendes zu tun: # die Tasten "Home" und "Sleep" (bzw. Power an der Oberseite) zusammen drücken # ca. 10 Sekunden lang gedrückt halten bis das Gerät neu startet (bzw. das Apple Logo sichtbar wird) # Dann erst loslassen Wenn dann das Apple-Logo im Display erscheint, war die Operation erfolgreich und das Gerät wird neu gestartet. ==Fehlerbehebung== === Geräte werden nicht mehr erkannt === Dies passiert hin und wieder nach der Installation einer neuen iTunes Version, in diesem Fall werden die Geräte dann auch in allen anderen Programmen (Xcode, iPhone Configuration Utility, ...) nicht mehr erkannt. Hierbei hilft nur eine (vollständige!) Neuinstallation von iTunes, wofür folgende Schritte durchzuführen sind: # Folgende Dateien löschen:<syntaxhighlight lang="bash">/Applications/iTunes.app /System/Library/Extensions/AppleMobileDevice.kext /Library/Receipts/AppleMobileDeviceSupport.pkg</syntaxhighlight></div> # Mac neu starten # ggf. Papierkorb leeren # iTunes erneut installieren === iPhone bootet nur bis zum Apple-Logo === Wenn das iPhone nur bis zum Apple Logo bootet, dann hängenbleibt und auch nach einem [[#Reboot/Reset|Reset]] nicht weiter kommt, hilft normalerweise folgende Vorgehensweise: # iTunes starten und iPhone an den Mac anschliessen # iPhone ausschalten und wieder einschalten, danach mindestens 15 Minuten warten -> Rechner und iPhone in dieser Zeit nicht anfassen! Alternativ: # iPhone gewaltsam in den [[#DFU-Mode|DFU-Mode]] booten # an den Mac anschließen und warten, bis iTunes das iPhone im Wartungsmodus erkennt # iPhone Firmware in iTunes wiederherstellen (Vorsicht bei gejailbreaktem iPhone 3G(S))! ===Keine Netzverbindung=== Falls es Probleme mit der Netzverbindung (kein Service über GSM, EDGE oder 3G/UMTS) gibt, können die folgenden Tipps möglicherweise helfen: * Am iPhone: Zurücksetzen der Netzwerkeinstellungen (Einstellungen > Zurücksetzen > Netzwerkeinstellungen) * Einen [[#Reboot/Reset|Reset]] durchführen (s.o.) * Am iPhone: Das Gerät zurücksetzen (Einstellungen > Zurücksetzen > Einstellungen; Achtung: NICHT "Inhalte und Einstellungen"! Dadurch werden alle Daten und alle installierten Apps gelöscht!) * Am iPhone: SIM-Karte überprüfen (richtig eingelegt? Karte reinigen, evtl. mit einer andere Karte testen) * iPhone im [[#DFU-Mode|DFU-Mode]] starten und wiederherstellen (s.o.) * Flugmodus aktivieren und ca. 30 Sekunden aktiviert lassen, anschließend den Flugmodus wieder deaktivieren * iPhone im Flugmodus neu starten * Mobileconfig neu installieren ===iPhone lässt sich nicht mehr einschalten=== Wenn das iPhone tiefentladen war und es sich infolgedessen nicht mehr einschalten lässt und auch nicht mehr vom Computer erkannt wird (wenn man die Akkuwarnungen ignoriert und solange wartet, bis das iPhone sich von selbst ausschaltet, kann das passieren), hat vielen iPhone Nutzern bereits folgende Vorgehensweise geholfen (u.U. muss dazu vorher die SIM-Karte entfernt werden, manchmal sind auch nicht alle Schritte notwendig): # USB-Verbindung trennen (Gerät/Netzteil/Dock/etc.) # Power- und Home-Buttons gleichzeitig 10 Sekunden gedrückt halten # Power-Button loslassen und den Home-Button weitere 10 Sekunden gedrückt halten # USB-Kabel einstecken, iTunes sollte nun das iPhone im Recovery Modus erkennen (falls nicht, Schritte 1-3 nochmals versuchen und ggf. die SIM-Karte entfernen) # [http://code.google.com/p/independence/ Independence] starten, um das iPhone aus dem Recovery Modus zu holen ('''keinen Restore''' mit iTunes machen, das ist nicht notwendig!) In [[User:Hagbard|meinem]] Fall schaltete sich das Gerät bereits bei Schritt 3 wieder ein und startete ordnungsgemäß, das Display sollte also währenddessen laufend beobachtet werden. ===Gerät verlässt den Recovery Mode nicht=== Falls das Gerät beim Neustart (z.B. nach einem Fehlgeschlagenen Restore-Versuch) immer im Wartungszustand landet, kann [http://thefirmwareumbrella.blogspot.com/ TinyUmbrella] Abhilfe schaffen. Dort werden alle Geräte im Wartungszustand unter "Recovery Devices" gelistet, denen man mit einem Klick aus selbigem heraushelfen kann (dort kann man auch Geräte in den Wartungszustand versetzen). ==Telefon-Codes== Folgende Codes einfach in der Telefon-App eingeben und "anrufen": {| |-- style="background-color:#e2e2e2;" | style="width:140px;" | Nummer || Funktion |-- | {{TT|*135#}} || Zeigt die eigene Telefonnummer an |-- | {{TT|*#5005*7672#}} || Zeigt die aktuell verwendete [[wikipedia:de:Short Message Service Centre|SMSC]]-Nummer des iPhones an |-- | {{TT|*3001#12345#*}} || Aktiviert den "Field Test Mode" (ab iOS 4.0) und zeigt die Signalstärke an (zur Fehleranalyse) |-- | {{TT|*#06#}} || Zeigt die [[wikipedia:de:International Mobile Equipment Identity|IMEI]] des iPhones an (z.B. für die Idenfikation bei Diebstahl) |-- | {{TT|*646#}} || Zeigt das aktuelle Gesprächsaufkommen an (muss vom Carrier unterstützt werden) |-- | {{TT|##002#}} || Löscht alle Rufumleitungen inklusive der Weiterleitungen zur Mailbox |} Weitere Codes sind [http://www.iphone-tipps.de/die-apple-iphone-codes/ hier zu finden] ==Informationen der Seriennummer== Einige Stellen der Seriennummer haben eine best. Bedeutung: ;1./2. Stelle :Werk, in dem das Gerät hergestellt wurde (z.B. 84/88 = Shenzhen/China, V5/83/87/9C = China) ;3. Stelle :Herstellungsjahr (8 = 2008, 9 = 2009, 0 = 2010, 1 = 2011 usw.) ;4./5. Stelle :Kalenderwoche der Herstellung ;6.-11. Stelle: :Entweder #xxxx# oder xxxxx# (zur Identifikation des Gerätes) ;Beispiel :88105xxxxxx = Shenzhen/China, 5. Kalenderwoche 2011 (31.1. - 6.2.2011) Eine vollständige Analys der Seriennummer gibt es beispielsweise [http://www.chipmunk.nl/klantenservice/applemodel.html hier] ==Weitere Informationen== * [http://www.macbug.de/2008/02/02/iphone-unterschied-zwischen-dfu-mode-und-restore-mode-anleitung/ Unterschied zwischen DFU Mode und Recovery Mode] * [http://www.apfeltalk.de/forum/iphone-1-hilfe-t229596.html Erste Hilfe Tricks] (apfeltalk.de) * The iPhone Wiki: [http://theiphonewiki.com/wiki/index.php?title=ITunes_Errors iTunes Errors] * Apple: [http://support.apple.com/kb/TS1275?viewlocale=de_DE iOS: Warnmeldungen bei Aktualisierung und Wiederherstellung] (auf [http://support.apple.com/kb/TS1275 englisch]) * Apple: [http://support.apple.com/kb/ts1424?viewlocale=de_DE&locale=de_DE iTunes: Mögliche iTunes Store Fehler] (auf [http://support.apple.com/kb/ts1424 englisch]) == iPhone Tools== ;Allgemeine Tools * [http://supercrazyawesome.com/downloads/iPhone%20Backup%20Extractor.app.zip iPhone Backup Extractor] Downloadlink * [http://www.iphone-explorer.com/ iPhone Explorer] ;PNG-Dateien * [http://atpeek.download.atpurpose.com/PngUncrush.zip PngUncrush] ([[QuickLook]] Plugin) * David Watanabe: [http://www.newsfirex.com/blog/?p=176 iPhone .png Decoding] (Terminal) 0e88a836b1c23a8e09c864a7a73898bfc914b063 Google Programme ohne Updater nutzen 0 71 1720 1691 2023-03-15T08:32:30Z Hagbard 2 wikitext text/x-wiki [[Category:App]][[Category:App]][[Category:Translate]]Bei der Installation von Google Software wie beispielsweise Google Earth oder Chrome wird der Nutzer mittlerweile gezwungen (oder erst gar nicht gefragt), den Google Updater auf der Festplatte zu dulden was nicht unbedingt jeder bereit ist zu tun. Wenn man dies in rechts abgebildetem Dialog ablehnt, lässt sich das Programm nicht nutzen und beendet sich sofort wieder. Eine nachträgliche Deinstallation des Google Updater ist auch keine Lösung, da dieser bei jedem Start von Google Earth (und vermutlich auch bei anderen Google Programmen) erneut installiert wird. Zusätzlich wird bereits vor der Installation noch mit [https://www.keyhole.com {{TT|keyhole.com:443}}] kommuniziert, vermutlich zwecks Updates des Google Updaters. Der einzig wirksame Weg ist also, den Updater innerhalb des Application Bundle "{{TT|Google Earth.app}}" zu eliminieren, damit dieser erst gar nicht installiert wird. ==Google Earth== Dazu im Finder das Bundle rechtsklicken und via "Paketinhalt zeigen" dessen Inhalt anzeigen. In folgendem Unterverzeichnis findet sich nun der Updater: Contents/Frameworks/KeystoneRegistration.framework/Resources/ Der Inhalt des Archivs {{TT|Keystone.tbz}}: GoogleSoftwareUpdate.bundle Theoretisch dürfte es auch genügen, das Installationsskript "{{TT|install.py}}" im selben Verzeichnis entsprechend zu modifizieren, damit eine Installation nicht erfolgt. '''Das Löschen des Archivs {{TT|Keystone.tbz}}''' bewirkt letztendlich dasselbe und ist vermutlich die sicherere Variante. Je ein weiteres Exemplar befindet sich an folgenden Orten innerhalb des Application Bundle, diese werden jedoch scheinbar nicht für die Installation verwendet: Contents/Frameworks/KeystoneRegistration.framework/Versions/Current/Resources Contents/Frameworks/KeystoneRegistration.framework/Versions/A/Resources ==Google Chrome== Bei Google Chrome ist das Vorgehen dasselbe, der Pfad relativ zum Application Bundle ist jedoch ein anderer: <syntaxhighlight lang="bash">Contents/Versions/<Chrome Versionsnummer>/Google\ Chrome\ Framework.framework/Frameworks/KeystoneRegistration.framework/Resources/</syntaxhighlight> Also beispielsweise <syntaxhighlight lang="bash">Contents/Versions/16.0.912.75/Google\ Chrome\ Framework.framework/Frameworks/KeystoneRegistration.framework/Resources/</syntaxhighlight> ==Siehe auch== * [[Google Updater deinstallieren]] e495a1019f7faa540002054072a1e5de99b68a44 Template:Manl 10 343 1724 2023-03-15T08:36:47Z Hagbard 2 Created page with "<noinclude>Vorlage zur Erzeugung eines Links zum Debian [https://manpages.debian.org/ Manpage-Browser.] OHNE Icon. Für einen Link mit Icon ist die Vorlage [[Template:Man|Man]] zu verwenden. ;Verwendungsbeispiel <nowiki>{{Manl|vi}}</nowiki> </noinclude><includeonly>[https://manpages.debian.org/jump?q={{{1}}}}} {{{2}}}]</includeonly>" wikitext text/x-wiki <noinclude>Vorlage zur Erzeugung eines Links zum Debian [https://manpages.debian.org/ Manpage-Browser.] OHNE Icon. Für einen Link mit Icon ist die Vorlage [[Template:Man|Man]] zu verwenden. ;Verwendungsbeispiel <nowiki>{{Manl|vi}}</nowiki> </noinclude><includeonly>[https://manpages.debian.org/jump?q={{{1}}}}} {{{2}}}]</includeonly> 827b1bd8c95086793ec64082f2b162088c2a74b5 TeX Links 0 326 1728 1641 2023-03-15T08:54:37Z Hagbard 2 wikitext text/x-wiki [[Category:TeX]] =Interessante TeX Links= ==TeX Allgemein== * [http://www.dante.de DANTE e.V.] - deutschsprachige Anwendervereinigung TeX * [http://www.ctan.org/ CTAN] - the Comprehensive TeX Archive Network * [http://unimac.switch.ch/students/latex.de.html LaTeX (für MacOS X)] ===Einführungen und Tutorials=== * Wikibooks: [[wikibooks:LaTeX|LaTeX]] - A guide to the LaTeX markup language (engl.) * [http://www.sbg.ac.at/psy/latex/index.htm Kurzübersicht] zur grundlegenden LaTeX Benutzung ([http://www.uni-salzburg.at Universität Salzburg]) * [[Wikipedia:de:Wikipedia:TeX|Syntax Kurzübersicht]] der [[Wikipedia:de:Hauptseite|Wikipedia]] (de) * LaTeX [http://www.weinelt.de/latex/index.html Befehlsübersicht] * [http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/teTeX/latex/latex2e-html/ltx-2.html LaTeX-Referenz] der [http://www.cam.ac.uk/ University of Cambridge] * [http://www.meta-x.de/faq/LaTeX-Einfuehrung.html Einführung] in LaTeX * noch eine [http://www.fh-wedel.de/~kn/latex/ LaTeX Einführung] (FH Wedel) * [http://linuxgazette.net/issue74/spiel.html kurze Einführung] ([http://linuxgazette.net Linux Gazette]) * [http://www.dante.de dante.de]: deutsche [http://www.dante.de/faq/de-tex-faq/html/ TeX-FAQ] ===Themenspezifische HowTos=== * [http://sites.inka.de/picasso/latex.html Grafiken in LaTeX] ===Linksammlungen und Portale=== * [http://tug.org/TeXnik/mainFAQ.cgi?file=docs TeXnik] Web Site * LaTeX [http://www.informatik.uni-freiburg.de/~diesch/tex.html Linksammlung] (Uni Freiburg) ===Weiterführende Literatur=== * O'Reilly - [http://makingtexwork.sourceforge.net/mtw/ Making TeX Work] (O'Reilly [http://www.oreilly.com/openbook OpenBook])<br />ISBN 156592-051-1 (out of print) <br />als Download verfügbar auf der [http://sourceforge.net/projects/makingtexwork Sourceforge-Seite] (Version 1.0.1, HTML) ==TeX Pakete== ===bibtex=== * [[Wikipedia:de:BibTeX|Wikipedia Artikel]] über BibTeX * [http://de.wikipedia.org/wiki/BibTeX How To Use BibTeX] * etwas ausführlichere [http://www.ecst.csuchico.edu/~jacobsd/bib/formats/bibtex.html Beschreibung von BibTeX] ===pdftex=== * [http://www.pdftex.org offizielle Webseite] ([http://freshmeat.net/projects/pdftex/ FreshMeat Projektseite]) * [http://www.tug.org/applications/hyperref/manual.html hyperref Manual] * Adobe [http://partners.adobe.com/public/developer/pdf/index_reference.html PDF Reference] * Übersicht [http://sarovar.org/docman/view.php/106/67/pdftex-syntax.txt pdftex Syntax] ===listings=== * [http://www.atscire.de/products/listings/ offizielle Webseite] ===MakeIndex=== MakeIndex ist ein allgemein anwendbarer Indexprozessor für TeX, Informationen dazu gibts unter ... * Anleitung "[http://www1.ku-eichstaett.de/urz/schriften/makeidx.pdf Sachregister erstellen mit LaTeX]" (PDF) * [http://www.lrz-muenchen.de/services/software/textverarbeitung/makeindex/ HowTo] für die Indexerstellung mit LaTeX * [http://www.jr-x.de/publikationen/latex/tipps/verzeichnisse.html Verwendung des Paketes Index] zur Indexerstellung ===KOMA-Script=== * [http://www.komascript.de offizielle deutschsprachige Seite] (siehe auch [http://www.dante.de Dante e.V.]) ==Programme== ===plattformübergreifend=== * [http://www.lyx.org/ LyX] - plattformübergreifender [[Wikipedia:de:WYSIWYM|WYSIWYM]] TeX Editor (Unix, Linux, Windows (QT/Win), MacOS X (QT/Mac), OS/2 (Xfree86)) ** [http://www.linuxfocus.org/Deutsch/March1998/article31.html Einführung in LyX] ([http://www.linuxfocus.org linuxfocus.org]) ** LyX [http://wiki.lyx.org/ Wiki] * [http://www.jabref.org/ JabRef] - bibtex Editor für die Bearbeitung einer Literaturdatenbank (JAVA) === MacOS X=== * [[wikipedia:TeXShop|TeXShop]] - umfangreiche LaTeX Arbeitsumgebung * [[wikipedia:BibDesk|BibDesk]] - bibtex Editor für die Bearbeitung einer Literaturdatenbank ===Linux=== ===Windows=== * [http://www.texniccenter.org/ TeXnicCenter] - umfangreiche LaTeX Arbeitsumgebung ([http://sourceforge.net/projeces/texniccenter SourceForge]) fe7a4bedff6f8aaf1c28a6f43ea82c33129ae391 Quartz Ressourcen 0 311 1729 1611 2023-03-15T08:54:54Z Hagbard 2 wikitext text/x-wiki [[Category:Development]]Quartz ist die Grafikschicht des Apple Betriebssystemes [[:Category:OS|Mac OS X]]. Bei Quartz handelt es sich um eine Render-Bibliothek für 2D- und 3D-Grafiken, die das grundlegende Darstellungsmodell für Mac OS X bildet. Aufbauend auf dem plattformübergreifenden PDF-Standard (Portable Document Format), kann Quartz 2D hochwertige Texte und Grafiken mit Kantenglättung anzeigen und ausdrucken und bietet Unterstützung für OpenType-, PostScript- und TrueType-Zeichensätze ([[wikipedia:de:Quartz|mehr ...]]) Im folgenden ein paar gesammelte Links zu interessanten Informationen im Web rund um das Thema Quartz und Quartz Extreme. ===Quartz Bibliothek=== * [[wikipedia:de:Quartz|Quartz]] in der Wikipedia ([[wikipedia:en:Quartz_(graphics_layer)|engl.]]) * ADC: [[ADC:graphicsimaging/quartz/|Graphics & Imaging - Quartz]] * Apple: [http://developer.apple.com/documentation/MacOSX/Conceptual/SystemOverview/SystemArchitecture/chapter_3_section_4.html Übersicht für Entwickler] ===Quartz Extreme=== * [http://www.quartzcompositions.com/ quartzcompositions.com] * [http://www.quartzcompositions.com/phpBB2/mediawiki/index.php/Main_Page QuartzComposer Wiki] obiger Seite ==Siehe auch== * [[wikipedia:de:Core_Animation|Core Animation]] in der Wikipedia ([[wikipedia:en:Core_Animation|engl.]]) * ADC: [[ADC:documentation/Cocoa/Conceptual/CoreAnimation_guide/index.html|Introduction to Core Animation Programming]] 7c0816057f108dcc94bbb031ebafc04f078a1001 PHP Security 0 163 1730 1191 2023-03-15T08:55:58Z Hagbard 2 wikitext text/x-wiki [[Category:Development]][[Category:Security]][[Category:Verify]][[Category:Update]]In diesem Artikel sollen Möglichkeiten vorgestellt Werden, PHP gegen Angriffe abzusichern. Dabei sollen neben einigen Konfigurationstipps auch auf Erweiterungen wie mod-Security, FASTCGI oder suexec vorgestellt und beschrieben werden. ==Konfigurationsdateien== PHP-Direktiven lassen sich prinzipiell auf 2 verschiedenen Wegen einstellen: * in der Konfigurationsdatei {{tt|php.ini}} * in einer {{tt|.htaccess}} Datei mit Hilfe der PHP Apache-Direktiven ===php.ini=== Es existieren üblicherweise verschiedene Exemplare der Datei {{tt|php.ini}} für verschiedene Einsatzzwecke, hier am Beispiel eines Debian-Systems: {|style="margin-top:10px; margin-bottom:10px; margin-left:10px;" |-- |bgcolor="#e2e2e2"|Ort||bgcolor="#e2e2e2"|Zweck |-- |{{tt|/etc/php.ini }} ||Globale Konfiguration |-- |{{tt|/etc/php4/apache/php.ini }} ||Konfiguration für das Apache-PHP-Modul |-- |{{tt|/etc/php4/cgi/php.ini }} ||Konfiguration für den CGI-Betrieb im Apache |-- |{{tt|/etc/php4/cli/php.ini }} ||Konfiguration für die Nutzung in Shell-Skripten |} Unter Mac OS X existiert in der Standardinstallation lediglich die folgende Datei: /private/etc/php.ini ===.htaccess=== Einige (nicht alle!) Konfigurationsdirektiven lassen sich auch innerhalb der sog. ".htaccess" Dateien verwenden. Das ermöglicht beispielsweise unterschiedliche Einstellungen für einzelne VirtualHosts oder Verzeichnisse - so sind Produktivinstallationen anders (wesentlich restriktiver) zu konfigurieren als Entwicklungssysteme. Weitere Informationen zur Verwendung von .htaccess Dateien sind in den [[#Weitere_Informationen|am Ende des Artikels verlinkten Seiten]] nachzulesen. ===Wichtige Einstellungen=== {|style="margin-top:10px; margin-bottom:10px; margin-left:10px;" |-- |bgcolor="#e2e2e2" width="220px" |Direktive||bgcolor="#e2e2e2" width="120px" |Wert||bgcolor="#e2e2e2"|Beschreibung |-- |{{tt|php_flag register_globals}}||off||EGPCS Variablen sind nicht mehr global zugänglich bzw. als globale Variablen registriert (EGPCS = Environment/Umgebung, GET, POST, Cookie, Server) |-- |{{tt|php_flag display_errors}}||off||Fehlermeldungen nicht im Client (Browser) darstellen |-- |{{tt|php_flag log_errors}}||on||Fehlermeldungen in ein Logfile schreiben |-- |{{tt|php_flag error_log}} ||$PFADANGABE||Pfadangabe für das Logfile, z.B. {{tt|/home/web/logs/php4.log}} |-- | || syslog || Fehlermeldungen werden durch syslogd protokolliert |} ==PHP safe mode== Der sog. "safe mode" von PHP dient in erster Linie dazu, Sicherheitsprobleme durch Dateizugriffe bei gemeinsam genutzten Server (sog. "shared server", wie sie beispielsweise bei handelsüblichen Web-Hosting Angeboten zum Einsatz kommen) zu verhindern. Sprich: Kunde A soll nicht auf die Dateien und Verzeichnisse des Kunden B zugreifen können. Anschließend überprüft der PHP-Parser, ob der Eigentümer der Datei identisch mit dem Benutzer ist, der das Skript aufruft. Außerdem ist im safe mode der Zugriff auf [http://de.php.net/manual/de/reserved.variables.php Umgebungsvariablen] nur lesend möglich. Dieser Ansatz hat jedoch den großen Nachteil erhebliche Nebenwirkungen auf verschiedenste PHP-Funktionen zu besitzen. Eine Übersicht der dadurch eingeschränkten Funktionen ist [http://de.php.net/manual/de/features.safe-mode.php#features.safe-mode.functions im PHP Handbuch] nachzulesen. ===safe mode aktivieren=== Aktiviert und konfiguriert wird der PHP safe mode in der Konfigurationsdatei {{tt|php.ini}} durch die folgenden Direktiven: {| |-- |bgcolor="#e2e2e2" width="250px"|Direktive||bgcolor="#e2e2e2"|Beschreibung |-- |safe_mode = on || safe mode anhand eines Benutzers |-- |safe_mode_gid = 0||safe mode anhand der Gruppenzugehörigkeit (anstatt safe-mode zu verwenden, unter Angabe der Group-ID) |-- |safe_mode_include_dir = || Freigabe von Verzeichnissen für die PHP-Funktionen include() und require(). Mehrere Verzeichnisse werden durch Kommata getrennt, die Freigabe gilt dabei für die angegebenen Verzeichnisse inklusive allen darin enthaltenen Unterverzeichnissen. |-- |safe_mode_exec_dir = || Freigabe von Verzeichnissen für Systemaufrufe durch Funktionen wie system() oder exec() (Handhabung siehe safe_mode_include_dir) |-- |safe_mode_allowed_env_vars = PHP_ ||Freigabe von Umgebungsvariablen für schreibenden Zugriff. Ist der Wert leer, werden ALLE Umgebungsvariablen freigegeben! Mehrere Variablen/Präfixe werden durch Kommata voneinander getrennt. |-- |safe_mode_protected_env_vars = LD_LIBRARY_PATH ||Enthält eine Liste aller Umgeungsvariablen, die <u>nicht</u> mit der Funktion putenv() veränderbar sein sollen. '''Hinweis:''' die Angabe safe_mode_allowed_env_vars hebt diesen Schutz wieder auf! |-- |} ===safe mode abfragen=== Mit den folgenden Zeilen PHP-Code kann abgefragt werden, ob der safe mode aktiviert ist: <?php if ( ini_get('safe_mode') ) { // safe mode aktiviert } else { // safe mode nicht aktiviert } ===Dateizugriffe mit {{tt|open_basedir}} einschränken=== Eine weitere Möglichkeit alternativ zum safe mode, Dateizugriffe einzuschränken, ist der Einsatz der PHP Direktive open_basedir Im Rahmen der Apache-Konfiguration. Dadurch ist es möglich, für jeden Benutzer des Servers Dateizugriffsopertationen auf ein bestimmtes Verzeichnis (üblicherweise dessen Document Root) einzuschränken, z.B.: <Directory /home/web/user0815/> php_admin_value open_basedir /home/web/user0815/ </Directory> Durch folgenden Eintrag: disable_functions readfile,system in der Datei {{tt|php.ini}} kann zusätzlich der Zugriff durch die PHP Funktionen readfile() und system() verhindert werden (siehe folgender Abschnitt). ===Direktiven unabhängig von {{tt|safe_mode}}=== {| |-- |bgcolor="#e2e2e2" width="200px"|Direktive||bgcolor="#e2e2e2"|Beschreibung |-- |open_basedir = || Freigabe eines Verzeichnisses für Dateioperationen, wirksam für das Verzeichnis mit allen Unterverzeichnissen, unabhängig von der safe_mode Konfiguration. Bei Angabe eines Punktes "." wird der Speicherort des gerade ausgeführten Skriptes als basedir verwendet (sicherheitstechnisch bedenklich, da durch chdir() veränderbar). Kann durch die Angabe von {{tt|php_admin_value open_basedir none}} in der {{tt|httpd.conf}} deaktiviert werden. |-- |disable_functions = || Eine Liste von Funktionen, die (aus Sicherheitsgründen) nicht ausgeführt werden dürfen. Kann auch in der Datei {{tt|php.ini}} konfiguriert werden, nicht jedoch in der Datei {{tt|httpd.conf}} |-- |disable_classes = || Angabe einer Liste von Klassen, die (aus Sicherheitsgründen) nicht verwendet werden dürfen. Kann auch in der Datei {{tt|php.ini}} konfiguriert werden, nicht jedoch in der Datei {{tt|httpd.conf}} |} ==suexec, FastCGI und suPHP== ''... kommt noch ...'' Web-Links: * [http://www.suphp.org/ suPHP Projekt] (Ausführen von PHP Skripten mit den Rechten des Dateibesitzers) * [http://httpd.apache.org/docs/1.3/suexec.html suexec] (apache.org) * FastCGI: [http://www.fastcgi.com/ Projektseite], [[wikipedia:de:FastCGI|Wikipedia-Artikel]] ==Apache-Hardening mit mod_security== mod-Security ist eine [[wikipedia:de:Web_Application_Firewall|Applikationsfirewall]] in Form eines Apache-Moduls. Dabei kann anhand von Regeln - in denen auch [[wikipedia:de:Regulärer Ausdruck|reguläre Ausdrücke]] zum Einsatz kommen können - definiert werden, welche GET- und POST-Aufrufe<ref name="HTTPrequest">GET und POST sind verschiedene Methoden für [[wikipedia:de:Hypertext_Transfer_Protocol|HTTP]]-Anragen an einen Server</ref> "böse" sind und daher blockiert werden sollen. Diese Regeln werden dann direkt in die Apache-Konfiguration integriert und sehen beispielsweise so aus: <nowiki>SecFilter "drop[[:space:]]table"</nowiki> Obiger Eintrag blockiert also den String "drop table" und soll damit das Löschen einer Tabelle via [[wikipedia:de:SQL|SQL-Query]] verhindern. Mit diese Modul können also recht einfach verschiedene Ziele verfolgt werden: * Verminderung der Gefahr von SQL-Injection (Einfügen von Datenbankabfragen durch mangelhafte Überprüfung eingegebener Daten, z.B. in Formularen oder über die URL) * Abfangen von Systemaufrufen über fehlerhafte Skripte * Protokollierung sicherheitsrelevanter Vorfälle * Absichern des WebServers durch die "chroot"-Funktion von mod_security (Kapseln der Laufzeitumgebung des Webservers, um bei Angriffen Übergriffe auf die Systemumgebung zu verhindern) Außerdem bietet mod_security noch einige nette "Security-by-Obscurity" Funktionen wie beispielsweise das Ändern der Serversignatur: SecServerSignature "Microsoft-IIS/5.0" Der Einsatz von mod_security empfiehlt sich vor allem in den folgenden Fällen: * Software, die nur ungenügend getestet wurde * Software, die bekanntermaßen recht häufig Sicherheitslücken aufweist * Eigenentwicklungen (Jeder macht Fehler) mod_security bietet also einige wertvolle Funktionen zur Absicherung eines Webservers und der darin laufenden Applikationen, ohne gleich auf schwergewichtigere Lösungen wie [[wikipedia:de:Intrusion_Detection_System|IDS]] (Intrusion Detection System, z.B. [[wikipedia:de:Snort|Snort]]), [[wikipedia:de:Proxy|Proxies]] oder [[wikipedia:de:Application_Layer_Gateway|ALG]] (Application Level Gateway) setzen zu müssen. Weitere Informationen zu mod_security finden sich [[#mod_security|am Ende dieses Artikels]]. ==Verschiedene Tipps== ===PHP Skripte vor direkter Ausführung sichern=== Eine einfache Möglichkeit, das Ausführen von PHP-Skripten - und auch allgemein auch das Auslesen von durch PHP-Skripte eingebundene Dateien - durch direkte Adressierung im Browser zu verhindern, ist das Erstellen einer .htaccess-Datei mit dem folgenden Inhalt: order allow,deny deny from all Dadurch wird der direkte Zugriff auf die Dateien verhindert, Skripte können diese Dateien jedoch weiterhin problemlos einbinden und verwenden. ==Weitere Informationen== ===PHP Ressourcen=== * Artikel [[Webentwicklungs-Ressourcen]] hier im Wiki * [http://de.php.net/manual/de/ PHP Handbuch] (offizielles Handbuch) * Apple Developer Connection: [[ADC:internet/opensource/php.html|PHP on Mac OS X]] * O'Reilly [http://www.onlamp.com/php/ ONLamp.com/php]: PHP devcenter * [http://www.hardened-php.net/ Hardened-PHP Project] * [http://www.phpsec.org/ PHP Security Consortium] ===PHP Konfiguration=== * PHP Handbuch: [http://de.php.net/manual/de/security.php Teil IV. Sicherheit] * php.net: [http://de2.php.net/manual/de/print/configuration.php#configuration.file Informationen zur Konfiguration] * php.net: [http://de2.php.net/manual/de/print/ini.php Übersicht aller php.ini Direktiven] und [http://de2.php.net/manual/de/print/ini.core.php deren Beschreibung] * Securityfocus: [http://www.securityfocus.com/infocus/1706 Securing PHP Step-by-Step] * [http://phpsec.org/projects/phpsecinfo/ PHPSecInfo] - gibt analog zu {{tt|phpinfo()}} sicherheitsrelevante Informationen zur aktuellen PHP-Konfiguration aus. ===PHP safe mode=== * PHP Handbuch: [http://de.php.net/manual/de/features.safe-mode.php Kapitel 42. Safe Mode] * domainepublic.net: [http://doc.domainepublic.net/php/doc.php.court/ini.sect.safe-mode.html Konfigurationsübersicht] (Sécurité et Safe Mode) ===Apache Web Server=== * [http://httpd.apache.org Projektseite] des Apache Server Project * [http://de.selfhtml.org/servercgi/server/apache.htm Kleine Apache-Einführung] bei SelfHTML.org * Securityfocus: [http://www.securityfocus.com/infocus/1694 Securing Apache Step-by-Step] * Securityfocus: [http://www.securityfocus.com/infocus/1786 Securing Apache 2 Step-by-Step] ===.htaccess=== * [http://de.selfhtml.org/servercgi/server/htaccess.htm SelfHTML Artikel] zu .htaccess Dateien * [[wikipedia:de:Htaccess|Wikipedia-Artikel]] zum Thema * Beschreibung in der Apache Dokumentation, für [http://httpd.apache.org/docs/1.3/howto/htaccess.html Apache 1.3] und [http://httpd.apache.org/docs/2.0/howto/htaccess.html Apache 2] * Ken Coar: [http://apache-server.com/tutorials/ATusing-htaccess.html Using .htaccess Files with Apache] ===mod_security=== * [http://www.modsecurity.org/ Projektseite] * modsecurity.org: [http://www.modsecurity.org/documentation/quick-examples.html Quick examples] * Securityfocus: [http://www.securityfocus.com/infocus/1739 Web Security Appliance With Apache and mod_security] * O'Reilly [http://www.onlamp.com/ ONLamp.com]: ** [http://www.onlamp.com/pub/a/apache/2003/11/26/mod_security.html Introducing mod_security] ** [http://www.onlamp.com/pub/a/onlamp/2005/06/09/wss_security.html Securing Web Services with mod_security] * Fedora News: [http://fedoranews.org/jorge/mod_security/ HOWTO: Enhancing Apache with mod_security] ===PHPIDS=== * [http://php-ids.org/ Projektseite] * PHPIDS [http://groups.google.de/group/php-ids/ Google Group] * [http://www.heise.de/security/Erste-Schritte-mit-der-Einbruchserkennung-PHPIDS--/artikel/136032 Artikel auf heise security] vom 24.04.2009] * [http://www.net-developers.de/2009/05/23/phpids-intrusion-detection-system/ Weiterer Artikel auf net-developers.de] ===Weitere Themen=== * Securityfocus: [http://www.securityfocus.com/infocus/1726 Securing MySQL Step-by-Step] ===Bücher=== * '''PHP-Sicherheit. PHP/MySQL-Webanwendungen sicher programmieren'''<br />von Christopher Kunz, Peter Prochaska (Dpunkt Verlag), ISBN 3898643697<br />Buchtipp des [http://www.phpmagazin.de/itr/buchtipps/psecom,id,503,nodeid,63.html PHP-Magazins] ----- <references/> bf901b9dd23d7e941b6ad6248b1d96dba486585d MacOS absichern 0 190 1731 1232 2023-03-15T08:56:08Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Security]]Auch wenn das Mac OS X einen sehr guten Ruf hinsichtlich Sicherheit genießt, ist es dennoch ratsam, sich einige Gedanken zu diesem Thema zu machen. Schließlich ist bei einer Standardinstallation noch reichlich Optimierungspotential vorhanden, zumal das Betriebssystem dafür bereits recht umfangreiche Möglichkeiten mitbringt. Zudem ist auch zu erwarten, dass bei zunehmender Verbreitung des Mac OS auch das Gefahrenpotential durch Schadsoftware zunehmen und die Sicherheit auch auf dem Mac ein wichtiges und nicht zu unterschätzendes Thema sein wird. Die Artikelreihe "Mac OS X absichern" widmet sich daher diesem Thema, von der Betriebssystemkonfiguration bis hin zu Tipps und Tricks für die tägliche Nutzung. Die thematische Aufteilung der Unterartikel sieht dabei wie folgt aus: ----- {{Contentbox|width=100%|content=[[Image:Finder icon macOS Yosemite.png|128px|right]]<big>'''Teil 1: [[Mac_OS_X_absichern_-_Betriebssystemkonfiguration|Betriebssystemkonfiguration]]'''</big> :&nbsp; :Dieser Teil widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen.}} {{Contentbox|width=100%|content=[[Image:Crystal Project Connect to network.png|128px|right]]<big>'''Teil 2: Netzwerkkonfiguration und Firewall'''</big> :&nbsp; :Dieser Teil der Artikelreihe widmet sich unter anderem der Netzwerkkonfiguration. Außerdem wird auf die Konfiguration der Mac OS X Firewall ({{Man|ipfw|ipfw}}, eigentlich ein Paketfilter) ebenso eingegangen wie aif die sichere Einrichtung der verschiedenen Serverdienste wie SSH ("entfernte Anmeldung"), httpd ("Personal Web Sharing") und AFP ("Personal File Sharing").}} {{Contentbox|width=100%|content=[[Image:Gnome-dialog-password.svg|128px|right]]<big>'''Teil 3: Applikationen für die Systemsicherheit'''</big> :&nbsp; :In diesem Artikel geht es um die Nutzung und Konfiguration von Anwendungen für die Systemsicherheit. Das umfasst neben der laufenden System- und Anwendungsaktualisierung auch die Nutzung von Dritthersteller-Software. Auch wenn die Viren- und Wurmschwemme (noch) am Mac vorbeizieht, lohnt sich dennoch ein Blick auf die in diesem Bereich bereits verfügbare Software. }} {{Contentbox|width=100%|content=[[Image:Softies-icons-meter 256px.png|128px|right]]<big>'''Teil 4: Die alltägliche Nutzung'''</big> :&nbsp; :Hier sollen dem Anwender Hilfestellungen für die tägliche Arbeit am Mac gegeben werden. Gefahrenpotentiale werden aufgedeckt und bestimmte Verhaltensweisen für die sichere Nutzung beschrieben. Die dafür zu verwendenden Bordwerkzeuge des Betriebssystems werden dabei ebenso beschrieben wie wiederkehrende Aufgaben zur Bereinigung des Systems.}} {{Contentbox|width=100%|content=[[Image:Laptop icon.svg|128px|right]]<big>'''Teil 5: Sicher unterwegs - mobile Nutzung'''</big> :&nbsp; :In diesem Artikel geht es hauptsächlich um die mobile Nutzung, z.B. mit einem Notebook. Dabei sollen Möglichkeiten für Diebstahlsicherung und den Schutz der persönlichen Daten aufgezeigt werden, wofür auch zu diesem Zweck verfügbare Software vorgestellt wird.}} ----- Links zu Artikeln im Internet und anderen weiterführenden Informationen sind thematisch sortiert am Ende des jeweiligen Artikels im Abschnitt "Weitere Informationen" zu finden. Wünsche, Anregungen, Kritik und Fehlerhinweise sind wie immer willkommen und auf der Diskussionsseite des jeweiligen Artikels zu vermerken. Ich habe diese Artikelreihe begonnen, um einmal einen Gesamtüberblick über alle Möglichkeiten zu schaffen, die das Mac OS so in Sachen Security bietet. Ich werde mich nach und nach den einzelnen Artikel widmen, Themenvorschläge und Anregungen sind bitte so lange auf der Diskussionsseite dieses Artikels zu hinterlegen. __NOTOC__ 46e4078995f26232f15bbdfd33bfce8fcb9818b2 MacOS absichern/Betriebssystemkonfiguration 0 76 1732 1230 2023-03-15T08:56:14Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Security]][[Category:Translate]]Dieser Teil der Artikelreihe "[[Mac OS X absichern]]" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen. ==Benutzeraccounts== Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden: * ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet * ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund) ===Der Benutzer "root"=== [[Image:NetInfoManager_MenueSicherheit.png|thumb|right|Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos]]... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von passwd root im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden. Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten. ===der Standardbenutzer=== Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation. Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X ''mindestens ein'' Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen. [[Image:AdminBenutzerAnlegen.png|right|thumb|Erstellen eines Administrator Benutzerkontos]] '''Die Erstellung eines solchen Kontos geht wie folgt:''' # Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin") # Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten") # Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht) # In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen. Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der [[Regeln_für_Passwörter#Kennwort_Assistent|Kennwort-Assistent]] zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "[[Regeln für Passwörter]]" verfügbar.<br /> Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet. ===Starten von Programmen mit höheren Privilegien=== Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall. ====Kommandozeilenprogramme==== Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls {{Man|sudo|sudo}} in einem anderen Benutzerkontext zu starten: sudo <KOMMANDO> ====Cocoa- und Carbon-Apps==== Normalerweise werden Mac OS X Anwendungen von [[:Category:Terminal|Terminal]] aus mit Hilfe des Kommandos [[Open]] gestartet. In Verbindung mit {{TT|1={{Man|sudo|sudo}}}} funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl {{TT|sudo}} mit Administratorrechten gestartet wird, {{TT|open}} jedoch nicht sudo open -a TextEdit Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators {{TT|&}} ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt): sudo open -a TextEdit & '''Cocoa Apps''' Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so: sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal" Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter {{TT|-b}} zu verwenden: sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal '''Carbon Apps''' Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden: sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X' Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen. ===={{TT|sudo}} für Benutzer ohne Administratorrechte==== Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via su funktioniert als Standardbenutzer nun nicht mehr. '''Abhilfe-Möglichkeit 1:'''<br /> Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo: su admin sudo KOMMANDO '''Abhilfe-Möglichkeit 2:'''<br /> Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt: sudo -e /etc/sudoers beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification": $USERNAME ALL=(ALL) ALL $USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages {{Man|sudo|sudo}} und {{Man|sudoers|sudoers}} zu entnehmen. ===Damit verbundene Einschränkungen=== Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren: ====su / sudo==== Es kann mittels {{Man|su|su}} nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die {{Man|sudo|sudo}} Konfigurationsdatei "{{Man|sudoers|sudoers}}" angepasst werden, damit diese Funktion wiederhergestellt wird. ====AFP Freigaben==== AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann. Abhilfe schafft hier der [https://www.macupdate.com/app/mac/13865/automountmaker/ AutomountMaker], mit dem sich AFP-Shares anlegen und bearbeiten lassen. Alternativ bietet sich die Verwendung des "Windows File Sharing" (via [[wikipedia:de:Samba_(Software)|Samba]]/[[wikipedia:de:Server_Message_Block|SMB]]) an, das über die Kondfigurationsdatei {{Man|smb.conf|smb.conf}} angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit [https://www.macupdate.com/app/mac/16618/supinfo-share-manager Supinfo Share Manager] existiert zudem ein graphisches Tool dafür. ===Weitere Möglichkeiten=== Das Hilfsprogramm [http://www.macupdate.com/info.php/id/16727 Super Empty Trash] (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen. [http://www.macupdate.com/info.php/id/5620 Pseudo X] (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons. ==Rechteverwaltung des Betriebssystems== Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken. In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte: [[Image:Finder_Zugriffsrechte.png|thumb|right|Benutzerrechte eines Ordners im Finder-Info-Dialog]] Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes. Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind. ===Die herkömmliche Rechtevergabe=== richtet sich nach den folgenden Faktoren: * Besitzer der Datei (bzw. des Verzeichnisses) * Gruppe, in der der Besitzer Miglied ist * Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination <KB>apfel + i</KB> erreichbaren Informations-Fenster (bzw. <KB>apfel + alt + i</KB> für eine mit <KB>apfel</KB> oder <KB>shift</KB> erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools {{Man|chown|chown}} (Besitzer und Gruppe) und {{Man|chmod|chmod}} (Zugriffsrechte) verändert werden. Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren: 4 = lesen (r) 2 = schreiben (w) 1 = ausführen (x) Diese Werte werden dann nach dem Schema Benutzer - Gruppe - Andere addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus: 755 hagbard:hagbard da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird. Die r/w/x Schreibweise Im Terminal (über das Kommando "{{Man|ls|ls}} -l" darstellbar) sieht das dann so aus: drwxr-xr-x 2 hagbard hagbard 68 Jun 29 13:48 Neuer Ordner was diesem Schema folgt: d r w x r w x r w x – ––––– ––––– ––––– | | | |_ Alle Anderen | | | | | |_ Gruppe des Besitzers | | | |_ Username des Besitzers | |_ Es handelt sich um ein Verzeichnis Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten: chmod +x dateiname chmod 755 dateiname ===Rechtevergabe mit ACL=== Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen. Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit [http://www.mikey-san.net/sandbox/ Sandbox] (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools [[fsaclctl]] mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume: sudo fsaclctl -p / -e Das Kommando akzeptiert dabei die folgenden Optionen: Verwendung: fsaclctl -p path | -a [-e enable] [-d disable] [-v] -p path to filesystem mount point -a operate on all relevant volumes -e enable access control lists on this filesystem -d disable access control lists on this filesystem -v print version Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando ls -el Weitere Informationen zum Thema finden sich [[#Weitere Informationen|am Ende des Artikels]]. ===Volume-Zugriffsrechte reparieren=== [[Image:DiskUtility_ZugriffsrechteReparieren.png|thumb|right|Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm]] Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das '''Festplatten-Dienstprogramm''' (Disk Utility.app) die Möglichkeit, die '''Zugriffsrechte zu reparieren'''. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications: /Library/Receipts für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden: ~/Library/Receipts Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen: lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom ein kleiner Ausschnit daraus: ./Applications/iPhoto.app/Contents/Info.plist 100664 0/80 2414 2087592638 ./Applications/iPhoto.app/Contents/MacOS 40775 0/80 ./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775 0/80 10413768 792702777 ./Applications/iPhoto.app/Contents/MacOS/photocd 100775 0/80 149816 2893041223 ./Applications/iPhoto.app/Contents/NetServices 40775 0/80 ./Applications/iPhoto.app/Contents/NetServices/Bundles 40775 0/80 Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren [[Systemwartungstools|Systemwartungs-Tools]] wie z.B. [http://www.titanium.free.fr OnyX] durchgeführt werden. ===Programmzugriffe einschränken=== [[Image:Kindersicherung.png|thumb|right|"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken]] Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann. '''Konfiguration:''' Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl: * einzelne Programme: Mail, iChat, Safari und Dictionary * Finder.app & System Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.: * nur einen funktionell eingeschränkten Finder zur Verfügung stellen * Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen * Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme * CDs/DVDs brennen erlauben bzw. verbieten '''Fallstricke:''' Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien <u>definitiv</u> nicht auf die Liste der freigegebenen Programme ... Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis /System/Library/CoreServices zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei: {| |-- | width=150px|'''BOMArchiveHelper.app'''||Entpacken von ZIP-Archiven |-- |'''DiskImageMounter.app'''||Einbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/) |-- |'''HelpViewer.app'''||Darstellung von Hilfedokumenten verschiedener Anwendungen |-- |'''Jar Launcher.app'''||Starten von Java-Anwendungen, die als .jar Archiv vorliegen |-- |'''einige Assistenten'''||wie z.B. Bluetooth Assistent oder Netzwerk-Assistent |} ==Datenverschlüsselung== Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen. Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies: # verschlüsselte Disk-Images # FileVault - Verschlüsselung des Benutzerverzeichnisses ===verschlüsselte Backups=== DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen [[Automator|Automator-Workflows]]. [[Image:Automator_CreateDiskImage.png|right|thumb|Einfacher Automator Workflow zum Erstellen eines Disk Images]] '''Automator-Workflow zur Erstellung von DiskImages:''' Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster. Anschließend ist der Workflow als Finder-PlugIn zu speichern (via <KB>apfel + alt + s</KB> als Plugin für Finder) und ist fortan über einen Rechtsklick (<KB>ctrl</KB>-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet. Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen. ===Mitwachsende Images für die laufende Ablage=== Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar. Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden. Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren. ===FileVault=== Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard [[wikipedia:de:Advanced_Encryption_Standard|AES-128]] (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet. [[Image:Systemeinstellungen_FileVault.png|right|thumb|Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")]] ====Aktivieren von FileVault==== Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen. Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.: /Users/hagbard.sparseimage ====Ändern des Kennwortes==== Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen. ====Leere Bereiche im Image freigeben==== Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde. Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools [[hdiutil]]. Dazu ist im Terminal folgendes einzugeben: hdiutil compact $SPARSEIMAGE also z.B. hdiutil compact /Users/hagbard.sparseimage ====Hinweise zur Verwendung von FileVault==== Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten: * Das Hauptkennwort muss sich '''unbedingt''' vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos. * Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden. * Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar * Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden. * Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern. ==Zusammenfassung - Sicherheitsrelevante Systemeinstellungen== Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben. ===Systemeinstellungen mit Authentifizierung=== Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können. Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren. Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer '''geschlossen oder gesperrt''' werden. ===Systemeinstellungen - Benutzer=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Anmelde-Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Autom. anmelden als ...''' || Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen. |-- |'''Anmeldefenster zeigt an ...''' || Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen. |-- |'''Kennwort-Merkhilfe anzeigen:''' || Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben. |} ===Systemeinstellungen - Sicherheit=== {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners''' || aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs. |-- |'''Automatisches Anmelden deaktivieren:''' || Aktivieren (siehe oben) |-- |'''Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen:''' || Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden. |-- |'''Abmelden nach X Minuten Inaktivität:'''||Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden |-- |'''Sicheren virtuellen Speicher verwenden:''' ||Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben) |} ===Systemeinstellungen - Sharing=== Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die <u>wirklich</u> benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind '''alle Dienste zu deaktivieren''' und die '''Firewall zu aktivieren!''' Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren! {|style="margin-left:30px; margin-top:10px; margin-bottom:10px;" |-- !bgcolor=#e2e2e2|Firewall / Weitere Optionen:||bgcolor=#e2e2e2|Beschreibung: |-- |'''UDP-Verkehr blockieren''' || Eingehende [[wikipedia:de:User_Datagram_Protocol|UDP]] (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. ''(Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)'' |-- |'''Firewall-Protokollierung aktivieren''' || Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden. In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. [[wikipedia:de:Server_Message_Block|SMB/CIFS]]) für ihre "Geschwätzigkeit" bekannt sind. |-- |'''Tarn-Modus aktivieren''' || Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar. Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt. |} Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren! ===Systemeinstellungen - Netzwerk=== [[Image:Systemeinstellungen_Netzwerk.png|left|thumb|Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")]] Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "[http://www.golem.de/0606/46090.html Angriff auf WLAN-Treiber mit einfachsten Mitteln]"). [[Image:Systemeinstellungen_KeinNetzwerk.png|right|thumb|Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen]] Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration '''"kein Netzwerk"''' anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts). Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben. ==Ältere Versionen absichern== TODO: collect info && write this, consider moving this to a separate article Da ältere Versionen (Vorvorgängerin der jeeils aktuellen Version und älter) keine Sicherheitsupdates mehr bekommen, sollte man sich spätestens nach einem Jahr ohne solche Patches Gedanken über eine weitergehende Absicherung des Systems machen - insbesondere dann, wenn man sich häufig an verschiedenen, öffentlichen oder anderweitig nicht-privaten Netzwerken (WiFi, Mobilfunk, VPN, ...) anmeldet. Oftmals ist jedoch ein macOS Update gar nicht möglich, da die Hardware nicht mehr unterstützt wird und ein Wechsel zu Linux aus anderen Gründen nicht möglich/erwünscht ist. Dann sollte man das beste aus der Situation machen und das alte System so gut es geht anzupassen - abgesehen von entsprechenden Verhaltensweisen in der Nutzung von Software und Internetdiensten. ===Ideen dafür=== * Nutzung von Paketfiltern/Firewalls ([https://www.obdev.at/products/littlesnitch/index.html Little Snitch], [https://objective-see.org/products/blockblock.html BlockBlock], ...) * Obiges in Verbindung mit einer guten [[Block_lists|Filter-/Blockliste]] für Trackerdienste, insbesondere die von [https://pgl.yoyo.org/adservers/ Peter Lowe's] (stellt auch eine subscription [https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions für Little Snitch] bereit) * Sonstige Sicherheits- und Administrationsweerkzeuge wie beispielsweise die von [https://objective-see.org/ objective-see.org] * Schlüsselbund-Apps für Passwörter ([https://github.com/MacPass/MacPass MacPass], [https://github.com/keepassxreboot/keepassxc KeePassXC], ...) * Betriebssystemdienste absichern und ggf. austauschen (z.B. SSH/SFTP, wie SMB, VNC, ...) bzw. parallel bereitstellen und die Systemdienste deaktivieren * Sicherheitskritische Betriebssystemkomponenten absichern und austauschen, insbeso. OpenSSH (hier sollte die mitgelieferte Version wirklich ersetzt und nicht nur durch eine parallele Installaiton via homebrew ergänzt werden, sonst nutzt macOS weiterhin die alte Version und ist damit angreifbar!) * macOS Dienstprogramme, die keine Aktualisierungen mehr erfahren, so gut es geht durch aktuelle Drittpogramme ersetzen. Safari wird beispielsweise oftmals auch für ältere macOS Versionen noch eine gewisse Zeit lang weitergepflegt, anschließend/alternativ kann man auch die [https://www.webkit.org Entwicklerbuilds von Webkit] nutzen. Beispiele: [https://www.mozilla.org/de/firefox/new/ Firefox], [https://www.thunderbird.net Thunderbird], ... * Evtl.: Nutzung eines Systemaccounts mit reduzierten Rechten, die z.B. die Nutzung von macOS-eigenen Dienstprogrammen ausschließt. Alternativ ist sicherlich auch deren Deinstallation möglich * Safari/WebKit dürften eine härtere Nuss sein, da letzteres auch von sehr vielen Drittprogrammen für die Darstellung von HTML-Inhalten und SVG-Grafiken genutzt wird. Das dürfte daher auch das kritischste Einfallstor für etwaige Schädlingssoftware sein. Lässt sich vermutlich nur durch angepasstes Nutzungsverhalten begrenzen, allerdings muss man dazu wissen wo das überall verwendet wird, beispielsweise auch für die in viele Programme integrierte Dokumentation. * Es sollte gut überlegt werden, Apple Dienste wie iCloud, iCloud Keychain, Find My, ... usw, auf älteren, nicht mehr weitergepflegten macOS Versionen weiterzunutzen. Alleine die Pflege einer vollständigen Firewall-Filterliste dafür ist recht aufwändig, da diese eine Vielzahl an Verbindungen zu verschiedensten Adressen aufbauen können müssen um einwandfrei funktionieren zu können. {| |-- ! style="width:220px;" | Service Name !! ! style="width:60px;" | |-- | Screen Sharing || ✅ || replacement or maybe even in-place update possible |-- | File Sharing || ✅ || replacement or maybe even in-place update possible |-- | Printer Sharing || ✅ || replacement or maybe even in-place update possible |-- | Remote Login || ✅ || replacement or maybe even in-place update possible |-- | Remote Management || ✅ || replacement or maybe even in-place update possible |-- | Remote Apple Events || ❌ || Don't use it, no replacement |-- | Bluetooth Sharing || ❓ || TBD |-- | Internet Sharing || ❓ || TBD |-- | Content Sharing || ❌ || Don't use it, no replacement |-- | Media Sharing<br/>a.k.a. "iTunes Library Sharing" || ❌ || Don't use it, use a third party replacement like [[wikipedia:en:Plex_(company)|Plex]] |-- | Web Sharing<br/>''Only in OS X Lion and earlier'' || ✅ || replacement or maybe even in-place update possible |} ===Core System Components=== Various kinds of open-source components are not only being shipped with macOS but are in fact an integral part of it. Some of these components such as [[wikipedia:en:LibreSSL|LibreSSL]] (or its origin [[wikipedia:en:OpenSSL|OpenSSL]]) are being used throghout the system and by all kinds of applicatioms and thus should be considered highly critical for hardening the whole system. Others are being used to offer all kinds of additional services such as "File Sharing" or "ScreenSharing". These can often be easily replaced by being disabled and replaced by another 3rd party product - preferably free and open-source. Wishlist for topics to cover here: * OpenSSL/LibreSSL ('''important side note:''' [[wikipedia:en:OS_X_El_Capitan#Features|OS X El Capitan]] (Version 10.11) was the first version being shipped with LibreSSL, earlier versions use OpenSSL instead) * OpenSSH (macOS Service "Remote Login") * PHP * Python * Perl ===System Services=== * Samba (macOS Service "File Sharing") * [https://httpd.apache.org Apache HTTP Server] (Apple Service "Web Sharing" in Mac OS X Lion and earler; onlt the GUI has beem removed in MacOS X Mountain Lion while the Apache HTTP Server is still present) * [https://cups.org CUPS] (macOS Service "Printer Sharing") * [https://sane-project.org SANE] (Scanner Sharing as part of the macOS Service "Printer Sharing") * [[wikipedia:en:Virtual_Network_Computing|VNC]] (macOS Services "Screen Sharing" and "Remote Management") ===3rd Party Replacements for macOS Services=== * File Sharing via AFP (Apple File Protocol): [https://netatalk.sourceforge.io/ netatalk] ===TBD=== * Internet Sharing (which is in fact ot really an actual "service" but a configuration enabling other devices to use a mac's internet connection via IPv4/IPv6 routing) * Bluetooth Sharing ===macOS Services which should NOT be used any more=== ... Services which should be considered insecure due to a lack of replacements. You should either use them with caution, limit access to them via properly configured Packet Filters and Firewalls/IDS or stop using them altogether: * Media Sharing (a.k.a. "iTunes Library Sharing") * Content Caching * Remote [[wikipedia:en:Apple_event|Apple Events]] (should be disabled anyway) * iCloud Keychain Sharing<br/>Consider using shared [[wikipedia:en|KeePass]] files which you can synchronize easily across all of your devices. You can use a conventional, self-hosted file sharing service such as WebDAV or Owncloud/Nextcloud - maybe even within your local network so your sensitive data never leaves the premises. Or you can use reliable, privacy-compliant online services like the [https://mailbox.org/en/services#cloud-storage mailbox.org Cloud Storage], which is using [[wikipedia:en:Open-Xchange|Open-Xchange]] for that. I am personally not a big fan of proprietary closed source third party online services for pretty obvious reasons, but that's up to you. ==Drittprogramme absichern== * Das [https://www.privacy-handbuch.de/ Privavy-Handbuch] ** [https://www.privacy-handbuch.de/handbuch_21.htm Spurenarm Surfen mit Firefox] ** [https://www.privacy-handbuch.de/handbuch_21j2.htm Starke Passwörter verwenden] ** [https://www.privacy-handbuch.de/handbuch_21n.htm Überflüssige Funktionen in Firefox deaktivieren] (aus dem o.g. Privacy-Handbuch) ** [https://www.privacy-handbuch.de/handbuch_21i.htm#dnt Kommentar zu "Do-Not-Track"]] (more trouble than it's worth) ==Weitere Informationen== * Apple - [http://www.apple.com/support/security/guides/ Mac OS X Security Configuration Guides], verfügbar für die Versionen 10.3 bis 10.6 * BSI - [https://www.bsi-fuer-buerger.de/BSIFB/DE/MeinPC/BasisschutzComputer/basisschutzComputer_node.html Basisschutz für den Computer] ([https://www.bsi-fuer-buerger.de/SharedDocs/Downloads/DE/BSIFB/Publikationen/BSIe010-Mac_OS_X_Mountain_Lion.pdf?__blob=publicationFile PDF]) * NSA - [http://www.nsa.gov/ia/guidance/security_configuration_guides/operating_systems.shtml Security Configuration Guides - Operating Systems] (Hardening Tips) * MacMacken - [http://www.macmacken.com/2009/11/24/10-mac-os-x-snow-leopard-sicherheit-fuer-anfaenger/ 10 × Mac OS X «Snow Leopard»-Sicherheit für Anfänger] * macnews.de - [http://www.macnews.de/software/os-x-lion-sicherheitseinstellungen-und-filevault-konfigurieren-221921 OS X Lion: Sicherheitseinstellungen und FileVault konfigurieren] ===Tools=== * [https://objective-see.org/ Objective-See] source of several amazing and free privacy tools like KnockKnock, Lulu or Oversight * [https://www.murusfirewall.com/murus/ Murus<sup>2</sup>] Firewall, a UI for the builtin macOS packet filter. The free Lite version filters outgoing traffic only, which makes it an ideal companion for LuLu or Little Snitch (Mini). ===Self-hosted Services=== * [https://freshrss.org FreshRSS], a free, self-hostable feeds aggregator * [https://pi-hole.net/ Pi-hole], Network-wide Ad Blocking ===Other Services=== * [https://hostux.network/en/ Hostux] Publicly hosted services such as a public encrypted DNS service, a disposable email inbox, and many more. ===Unix Grundlagen=== OSXFAQ: [http://www.osxfaq.com/Tutorials/LearningCenter/ Mac OS X Unix Tutorial]: * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/LoseTheMouse/index.ws Part 1 - Lose the Mouse] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithFiles/index.ws Part 2 - Playing With Files] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/PlayingWithDirectories/index.ws Part 3 - Playing With Directories] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/ManagingPermissions/index.ws Part 4 - Managing Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/UnixTutorials/WorkingWithUnix/index.ws Part 5 - Working With Unix] * [http://www.osxfaq.com/Tutorials/LearningCenter/ weitere Teile der Reihe] (im Moment: 7-9) ===Datei-Zugriffsrechte=== * [http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/ Changing the default Umask on OSX Leopard] '''OSXFAQ: Advanced Mac OS X Unix:''' * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp/index.ws Lesson 1 - Users, Groups, and Permissions] * [http://www.osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/index.ws Lesson 2 - Users, Groups, and Permissions 2] ===ACLs in Mac OS X=== * Apple Developer Connection: [http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/ACLs.html Access Control Lists] (File System Overview) * Apple Developer Connection: [http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/index.html#//apple_ref/doc/uid/TP30000976 Access Control Lists] (Security Overview / Security Concepts) * [[wikipedia:de:Access_Control_List|Wikipedia Artikel]] zum Thema * MacZealots: [http://maczealots.com/articles/acl/ Access Control Lists in Tiger and Tiger Server] * Manpage {{Man|ACL|ACL}}: Beschreibung der [[wikipedia:de:POSIX|POSIX]] Routinen zur Manipulation von ACLs ===Encrypting/Signing=== * [https://github.com/FiloSottile/age age]: A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability. * [https://jedisct1.github.io/minisign/ minisign]: A dead simple tool to sign files and verify signatures. see also: * [https://nick.groenen.me/notes/stop-using-pgp/ Stop using PGP] 159acce4fb92816d88b89deaab6a9d5484962820 MacOS System Requirements 0 2 1736 269 2023-03-19T09:55:50Z Hagbard 2 /* macOS Monterey (12.6.2) 32px 32px */ wikitext text/x-wiki [[Category:OS]][[Category:Translate]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS versions on unsupported Macs – A Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_.2812.0.29|Version 12.0 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.3) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Processor || 64-Bit intel processor, Apple A12Z or later |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_.2811.0.29|Version 11.0 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.1) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Processor || 64-Bit intel processor, Apple A12Z oder neuer |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_.2810.15.29|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_.2810.14.29|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 14.3 GB für die Durchführung eines Upgrades |-- | see also || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | see also || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs with CoreSolo/CoreDuo processors<br />Intel-Macs and Intel GPU GMA 950 or x3100<br />Intel-Macs with ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. Juli 2011 |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel Macs with CoreSolo or CoreDuo processors (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 28. August 2009 |-- | Processor || Intel processor |-- | Memory (RAM) || 1 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 26. Oktober 2007 |-- | Processor || PowerPC G4 (867MHz or more), G5 or Intel processor |-- | Memory (RAM) || 512 MB RAM |-- | Other requirements || FireWire (integriert) |-- | see also || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 29. April 2005 |-- | Processor || PowerPC G3, G4 or G5 processor, Intel processors starting with Version 10.4.4 |-- | Memory (RAM) || 256 MB RAM |-- | see also || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2003 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 13. August 2002 |-- | Processor || PowerPC G3, G4 or G5 orocessor (233 MHz or more, see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. März 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) 9ec87ca6a9e6e9b9e31f5ead8afaff811231de6b Template:Navigation Open Source Anwendungen 10 344 1737 2023-03-19T10:14:34Z Hagbard 2 Created page with "<includeonly>[[Category:App]]</includeonly>{{ContentboxWithIconAndTitle|title=Open Source Anwendungen:|width=100%|icon=GreenCopyleft (2).svg|content=<div style="text-align:center;"> [[Open Source Anwendungen/Grafik- und Bildbearbeitung|Grafik- und Bildbearbeitung]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Internet und Netzwerk|Internet und Netzwerk]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Kommunikation und Messaging|Kommunikation und Messaging]]&nbsp;&bull;&n..." wikitext text/x-wiki <includeonly>[[Category:App]]</includeonly>{{ContentboxWithIconAndTitle|title=Open Source Anwendungen:|width=100%|icon=GreenCopyleft (2).svg|content=<div style="text-align:center;"> [[Open Source Anwendungen/Grafik- und Bildbearbeitung|Grafik- und Bildbearbeitung]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Internet und Netzwerk|Internet und Netzwerk]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Kommunikation und Messaging|Kommunikation und Messaging]]&nbsp;&bull;&nbsp; [[Open Source Anwendungen/Multimedia|Multimedia]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Produktivität und Büro|Produktivität und Büro]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Programmierung und Entwicklung|Programmierung und Entwicklung]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Serverdienste|Serverdienste]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Systemwerkzeuge|Systemwerkzeuge]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Webbasierte Anwendungen|Webbasierte Anwendungen]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Spiele|Spiele]] ---- [[Open Source Anwendungen/PowerPC|PowerPC Software]] </div>}} 5fcad3b679e60d2b84b8dcde4aad99295de1eb50 1741 1737 2023-03-19T10:18:16Z Hagbard 2 wikitext text/x-wiki <includeonly>[[Category:App]][[Category:Translate]]</includeonly>{{ContentboxWithIconAndTitle|title=Open Source Anwendungen:|width=100%|icon=GreenCopyleft (2).svg|content=<div style="text-align:center;"> [[Open Source Anwendungen/Grafik- und Bildbearbeitung|Grafik- und Bildbearbeitung]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Internet und Netzwerk|Internet und Netzwerk]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Kommunikation und Messaging|Kommunikation und Messaging]]&nbsp;&bull;&nbsp; [[Open Source Anwendungen/Multimedia|Multimedia]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Produktivität und Büro|Produktivität und Büro]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Programmierung und Entwicklung|Programmierung und Entwicklung]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Serverdienste|Serverdienste]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Systemwerkzeuge|Systemwerkzeuge]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Webbasierte Anwendungen|Webbasierte Anwendungen]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Spiele|Spiele]] ---- [[Open Source Anwendungen/PowerPC|PowerPC Software]] </div>}} a4de8be50207d5c4799dcd9ecbf166369b84f7d8 1742 1741 2023-03-19T10:18:43Z Hagbard 2 wikitext text/x-wiki <includeonly>[[Category:App]][[Category:Translate]][[Category:Update]]</includeonly>{{ContentboxWithIconAndTitle|title=Open Source Anwendungen:|width=100%|icon=GreenCopyleft (2).svg|content=<div style="text-align:center;"> [[Open Source Anwendungen/Grafik- und Bildbearbeitung|Grafik- und Bildbearbeitung]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Internet und Netzwerk|Internet und Netzwerk]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Kommunikation und Messaging|Kommunikation und Messaging]]&nbsp;&bull;&nbsp; [[Open Source Anwendungen/Multimedia|Multimedia]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Produktivität und Büro|Produktivität und Büro]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Programmierung und Entwicklung|Programmierung und Entwicklung]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Serverdienste|Serverdienste]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Systemwerkzeuge|Systemwerkzeuge]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Webbasierte Anwendungen|Webbasierte Anwendungen]] &nbsp;&bull;&nbsp; [[Open Source Anwendungen/Spiele|Spiele]] ---- [[Open Source Anwendungen/PowerPC|PowerPC Software]] </div>}} d3961d2d2761fb05051fbafcb9ab2fcbc36218e5 Open Source Anwendungen 0 36 1738 1575 2023-03-19T10:14:57Z Hagbard 2 wikitext text/x-wiki Dieser Artikel soll eine kleine Übersicht wichtiger und nützlicher OpenSource Produkte bieten. Die Programme sind dabei nach Rubriken sortiert, Bewertungen oder Kommentare sowie eine Erweiterung dieser Liste sind - wie immer - strengstens erwünscht ;-) (ersteres natürlich auf der zugehörigen Diskussionsseite). Die Liste soll keinesfalls vollständig und allumfassend sein, sondern vielmehr einen Überblick wirklich guter und brauchbarer Software bieten. {{Navigation_Open_Source_Anwendungen}} Kommandozeilenprogramme sind mit einem entsprechenden Symbol gekennzeichnet, ebenso wie besondere Voraussetzungen zur Ausführung - beispielsweise JAVA, [[X11]] oder Mono/GTK#. Alle hier gelisteten Programme sollten unter einer [[wikipedia:de:OpenSource|OpenSource-Lizenz]] im Sinne dieser [[wikipedia:de:Open_Source_Definition|Open Source Definition]] verfügbar sein. Falls keine genauen Lizenzinformationen verfügbar sind, sollte dies gekennzeichnet werden. Eine recht umfangreiche Übersicht der verschiedenen Lizenzen ist [[wikipedia:de:Open-Source-Lizenz|in der Wikipedia]] zu finden. ==Weitere Quellen für Open Source Software== * [http://www.freesmug.org/portableapps/ Portable OS X Apps] * [http://sourceforge.net/directory/os:mac/ SourceForge Software Directory] * [http://www.sourceforge.net/ sourceforge.net] * [http://www.freshmeat.net/ freshmeat.net] * [http://www.launchpad.net/ launchpad.net] (für [http://www.ubuntu.com Ubuntu] Pakete) * [http://code.google.com/mac Google Mac Developer Playground] * [http://www.osxgnu.org/ osxgnu.org] * [http://www.opensourcemac.de/ opensourcemac.de] * [http://www.opensourcemac.org/ opensourcemac.org] * [http://www.free-mac-software.com/ free-mac-software.com] * [http://www.webi.org/ webi.org] ==Legende== {| |-- | width=40px | [[Image:Crystal Project java.png|24px]] ||Programm ist in [[ADC:java/|JAVA]] implementiert und erfordert eine installierte JAVA-Runtime.<br />Diese Angabe ist nur zu Informationszwecken vorhanden, da JAVA bereits in Mac OS X enthalten ist. |-- | [[Image:X11.png|24px]] || Programm läuft in der [[X11]]-Umgebung, diese muss ggf. von der Mac OS X Installations-CD/-DVD nachinstalliert werden. X11 für Mac OS 10.3 (Panther) kann auch von der [http://apple.com/support/downloads/x11formacosx.html Apple Webseite] heruntergeladen werden, Installationspakete für neuere Mac OS X Versionen sind nur auf den Installationsmedien verfügbar. |-- | [[Image:Mono Project Logo.svg|24px]] || Installation von [[wikipedia:Mono_(software)|Mono und GTK#]] (Pakete gtk-sharp/gtp-sharp2 und libgdiplus) ist erforderlich |} 1d0e3dfce4ff93e8c93c4c390f454889b7bb8932 Template:SoftwareTable 10 345 1739 2023-03-19T10:15:31Z Hagbard 2 Created page with "<noinclude></noinclude><includeonly><div style="margin:10px 0px 10px 0px;"> {{Contentbox|width=100%|title=|content= <span style="width:auto; display:block; margin:0px 0px 20px 0px; font-weight:bold; padding:0px; border-bottom:0px; text-align:center;"><span class="editsection"></span>{{{TITLE}}}</span> <table style="width:100%; background-color:transparent; border-spacing:0px;"> <tr> <th style="border-top:1px solid #c8c8c8; width:40px;"></th> <th style="border-top:1px sol..." wikitext text/x-wiki <noinclude></noinclude><includeonly><div style="margin:10px 0px 10px 0px;"> {{Contentbox|width=100%|title=|content= <span style="width:auto; display:block; margin:0px 0px 20px 0px; font-weight:bold; padding:0px; border-bottom:0px; text-align:center;"><span class="editsection"></span>{{{TITLE}}}</span> <table style="width:100%; background-color:transparent; border-spacing:0px;"> <tr> <th style="border-top:1px solid #c8c8c8; width:40px;"></th> <th style="border-top:1px solid #c8c8c8; font-weight:normal; width:120px;">Name</th> <th style="border-top:1px solid #c8c8c8; font-weight:normal;">Anmerkungen</th> <th style="border-top:1px solid #c8c8c8; font-weight:normal; width:120px;">Voraussetzungen</th> <th style="border-top:1px solid #c8c8c8; font-weight:normal; width:60px;">Lizenz</th> </tr> {{{ENTRIES}}} </table> }} </div></includeonly> 93f565b4d9a085c812222e8b904d521839410c3c Template:SoftwareTableEntry 10 346 1740 2023-03-19T10:15:52Z Hagbard 2 Created page with "<noinclude> ;Beispiel: <source> {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableEntry |NAME=phpMyAdmin |ICON=PhpMyAdmin.png |URL=http://www.phpmyadmin.net/ |DESCRIPTION=Webbasiertes Werkzeug zur Verwaltung eines [http://www.mysql.com MySQL] Datenbankservers |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:Mysql-dolphin-square.svg|24px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} }}</source> ;Ausgabe: {{Software..." wikitext text/x-wiki <noinclude> ;Beispiel: <source> {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableEntry |NAME=phpMyAdmin |ICON=PhpMyAdmin.png |URL=http://www.phpmyadmin.net/ |DESCRIPTION=Webbasiertes Werkzeug zur Verwaltung eines [http://www.mysql.com MySQL] Datenbankservers |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:Mysql-dolphin-square.svg|24px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} }}</source> ;Ausgabe: {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableEntry |NAME=phpMyAdmin |ICON=PhpMyAdmin.png |URL=http://www.phpmyadmin.net/ |DESCRIPTION=Webbasiertes Werkzeug zur Verwaltung eines [http://www.mysql.com MySQL] Datenbankservers |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:Mysql-dolphin-square.svg|24px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} {{SoftwareTableEntry |NAME=phpMyAdmin |URL=http://www.phpmyadmin.net/ |DESCRIPTION=Webbasiertes Werkzeug zur Verwaltung eines [http://www.mysql.com MySQL] Datenbankservers |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:Mysql-dolphin-square.svg|24px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} }} </noinclude><includeonly> <tr> <td style="padding:6px 0px 6px 0px; border-top:1px solid #c8c8c8;">{{#ifeq:{{{ICON|}}}|{{{ICON}}}| [[Image:{{{ICON}}}|32px]] | }}</td> <td style="padding:6px 10px 6px 0px; border-top:1px solid #c8c8c8;">[{{{URL}}} {{{NAME}}}]</td> <td style="padding:6px 10px 6px 0px; border-top:1px solid #c8c8c8;">{{{DESCRIPTION}}}</td> <td style="padding:6px 0px 6px 0px; border-top:1px solid #c8c8c8;">{{{DEPS}}}</td> <td style="padding:6px 0px 6px 0px; border-top:1px solid #c8c8c8;">{{{LICENSE}}}</td> </tr> </includeonly> aef1cb8e0c9a4dfbbec445a88328d77b4917357b Open Source Anwendungen/Multimedia 0 297 1743 1583 2023-03-19T10:19:48Z Hagbard 2 wikitext text/x-wiki __NOTOC__ {{Navigation_Open_Source_Anwendungen}} ==Multimedia== {{SoftwareTable |TITLE=Player |ENTRIES= {{SoftwareTableEntry |NAME=VLC media player |ICON=VLC Icon.svg |URL=http://www.videolan.org |DESCRIPTION=Freier, plattformübergreifender Multiformat-Player mit Unterstützung von Netzwerkstreaming |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} <!-- {{SoftwareTableEntry |NAME=MPlayer |ICON=Mplayer.png |URL=http://www.mplayerhq.hu |DESCRIPTION=Freier, plattformübergreifender und sehr kompatker Multiformat-Player. Per se nur für die Kommandozeile (ohne graphische Oberfläche) existieren für Mac OS X mehrere graphische Umgebungen, z.B.: * [http://mplayerx.org/ MPlayerX] * <del>[http://mplayerosx.sttz.ch/ MPlayer OSX Extended]</del> (letzte Version: r14, Jan. 2011) * <del>[http://mplayerosx.sourceforge.net/ MPlayerOSX]</del> (aktuellste Version vom 20.5.2005) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} {{SoftwareTableEntry |NAME=niceplayer |ICON=NicePlayer.png |URL=http://code.google.com/p/niceplayer/ |DESCRIPTION=Mediaplayer für Mac OS X ("fullscreen, borderless multi-engine player") |DEPS= |LICENSE=[[wikipedia:de:Mozilla_Public_License|MPL 1.1]] }} {{SoftwareTableEntry |NAME=Fullscreen Movie Player |URL=http://www.monkeybreadsoftware.de/Freeware/FullscreenMoviePlayer.shtml |DESCRIPTION=Fullscreen Playback für non-Pro-QuickTime (für MacOS 8, Mac OS X und Windows) |DEPS= |LICENSE= }} {{SoftwareTableEntry |NAME=<del>Perian</del> |ICON=Perian icon.png |URL=http://perian.org/ |DESCRIPTION=<del>Codec-Paket für eine Vielzahl verschiedener Formate (außer MPEG 2)</del> wird leider nicht mehr weiterentwickelt |DEPS= |LICENSE=[[wikipedia:de:GNU_Lesser_General_Public_License|LGPLv2]] }} --> }} {{SoftwareTable |TITLE=TV und Mediacenter |ENTRIES= {{SoftwareTableEntry |NAME=TV-Browser |ICON=TV-Browser.svg |URL=http://www.tvbrowser.org/ |DESCRIPTION=Umfassender, funktionsreicher und erweiterbarer Browser für das Fernsehprogramm |DEPS=[[Image:Crystal Project java.png|32px]]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Plex Media Center |ICON=Plex vector logo.svg |URL=http://www.plexapp.com/ |DESCRIPTION=Auf [[wikipedia:de:XBMC_Media_Center|XMBC]] basierende Media Center Lösung |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} }} {{SoftwareTable |TITLE=Videobearbeitung |ENTRIES= {{SoftwareTableEntry |NAME=Avidemux |ICON=Avidemux-logo.png |URL=http://avidemux.sourceforge.net/ |DESCRIPTION="... is a free video editor designed for simple cutting, filtering and encoding tasks" (plattformübergreifend, Tipp: die QT-Variante läuft unter Mac OS X offenbar deutlich stabiler) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=ProjectX |URL=http://www.lucike.info/ |DESCRIPTION=Nachbearbeitung (Demuxen und Schneiden) von DVB-Aufnahmen, weitere Infos gibts auch [http://wiki.tuxbox.org/ProjectX hier] |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE= }} {{SoftwareTableEntry |NAME=DVDStyler |ICON=DVDStyler.png |URL=http://www.dvdstyler.org/ |DESCRIPTION=DVD-Authoring für Mac OS X, Windows und Linux |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Audiobearbeitung |ENTRIES= {{SoftwareTableEntry |NAME=Audacity |ICON=Audacity.svg |URL=http://audacity.sourceforge.net |DESCRIPTION=Audiobearbeitung (mit [[wikipedia:de:Virtual_Studio_Technology|VST]] Plugin-Schnittstelle), weitere Downloads (z.B. Codecs oder den VST-Enabler) gibts [http://audacity.sourceforge.net auf der Projektseite.] |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} 1417b9f8e13aea644dac22c7934840545de6833b 1744 1743 2023-03-19T12:59:19Z Hagbard 2 wikitext text/x-wiki __NOTOC__ {{Navigation_Open_Source_Anwendungen}} ==Multimedia== {{SoftwareTable |TITLE=Player |ENTRIES= {{SoftwareTableEntry |NAME=VLC media player |ICON=VLC Icon.svg |URL=http://www.videolan.org |DESCRIPTION=Freier, plattformübergreifender Multiformat-Player mit Unterstützung von Netzwerkstreaming |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} <!-- {{SoftwareTableEntry |NAME=MPlayer |ICON=Mplayer.png |URL=http://www.mplayerhq.hu |DESCRIPTION=Freier, plattformübergreifender und sehr kompatker Multiformat-Player. Per se nur für die Kommandozeile (ohne graphische Oberfläche) existieren für Mac OS X mehrere graphische Umgebungen, z.B.: * [http://mplayerx.org/ MPlayerX] * <del>[http://mplayerosx.sttz.ch/ MPlayer OSX Extended]</del> (letzte Version: r14, Jan. 2011) * <del>[http://mplayerosx.sourceforge.net/ MPlayerOSX]</del> (aktuellste Version vom 20.5.2005) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} {{SoftwareTableEntry |NAME=niceplayer |ICON=NicePlayer.png |URL=http://code.google.com/p/niceplayer/ |DESCRIPTION=Mediaplayer für Mac OS X ("fullscreen, borderless multi-engine player") |DEPS= |LICENSE=[[wikipedia:de:Mozilla_Public_License|MPL 1.1]] }} {{SoftwareTableEntry |NAME=Fullscreen Movie Player |URL=http://www.monkeybreadsoftware.de/Freeware/FullscreenMoviePlayer.shtml |DESCRIPTION=Fullscreen Playback für non-Pro-QuickTime (für MacOS 8, Mac OS X und Windows) |DEPS= |LICENSE= }} {{SoftwareTableEntry |NAME=<del>Perian</del> |ICON=Perian icon.png |URL=http://perian.org/ |DESCRIPTION=<del>Codec-Paket für eine Vielzahl verschiedener Formate (außer MPEG 2)</del> wird leider nicht mehr weiterentwickelt |DEPS= |LICENSE=[[wikipedia:de:GNU_Lesser_General_Public_License|LGPLv2]] }} --> }} {{SoftwareTable |TITLE=TV und Mediacenter |ENTRIES= {{SoftwareTableEntry |NAME=TV-Browser |ICON=TV-Browser.svg |URL=http://www.tvbrowser.org/ |DESCRIPTION=Umfassender, funktionsreicher und erweiterbarer Browser für das Fernsehprogramm |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Mediathekview |ICON=Plex vector logo.svg |URL=https://mediathekview.de/ |DESCRIPTION=Browser für die deutschen öffentlich-rechtlichen TV Mediatheken für Wiedergabe und Download von Sendungen |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv3]] }} {{SoftwareTableEntry |NAME=Plex Media Center |ICON=Plex vector logo.svg |URL=http://www.plexapp.com/ |DESCRIPTION=Auf [[wikipedia:de:XBMC_Media_Center|XMBC]] basierende Media Center Lösung |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} }} {{SoftwareTable |TITLE=Videobearbeitung |ENTRIES= {{SoftwareTableEntry |NAME=Avidemux |ICON=Avidemux-logo.png |URL=http://avidemux.sourceforge.net/ |DESCRIPTION="... is a free video editor designed for simple cutting, filtering and encoding tasks" (plattformübergreifend, Tipp: die QT-Variante läuft unter Mac OS X offenbar deutlich stabiler) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=ProjectX |URL=http://www.lucike.info/ |DESCRIPTION=Nachbearbeitung (Demuxen und Schneiden) von DVB-Aufnahmen, weitere Infos gibts auch [http://wiki.tuxbox.org/ProjectX hier] |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE= }} {{SoftwareTableEntry |NAME=DVDStyler |ICON=DVDStyler.png |URL=http://www.dvdstyler.org/ |DESCRIPTION=DVD-Authoring für Mac OS X, Windows und Linux |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Audiobearbeitung |ENTRIES= {{SoftwareTableEntry |NAME=Audacity |ICON=Audacity.svg |URL=http://audacity.sourceforge.net |DESCRIPTION=Audiobearbeitung (mit [[wikipedia:de:Virtual_Studio_Technology|VST]] Plugin-Schnittstelle), weitere Downloads (z.B. Codecs oder den VST-Enabler) gibts [http://audacity.sourceforge.net auf der Projektseite.] |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} 74206def1d58b8b1d402eeb27cf3a1b11b62891b 1745 1744 2023-03-19T12:59:48Z Hagbard 2 wikitext text/x-wiki __NOTOC__ {{Navigation_Open_Source_Anwendungen}} ==Multimedia== {{SoftwareTable |TITLE=Player |ENTRIES= {{SoftwareTableEntry |NAME=VLC media player |ICON=VLC Icon.svg |URL=http://www.videolan.org |DESCRIPTION=Freier, plattformübergreifender Multiformat-Player mit Unterstützung von Netzwerkstreaming |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} <!-- {{SoftwareTableEntry |NAME=MPlayer |ICON=Mplayer.png |URL=http://www.mplayerhq.hu |DESCRIPTION=Freier, plattformübergreifender und sehr kompatker Multiformat-Player. Per se nur für die Kommandozeile (ohne graphische Oberfläche) existieren für Mac OS X mehrere graphische Umgebungen, z.B.: * [http://mplayerx.org/ MPlayerX] * <del>[http://mplayerosx.sttz.ch/ MPlayer OSX Extended]</del> (letzte Version: r14, Jan. 2011) * <del>[http://mplayerosx.sourceforge.net/ MPlayerOSX]</del> (aktuellste Version vom 20.5.2005) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} {{SoftwareTableEntry |NAME=niceplayer |ICON=NicePlayer.png |URL=http://code.google.com/p/niceplayer/ |DESCRIPTION=Mediaplayer für Mac OS X ("fullscreen, borderless multi-engine player") |DEPS= |LICENSE=[[wikipedia:de:Mozilla_Public_License|MPL 1.1]] }} {{SoftwareTableEntry |NAME=Fullscreen Movie Player |URL=http://www.monkeybreadsoftware.de/Freeware/FullscreenMoviePlayer.shtml |DESCRIPTION=Fullscreen Playback für non-Pro-QuickTime (für MacOS 8, Mac OS X und Windows) |DEPS= |LICENSE= }} {{SoftwareTableEntry |NAME=<del>Perian</del> |ICON=Perian icon.png |URL=http://perian.org/ |DESCRIPTION=<del>Codec-Paket für eine Vielzahl verschiedener Formate (außer MPEG 2)</del> wird leider nicht mehr weiterentwickelt |DEPS= |LICENSE=[[wikipedia:de:GNU_Lesser_General_Public_License|LGPLv2]] }} --> }} {{SoftwareTable |TITLE=TV und Mediacenter |ENTRIES= {{SoftwareTableEntry |NAME=TV-Browser |ICON=TV-Browser.svg |URL=http://www.tvbrowser.org/ |DESCRIPTION=Umfassender, funktionsreicher und erweiterbarer Browser für das Fernsehprogramm |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Mediathekview |ICON= |URL=https://mediathekview.de/ |DESCRIPTION=Browser für die deutschen öffentlich-rechtlichen TV Mediatheken für Wiedergabe und Download von Sendungen |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv3]] }} {{SoftwareTableEntry |NAME=Plex Media Center |ICON=Plex vector logo.svg |URL=http://www.plexapp.com/ |DESCRIPTION=Auf [[wikipedia:de:XBMC_Media_Center|XMBC]] basierende Media Center Lösung |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} }} {{SoftwareTable |TITLE=Videobearbeitung |ENTRIES= {{SoftwareTableEntry |NAME=Avidemux |ICON=Avidemux-logo.png |URL=http://avidemux.sourceforge.net/ |DESCRIPTION="... is a free video editor designed for simple cutting, filtering and encoding tasks" (plattformübergreifend, Tipp: die QT-Variante läuft unter Mac OS X offenbar deutlich stabiler) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=ProjectX |URL=http://www.lucike.info/ |DESCRIPTION=Nachbearbeitung (Demuxen und Schneiden) von DVB-Aufnahmen, weitere Infos gibts auch [http://wiki.tuxbox.org/ProjectX hier] |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE= }} {{SoftwareTableEntry |NAME=DVDStyler |ICON=DVDStyler.png |URL=http://www.dvdstyler.org/ |DESCRIPTION=DVD-Authoring für Mac OS X, Windows und Linux |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Audiobearbeitung |ENTRIES= {{SoftwareTableEntry |NAME=Audacity |ICON=Audacity.svg |URL=http://audacity.sourceforge.net |DESCRIPTION=Audiobearbeitung (mit [[wikipedia:de:Virtual_Studio_Technology|VST]] Plugin-Schnittstelle), weitere Downloads (z.B. Codecs oder den VST-Enabler) gibts [http://audacity.sourceforge.net auf der Projektseite.] |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} f42b105c97b2891ceb0986a20d9fdba074ec75a4 1746 1745 2023-03-19T13:00:22Z Hagbard 2 wikitext text/x-wiki __NOTOC__ {{Navigation_Open_Source_Anwendungen}} ==Multimedia== {{SoftwareTable |TITLE=Player |ENTRIES= {{SoftwareTableEntry |NAME=VLC media player |ICON=VLC Icon.svg |URL=http://www.videolan.org |DESCRIPTION=Freier, plattformübergreifender Multiformat-Player mit Unterstützung von Netzwerkstreaming |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} <!-- {{SoftwareTableEntry |NAME=MPlayer |ICON=Mplayer.png |URL=http://www.mplayerhq.hu |DESCRIPTION=Freier, plattformübergreifender und sehr kompatker Multiformat-Player. Per se nur für die Kommandozeile (ohne graphische Oberfläche) existieren für Mac OS X mehrere graphische Umgebungen, z.B.: * [http://mplayerx.org/ MPlayerX] * <del>[http://mplayerosx.sttz.ch/ MPlayer OSX Extended]</del> (letzte Version: r14, Jan. 2011) * <del>[http://mplayerosx.sourceforge.net/ MPlayerOSX]</del> (aktuellste Version vom 20.5.2005) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} {{SoftwareTableEntry |NAME=niceplayer |ICON=NicePlayer.png |URL=http://code.google.com/p/niceplayer/ |DESCRIPTION=Mediaplayer für Mac OS X ("fullscreen, borderless multi-engine player") |DEPS= |LICENSE=[[wikipedia:de:Mozilla_Public_License|MPL 1.1]] }} {{SoftwareTableEntry |NAME=Fullscreen Movie Player |URL=http://www.monkeybreadsoftware.de/Freeware/FullscreenMoviePlayer.shtml |DESCRIPTION=Fullscreen Playback für non-Pro-QuickTime (für MacOS 8, Mac OS X und Windows) |DEPS= |LICENSE= }} {{SoftwareTableEntry |NAME=<del>Perian</del> |ICON=Perian icon.png |URL=http://perian.org/ |DESCRIPTION=<del>Codec-Paket für eine Vielzahl verschiedener Formate (außer MPEG 2)</del> wird leider nicht mehr weiterentwickelt |DEPS= |LICENSE=[[wikipedia:de:GNU_Lesser_General_Public_License|LGPLv2]] }} --> }} {{SoftwareTable |TITLE=TV und Mediacenter |ENTRIES= {{SoftwareTableEntry |NAME=TV-Browser |ICON=TV-Browser.svg |URL=http://www.tvbrowser.org/ |DESCRIPTION=Umfassender, funktionsreicher und erweiterbarer Browser für das Fernsehprogramm |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=Mediathekview |ICON=MediathekView Logo 2017.svg |URL=https://mediathekview.de/ |DESCRIPTION=Browser für die deutschen öffentlich-rechtlichen TV Mediatheken für Wiedergabe und Download von Sendungen |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv3]] }} {{SoftwareTableEntry |NAME=Plex Media Center |ICON=Plex vector logo.svg |URL=http://www.plexapp.com/ |DESCRIPTION=Auf [[wikipedia:de:XBMC_Media_Center|XMBC]] basierende Media Center Lösung |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} }} {{SoftwareTable |TITLE=Videobearbeitung |ENTRIES= {{SoftwareTableEntry |NAME=Avidemux |ICON=Avidemux-logo.png |URL=http://avidemux.sourceforge.net/ |DESCRIPTION="... is a free video editor designed for simple cutting, filtering and encoding tasks" (plattformübergreifend, Tipp: die QT-Variante läuft unter Mac OS X offenbar deutlich stabiler) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} {{SoftwareTableEntry |NAME=ProjectX |URL=http://www.lucike.info/ |DESCRIPTION=Nachbearbeitung (Demuxen und Schneiden) von DVB-Aufnahmen, weitere Infos gibts auch [http://wiki.tuxbox.org/ProjectX hier] |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE= }} {{SoftwareTableEntry |NAME=DVDStyler |ICON=DVDStyler.png |URL=http://www.dvdstyler.org/ |DESCRIPTION=DVD-Authoring für Mac OS X, Windows und Linux |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Audiobearbeitung |ENTRIES= {{SoftwareTableEntry |NAME=Audacity |ICON=Audacity.svg |URL=http://audacity.sourceforge.net |DESCRIPTION=Audiobearbeitung (mit [[wikipedia:de:Virtual_Studio_Technology|VST]] Plugin-Schnittstelle), weitere Downloads (z.B. Codecs oder den VST-Enabler) gibts [http://audacity.sourceforge.net auf der Projektseite.] |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} 59a2d212d422ca3dfdb1fc5f1bc27307a739a7eb Terminal Quickies 0 11 1747 1735 2023-04-17T09:40:04Z Hagbard 2 /* Administration */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== ===Delete APFS Snapshots to be able to add partitions=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AppleEvents tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 159a08d1be3ee3f705756959ab843bf4c430c845 1748 1747 2023-04-17T09:40:40Z Hagbard 2 /* Delete APFS Snapshots to be able to add partitions */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AppleEvents tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] ca8cf40b38241576713fab00d8051a94a2e87c9c File:AdminBenutzerAnlegen.png 6 347 1749 2023-04-17T10:19:00Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Ajax schematisch.png 6 348 1750 2023-04-17T10:19:13Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Automator CreateDiskImage.png 6 349 1751 2023-04-17T10:19:27Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:CellRelayZelle.png 6 350 1752 2023-04-17T10:19:37Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Digitale Bilder iOS Autostart.png 6 351 1753 2023-04-17T10:19:44Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:DiskUtility - Journaling deaktivieren.png 6 352 1754 2023-04-17T10:19:53Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:DiskUtility ZugriffsrechteReparieren.png 6 353 1755 2023-04-17T10:20:01Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Ethernet tp-belegung.png 6 354 1756 2023-04-17T10:20:10Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Ethernet Verkabelung.png 6 355 1757 2023-04-17T10:20:17Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:EthernetBridge.png 6 356 1758 2023-04-17T10:20:31Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:EthernetBridgeNet.png 6 357 1759 2023-04-17T10:20:40Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:EthernetCoS.png 6 358 1760 2023-04-17T10:20:47Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:EthernetHub.png 6 359 1761 2023-04-17T10:20:59Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:EthernetPacketHeader.png 6 360 1762 2023-04-17T10:21:07Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:EthernetSwitchConstruction.png 6 361 1763 2023-04-17T10:21:16Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:EthernetSwitchRTT.png 6 362 1764 2023-04-17T10:21:23Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Finder Zugriffsrechte.png 6 363 1765 2023-04-17T10:26:40Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Firefox Lesezeichen-Eigenschaften.png 6 364 1766 2023-04-17T10:26:50Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Hand.raised.png 6 365 1767 2023-04-17T10:26:57Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:ISDNKreuzschienenVerteiler.png 6 366 1768 2023-04-17T10:27:04Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:ISO-OSI-Schichtenmodell.png 6 367 1769 2023-04-17T10:27:12Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Keychain CreateNewPassword.png 6 368 1770 2023-04-17T10:27:37Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Keychain PasswordAssistant.png 6 369 1771 2023-04-17T10:28:01Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Kindersicherung.png 6 370 1772 2023-04-17T10:28:10Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:OSX Lion DVD Contents.png 6 371 1773 2023-04-17T10:28:32Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Sandbox Screenshot.png 6 372 1774 2023-04-17T10:28:43Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Spotlightpublicphp-script.png 6 373 1775 2023-04-17T10:29:02Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Stickies - Listen in Notizzetteln.png 6 374 1776 2023-04-17T10:29:11Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:System Preferences PasswordAssistant.png 6 375 1777 2023-04-17T10:29:32Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:System Profiler - SMART-Status.png 6 376 1778 2023-04-17T10:29:44Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Systemeinstellungen FileVault.png 6 377 1779 2023-04-17T10:29:56Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Systemeinstellungen KeinNetzwerk.png 6 378 1780 2023-04-17T10:30:11Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Systemeinstellungen KeyboardShortcut erstellen.png 6 379 1781 2023-04-17T10:30:24Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Tex-watermark-draft.pdf 6 380 1782 2023-04-17T10:32:10Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Adding Watermarks with LaTeX 0 174 1783 1216 2023-04-17T10:32:43Z Hagbard 2 wikitext text/x-wiki [[Category:TeX]][[Category:Hint]] ==Wasserzeichen in TeX-Dokumenten== Mit den folgenden Zeilen Code und einer Grafik lassen sich einfach TeX-Dokumente mit Wasserzeichen hinterlegen, z.B.: "Muster", "Draft" oder ähnliches. Dazu werden zuerst die folgenden Pakete benötigt: \usepackage{eso-pic,graphicx} Anschließend wird innerhalb der Tags \makeatletter ... \makeatother das Element \BackgroundPicture überladen: \newcommand\BackgroundPicture[3]{% \setlength{\unitlength}{1pt}% \put(0,\strip@pt\paperheight){% \parbox[t][\paperheight]{\paperwidth}{% \vfill \centering\includegraphics[<font color="orange">width=21.4cm</font>,<font color="orange">angle=45</font>]{<font color="orange">img/draft</font>} \vfill } } } und das Hintergrundbild vor dem einleitenden Tag \begin{document} eingefügt: \AddToShipoutPicture{\BackgroundPicture} '''Anm.:''' die <font color="orange">hervorgehobenen</font> Bereiche müssen ggf. an die eigene Grafik angepasst werden, im obigen Beispiel handelt es sich um ein DinA4 Format '''width:''' Breite<br /> '''height:''' Höhe<br /> '''angle:''' Drehungswinkel Beispielgrafik: ''DRAFT'' als [[media:tex-watermark-draft.pdf|PDF]] ace6b6882ba0b37371f61b4f90601b4c14dd8c30 File:ITunes 10 Ping Button.png 6 381 1784 2023-04-17T10:33:47Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:NetInfoManager MenueSicherheit.png 6 382 1785 2023-04-17T10:34:46Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Systemeinstellungen Netzwerk.png 6 383 1786 2023-04-17T10:35:34Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Xcode Organizer.png 6 384 1787 2023-04-17T10:36:02Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Screenshots vom iPhone erstellen 0 318 1788 1625 2023-04-17T10:36:16Z Hagbard 2 wikitext text/x-wiki [[Category:Hint]]Um Screenshots des iPhone-Bildschirminhaltes zu erstellen, gibt es zwei Möglichkeiten: ==Xcode Organizer== [[Image:Xcode_Organizer.png|thumb|Xcode Organizer]] Hierfür muss das iPhone als Entwicklergerät am Mac (bzw. in Xcode) angemeldet sein und im Xcode Organizer zur Verfügung stehen. Dieser ist über folgende Tastenkombination erreichbar:<KB>ctrl + cmd + o</KB> Dort wählt man das Gerät in der Navigation links aus und öffnet das Tab "Screenshots". Dort kann man dann Screenshots des iPhone-Bildschirminhaltes erstellen. Das hat den Vorteil, dass die Screenshots anschließend direkt auf dem Mac weiterverarbeitet werden können. [[Image:Info_Sign.svg|16px]] Diese Funktion ist (zumindest derzeit) im [http://www.apple.com/support/iphone/enterprise/ iPhone Konfigurationsprogramm] (Version 2.1) nicht verfügbar. ==Auf dem iPhone== [[Image:IPhone_XS_Max_Silver.svg|left|48px]] Seit iPhone OS 2.0 gibt es die Möglichkeit, direkt mit dem iPhone selber einen Screenshot zu erstellen. Dazu ist einfach der Home-Button gedrückt zu halten, während die Taste auf der Oberseite (zum Ein- und Ausschalten des Bildschirms) kurz gedrückt wird (funktioniert nicht im gesperrten Zustand). Es erscheint derselbe Effekt wie unter Mac OS X beim Erstellen eines Fotos mit PhotoBooth, das Bild landet anschließend bei den übrigen Alben in der Foto-Sammlung des iPhone. 54fd29979a453ae6ae1ba33dbad9d6f7ef90ce45 File:Xcode SchemeEditor Languages.png 6 385 1789 2023-04-17T10:36:38Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Xcode SchemeEditor Options.png 6 386 1790 2023-04-17T10:36:49Z Hagbard 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Open Source Anwendungen/Webbasierte Anwendungen 0 305 1791 1599 2023-04-17T10:39:13Z Hagbard 2 wikitext text/x-wiki __NOTOC__ {{Navigation_Open_Source_Anwendungen}} Webbasierte Applikationen benötigen üblicherweise einen Webserver (in der Regel Apache oder IIS) als Laufzeitumgebung, wobei oftmals statt des in Mac OS X integrierten Apache Webservers sogenannte "[[wikipedia:en:List_of_AMP_packages|AMP]]" Umgebungen eingesetzt werden da diese unabhängig von Betriebssystemupdate sind und neben weiteren Funktionen/Bibliotheken auch in der Regel einen MySQL Datenbankserver beinhalten. ==Webbasierte Anwendungen== {{SoftwareTable |TITLE=Content Management |ENTRIES= {{SoftwareTableEntry |NAME=webEdition |ICON=WebEdition-logo.svg |URL=http://www.webedition.org |DESCRIPTION=Ein benutzerfreundliches, modular aufgebautes, freies Web-Content-Management-System ([[wikipedia:de:Content-Management-System|WCMS]]). Es ist ein Datei- und zugleich Datenbank-basiertes System und kann somit sowohl statische Inhalte performant ablegen als auch komplexe dynamische Inhalte bereitstellen. |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:MySQL textlogo.svg|48px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] (CMS), [[wikipedia:de:GNU_Lesser_General_Public_License|LGPL]] (SDK) }} }} {{SoftwareTable |TITLE=Webstatistiken |ENTRIES= {{SoftwareTableEntry |NAME=matomo |ICON=Matomo Logo.svg |URL=http://www.matomo.org |DESCRIPTION=matomo (früher: Piwik) ist eine funktionsreiche und erweiterbare Web-Analytik-Software für den Betrieb auf dem eigenen Server (siehe auch: [[wikipedia:de:Piwik|Piwik in der Wikipedia]]) |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:MySQL textlogo.svg|48px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} {{SoftwareTable |TITLE=Projektmanagement |ENTRIES= {{SoftwareTableDummyEntry}} }} {{SoftwareTable |TITLE=Kommunikation und Zusammenarbeit |ENTRIES= {{SoftwareTableDummyEntry}} }} {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableEntry |NAME=eXtplorer |URL=http://extplorer.sourceforge.net/ |DESCRIPTION=Webbasierter Dateimanager mit großem Funktionsumfang, basiert auf dem JS-Framework [http://www.exts.com ExtJS], Weitere Infos auf der [sourceforge.net/projects/extplorer Projektseite] |DEPS=[[Image:PHP-logo.svg|48px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]], [[wikipedia:de:Mozilla_Public_License|MPL]] }} {{SoftwareTableEntry |NAME=phpMyAdmin |URL=http://www.phpmyadmin.net/ |DESCRIPTION=Webbasiertes Werkzeug zur Verwaltung eines [http://www.mysql.com MySQL] Datenbankservers |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:MySQL textlogo.svg|48px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} {{SoftwareTableEntry |NAME=MySQLDumper |URL=http://www.mysqldumper.de/ |DESCRIPTION=Webbasiertes Werkzeug zur Verwaltung eines [http://www.mysql.com MySQL] Datenbankservers, sehr gut geeignet v.a. für das Erstellen und Wiederherstellen von Backups großer Datenbanken. |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:MySQL textlogo.svg|48px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] }} }} 28561ba5e8a48f834df00565cde0a7cfeba3e133 Template:SoftwareTableDummyEntry 10 387 1792 2023-04-17T10:56:58Z Hagbard 2 Created page with "<noinclude></noinclude><includeonly> <tr> <td colspan="5" style="padding:6px 0px 6px 0px; border-top:1px solid #c8c8c8; text-align:center;">''bisher keine Eintragungen''</td> </tr> </includeonly>" wikitext text/x-wiki <noinclude></noinclude><includeonly> <tr> <td colspan="5" style="padding:6px 0px 6px 0px; border-top:1px solid #c8c8c8; text-align:center;">''bisher keine Eintragungen''</td> </tr> </includeonly> 45b460c26d150c5bc90c5c54ce28bce123cc3c9d Open Source Anwendungen/Serverdienste 0 302 1793 1593 2023-04-17T10:57:20Z Hagbard 2 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ {{Navigation_Open_Source_Anwendungen}} ==Serverdienste== {{SoftwareTable |TITLE=Webserver |ENTRIES= {{SoftwareTableEntry |NAME=XAMPP |ICON=Xampp logo.svg |URL=http://www.apachefriends.org |DESCRIPTION=Serverstack für Windows, Linux, Mac OS X und Solaris, bestehend aus Apache, MySQL, PHP, Perl, phpMyAdmin und OpenSSL |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] u.a. }} {{SoftwareTableEntry |NAME=MAMP |URL=http://www.mamp.info |DESCRIPTION=Serverstack für MacOS X, bestehend aus Apache 2, MySQL 5, PHP 4/5 (ab Version 1.9: PHP 5.2/5.3) und einigen weiteren Tools (siehe auch [[MAMP_Quickies|hier]]) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] (MAMP Applikation) u.a. }} }} {{SoftwareTable |TITLE=Datenbank-Server |ENTRIES= {{SoftwareTableEntry |NAME=MySQL |ICON=MySQL textlogo.svg |URL=http://www.mysql.com |DESCRIPTION=MySQL Database Server], Mac OS X Package sind [http://www.entropy.ch/software/macosx/mysql/ hier verfügbar] |DEPS= |LICENSE=Dual ([[wikipedia:de:Proprietär|Proprietär]] und [[wikipedia:de:GNU General Public License|GPL]] ) }} {{SoftwareTableEntry |NAME=PostgreSQL |ICON=Postgresql elephant.svg |URL=http://www.postgresql.org/ |DESCRIPTION=PostgreSQL Database Server, Mac OS X Packages sind [http://www.entropy.ch/software/macosx/postgresql/ hier verfügbar] |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD]] }} }} {{SoftwareTable |TITLE=Web-/Applikationsserver |ENTRIES= {{SoftwareTableEntry |NAME=nginx |ICON=Nginx logo.svg |URL=http://www.nginx.org/ |DESCRIPTION=Plattformübergreifender Webserver, Reverse-Proxy und E-Mail Proxy für den Hochlastbetrieb. Siehe auch: [http://wiki.nginx.org/ nginx Wiki], [[wikipedia:de:Nginx|nginx]] in der [[wikipedia:de:Hauptseite|Wikipedia]] |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD-Lizenz]] }} {{SoftwareTableEntry |NAME=Apache Tomcat |ICON=Logo - Apache Tomcat.svg |URL=http://tomcat.apache.org/ |DESCRIPTION=Plattformübergreifender Kava Applikationsserver, Mac OS X Installationspakete sind [http://sisuworks.com/page3/page3.html hier verfügbar] |DEPS= |LICENSE=[[wikipedia:de:Apache-Lizenz|Apache-Lizenz]] }} }} {{SoftwareTable |TITLE=Web-Proxies |ENTRIES= {{SoftwareTableEntry |NAME=GlimmerBlocker |URL=http://glimmerblocker.org/ |DESCRIPTION=Browserübergreifender Adblocking-Proxy, funktionell ähnlich der bekannten [http://adblockplus.org Firefox-Erweiterung].Ein kleiner Bericht dazu ist auf [http://www.opensourcemac.de/2009/01/14/werbefrei/ opensourcemac.de] erschienen. |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=Privoxy |URL=http://www.privoxy.org/ |DESCRIPTION=Anonymisierungs-Webproxy |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=Squid Man |URL=http://web.me.com/adg/squidman/ |DESCRIPTION=graphischer Installer für den [http://www.squid-cache.org/ squid] Proxy (siehe auch: [[wikipedia:de:Squid|Wikipedia]], [http://www.squid-handbuch.de/hb/ squid-handbuch.de]) |DEPS= |LICENSE=''-?-'' }} {{SoftwareTableEntry |NAME=Tor Project |ICON=Tor logo-1.png |URL=http://www.torproject.org |DESCRIPTION=Komplett-Paket aus [http://tor.eff.org/ Tor-Client/Server], Privoxy und einer GUI für das Starten und Stoppen des Services. Installationshinweise gibt es [http://tor.eff.org/docs/tor-doc-osx.html.en hier] und im [http://trac.vidalia-project.net/wiki/InstallOSX Vidalia-Wiki], siehe auch [[wikipedia:de:Tor_(Netzwerk)|Wikipedia]] |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} }} {{SoftwareTable |TITLE=Weitere Server-Dienste |ENTRIES= {{SoftwareTableEntry |NAME=Apple Collaboration |URL=http://calendarserver.macosforge.org/ |DESCRIPTION=Der [[ICal-Server|iCal-Server]] von Mac OS X (Server) |DEPS= |LICENSE=[[wikipedia:de:Apache-Lizenz|Apache 2.0 License]] }} {{SoftwareTableEntry |NAME=Darwin Streaming Server |ICON=Crystal Project Quicktime.png |URL=http://developer.apple.com/opensource/server/streaming/index.html |DESCRIPTION=quelloffener Apple Streaming-Server (QuickTime Streaming Server, siehe auch [http://dss.macosforge.org/ Mac OS Forge] und [[wikipedia:de:QuickTime_Streaming_Server|Wikipedia]]) |DEPS= |LICENSE=[[wikipedia:de:Apple_Public_Source_License|Apple Public Source License]] }} {{SoftwareTableEntry |NAME=Funambol Server |URL=http://www.funambol.com/opensource/ |DESCRIPTION=SyncML Server für PIM und E-Mail, mit verschiedenen Clients z.B. für iPod, iPhone, Windows Mobile, Blackberry, Symbian und Microsoft Outlook) |DEPS=[[Image:Tux.svg|32px]] [[Image:Windows logo 2012-Black.svg|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]]/[http://www.funambol.com/opensource/project/HPLv1.1.txt HPL] }} }} {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableDummyEntry}} }} 2c20eaedfe0a63041f96dfd6c7dcf5dcf90e1a1b 1796 1793 2023-04-17T11:00:52Z Hagbard 2 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ {{Navigation_Open_Source_Anwendungen}} ==Serverdienste== {{SoftwareTable |TITLE=Webserver |ENTRIES= {{SoftwareTableEntry |NAME=XAMPP |ICON=Xampp logo.svg |URL=http://www.apachefriends.org |DESCRIPTION=Serverstack für Windows, Linux, Mac OS X und Solaris, bestehend aus Apache, MySQL, PHP, Perl, phpMyAdmin und OpenSSL |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] u.a. }} {{SoftwareTableEntry |NAME=MAMP |URL=http://www.mamp.info |DESCRIPTION=Serverstack für MacOS X, bestehend aus Apache 2, MySQL 5, PHP 4/5 (ab Version 1.9: PHP 5.2/5.3) und einigen weiteren Tools (siehe auch [[MAMP_Quickies|hier]]) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] (MAMP Applikation) u.a. }} }} {{SoftwareTable |TITLE=Datenbank-Server |ENTRIES= {{SoftwareTableEntry |NAME=MySQL |ICON=Mysql-dolphin-square.svg |URL=http://www.mysql.com |DESCRIPTION=MySQL Database Server], Mac OS X Package sind [http://www.entropy.ch/software/macosx/mysql/ hier verfügbar] |DEPS= |LICENSE=Dual ([[wikipedia:de:Proprietär|Proprietär]] und [[wikipedia:de:GNU General Public License|GPL]] ) }} {{SoftwareTableEntry |NAME=PostgreSQL |ICON=Postgresql elephant.svg |URL=http://www.postgresql.org/ |DESCRIPTION=PostgreSQL Database Server, Mac OS X Packages sind [http://www.entropy.ch/software/macosx/postgresql/ hier verfügbar] |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD]] }} }} {{SoftwareTable |TITLE=Web-/Applikationsserver |ENTRIES= {{SoftwareTableEntry |NAME=nginx |ICON=Nginx logo.svg |URL=http://www.nginx.org/ |DESCRIPTION=Plattformübergreifender Webserver, Reverse-Proxy und E-Mail Proxy für den Hochlastbetrieb. Siehe auch: [http://wiki.nginx.org/ nginx Wiki], [[wikipedia:de:Nginx|nginx]] in der [[wikipedia:de:Hauptseite|Wikipedia]] |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD-Lizenz]] }} {{SoftwareTableEntry |NAME=Apache Tomcat |ICON=Logo - Apache Tomcat.svg |URL=http://tomcat.apache.org/ |DESCRIPTION=Plattformübergreifender Kava Applikationsserver, Mac OS X Installationspakete sind [http://sisuworks.com/page3/page3.html hier verfügbar] |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:Apache-Lizenz|Apache-Lizenz]] }} }} {{SoftwareTable |TITLE=Web-Proxies |ENTRIES= {{SoftwareTableEntry |NAME=GlimmerBlocker |URL=http://glimmerblocker.org/ |DESCRIPTION=Browserübergreifender Adblocking-Proxy, funktionell ähnlich der bekannten [http://adblockplus.org Firefox-Erweiterung].Ein kleiner Bericht dazu ist auf [http://www.opensourcemac.de/2009/01/14/werbefrei/ opensourcemac.de] erschienen. |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=Privoxy |URL=http://www.privoxy.org/ |DESCRIPTION=Anonymisierungs-Webproxy |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=Squid Man |URL=http://web.me.com/adg/squidman/ |DESCRIPTION=graphischer Installer für den [http://www.squid-cache.org/ squid] Proxy (siehe auch: [[wikipedia:de:Squid|Wikipedia]], [http://www.squid-handbuch.de/hb/ squid-handbuch.de]) |DEPS= |LICENSE=''-?-'' }} {{SoftwareTableEntry |NAME=Tor Project |ICON=Tor logo-1.png |URL=http://www.torproject.org |DESCRIPTION=Komplett-Paket aus [http://tor.eff.org/ Tor-Client/Server], Privoxy und einer GUI für das Starten und Stoppen des Services. Installationshinweise gibt es [http://tor.eff.org/docs/tor-doc-osx.html.en hier] und im [http://trac.vidalia-project.net/wiki/InstallOSX Vidalia-Wiki], siehe auch [[wikipedia:de:Tor_(Netzwerk)|Wikipedia]] |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} }} {{SoftwareTable |TITLE=Weitere Server-Dienste |ENTRIES= {{SoftwareTableEntry |NAME=Apple Collaboration |URL=http://calendarserver.macosforge.org/ |DESCRIPTION=Der [[ICal-Server|iCal-Server]] von Mac OS X (Server) |DEPS= |LICENSE=[[wikipedia:de:Apache-Lizenz|Apache 2.0 License]] }} {{SoftwareTableEntry |NAME=Darwin Streaming Server |ICON= |URL=http://developer.apple.com/opensource/server/streaming/index.html |DESCRIPTION=quelloffener Apple Streaming-Server (QuickTime Streaming Server, siehe auch [http://dss.macosforge.org/ Mac OS Forge] und [[wikipedia:de:QuickTime_Streaming_Server|Wikipedia]]) |DEPS= |LICENSE=[[wikipedia:de:Apple_Public_Source_License|Apple Public Source License]] }} {{SoftwareTableEntry |NAME=Funambol Server |URL=http://www.funambol.com/opensource/ |DESCRIPTION=SyncML Server für PIM und E-Mail, mit verschiedenen Clients z.B. für iPod, iPhone, Windows Mobile, Blackberry, Symbian und Microsoft Outlook) |DEPS=[[Image:Tux.svg|32px]] [[Image:Windows logo 2012-Black.svg|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]]/[http://www.funambol.com/opensource/project/HPLv1.1.txt HPL] }} }} {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableDummyEntry}} }} 04f27e277248a858672c97f2f793ec95a5e7a05f Template:SoftwareTableEntry 10 346 1794 1740 2023-04-17T10:57:46Z Hagbard 2 wikitext text/x-wiki <noinclude> ;Beispiel: <source> {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableEntry |NAME=phpMyAdmin |ICON=PhpMyAdmin.png |URL=http://www.phpmyadmin.net/ |DESCRIPTION=Webbasiertes Werkzeug zur Verwaltung eines [http://www.mysql.com MySQL] Datenbankservers |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:Mysql-dolphin-square.svg|24px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} }}</source> ;Ausgabe: {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableEntry |NAME=phpMyAdmin |ICON=PhpMyAdmin.png |URL=http://www.phpmyadmin.net/ |DESCRIPTION=Webbasiertes Werkzeug zur Verwaltung eines [http://www.mysql.com MySQL] Datenbankservers |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:MySQL textlogo.svg|48px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} {{SoftwareTableEntry |NAME=phpMyAdmin |URL=http://www.phpmyadmin.net/ |DESCRIPTION=Webbasiertes Werkzeug zur Verwaltung eines [http://www.mysql.com MySQL] Datenbankservers |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:Mysql-dolphin-square.svg|24px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} }} </noinclude><includeonly> <tr> <td style="padding:6px 0px 6px 0px; border-top:1px solid #c8c8c8;">{{#ifeq:{{{ICON|}}}|{{{ICON}}}| [[Image:{{{ICON}}}|32px]] | }}</td> <td style="padding:6px 10px 6px 0px; border-top:1px solid #c8c8c8;">[{{{URL}}} {{{NAME}}}]</td> <td style="padding:6px 10px 6px 0px; border-top:1px solid #c8c8c8;">{{{DESCRIPTION}}}</td> <td style="padding:6px 0px 6px 0px; border-top:1px solid #c8c8c8;">{{{DEPS}}}</td> <td style="padding:6px 0px 6px 0px; border-top:1px solid #c8c8c8;">{{{LICENSE}}}</td> </tr> </includeonly> c0a73382e768fc3a8febe1c558043f85deabc97c 1795 1794 2023-04-17T10:57:59Z Hagbard 2 wikitext text/x-wiki <noinclude> ;Beispiel: <source> {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableEntry |NAME=phpMyAdmin |ICON=PhpMyAdmin.png |URL=http://www.phpmyadmin.net/ |DESCRIPTION=Webbasiertes Werkzeug zur Verwaltung eines [http://www.mysql.com MySQL] Datenbankservers |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:Mysql-dolphin-square.svg|24px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} }}</source> ;Ausgabe: {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableEntry |NAME=phpMyAdmin |ICON=PhpMyAdmin.png |URL=http://www.phpmyadmin.net/ |DESCRIPTION=Webbasiertes Werkzeug zur Verwaltung eines [http://www.mysql.com MySQL] Datenbankservers |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:MySQL textlogo.svg|48px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} {{SoftwareTableEntry |NAME=phpMyAdmin |URL=http://www.phpmyadmin.net/ |DESCRIPTION=Webbasiertes Werkzeug zur Verwaltung eines [http://www.mysql.com MySQL] Datenbankservers |DEPS=[[Image:PHP-logo.svg|48px]]&nbsp;&nbsp;[[Image:MySQL textlogo.svg|48px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPLv2]] }} }} </noinclude><includeonly> <tr> <td style="padding:6px 0px 6px 0px; border-top:1px solid #c8c8c8;">{{#ifeq:{{{ICON|}}}|{{{ICON}}}| [[Image:{{{ICON}}}|32px]] | }}</td> <td style="padding:6px 10px 6px 0px; border-top:1px solid #c8c8c8;">[{{{URL}}} {{{NAME}}}]</td> <td style="padding:6px 10px 6px 0px; border-top:1px solid #c8c8c8;">{{{DESCRIPTION}}}</td> <td style="padding:6px 0px 6px 0px; border-top:1px solid #c8c8c8;">{{{DEPS}}}</td> <td style="padding:6px 0px 6px 0px; border-top:1px solid #c8c8c8;">{{{LICENSE}}}</td> </tr> </includeonly> 2c1c820bf32f629b874cb321face1c342a52dd80 Open Source Anwendungen/Serverdienste 0 302 1797 1796 2023-04-17T11:01:22Z Hagbard 2 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ {{Navigation_Open_Source_Anwendungen}} ==Serverdienste== {{SoftwareTable |TITLE=Webserver |ENTRIES= {{SoftwareTableEntry |NAME=XAMPP |ICON=Xampp logo.svg |URL=http://www.apachefriends.org |DESCRIPTION=Serverstack für Windows, Linux, Mac OS X und Solaris, bestehend aus Apache, MySQL, PHP, Perl, phpMyAdmin und OpenSSL |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] u.a. }} {{SoftwareTableEntry |NAME=MAMP |URL=http://www.mamp.info |DESCRIPTION=Serverstack für MacOS X, bestehend aus Apache 2, MySQL 5, PHP 4/5 (ab Version 1.9: PHP 5.2/5.3) und einigen weiteren Tools (siehe auch [[MAMP_Quickies|hier]]) |DEPS= |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]] (MAMP Applikation) u.a. }} }} {{SoftwareTable |TITLE=Datenbank-Server |ENTRIES= {{SoftwareTableEntry |NAME=MySQL |ICON=MySQL textlogo.svg |URL=http://www.mysql.com |DESCRIPTION=MySQL Database Server], Mac OS X Package sind [http://www.entropy.ch/software/macosx/mysql/ hier verfügbar] |DEPS= |LICENSE=Dual ([[wikipedia:de:Proprietär|Proprietär]] und [[wikipedia:de:GNU General Public License|GPL]] ) }} {{SoftwareTableEntry |NAME=PostgreSQL |ICON=Postgresql elephant.svg |URL=http://www.postgresql.org/ |DESCRIPTION=PostgreSQL Database Server, Mac OS X Packages sind [http://www.entropy.ch/software/macosx/postgresql/ hier verfügbar] |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD]] }} }} {{SoftwareTable |TITLE=Web-/Applikationsserver |ENTRIES= {{SoftwareTableEntry |NAME=nginx |ICON=Nginx logo.svg |URL=http://www.nginx.org/ |DESCRIPTION=Plattformübergreifender Webserver, Reverse-Proxy und E-Mail Proxy für den Hochlastbetrieb. Siehe auch: [http://wiki.nginx.org/ nginx Wiki], [[wikipedia:de:Nginx|nginx]] in der [[wikipedia:de:Hauptseite|Wikipedia]] |DEPS= |LICENSE=[[wikipedia:de:BSD-Lizenz|BSD-Lizenz]] }} {{SoftwareTableEntry |NAME=Apache Tomcat |ICON=Logo - Apache Tomcat.svg |URL=http://tomcat.apache.org/ |DESCRIPTION=Plattformübergreifender Kava Applikationsserver, Mac OS X Installationspakete sind [http://sisuworks.com/page3/page3.html hier verfügbar] |DEPS=[[Image:Crystal Project java.png|32px]] |LICENSE=[[wikipedia:de:Apache-Lizenz|Apache-Lizenz]] }} }} {{SoftwareTable |TITLE=Web-Proxies |ENTRIES= {{SoftwareTableEntry |NAME=GlimmerBlocker |URL=http://glimmerblocker.org/ |DESCRIPTION=Browserübergreifender Adblocking-Proxy, funktionell ähnlich der bekannten [http://adblockplus.org Firefox-Erweiterung].Ein kleiner Bericht dazu ist auf [http://www.opensourcemac.de/2009/01/14/werbefrei/ opensourcemac.de] erschienen. |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=Privoxy |URL=http://www.privoxy.org/ |DESCRIPTION=Anonymisierungs-Webproxy |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} {{SoftwareTableEntry |NAME=Squid Man |URL=http://web.me.com/adg/squidman/ |DESCRIPTION=graphischer Installer für den [http://www.squid-cache.org/ squid] Proxy (siehe auch: [[wikipedia:de:Squid|Wikipedia]], [http://www.squid-handbuch.de/hb/ squid-handbuch.de]) |DEPS= |LICENSE=''-?-'' }} {{SoftwareTableEntry |NAME=Tor Project |ICON=Tor logo-1.png |URL=http://www.torproject.org |DESCRIPTION=Komplett-Paket aus [http://tor.eff.org/ Tor-Client/Server], Privoxy und einer GUI für das Starten und Stoppen des Services. Installationshinweise gibt es [http://tor.eff.org/docs/tor-doc-osx.html.en hier] und im [http://trac.vidalia-project.net/wiki/InstallOSX Vidalia-Wiki], siehe auch [[wikipedia:de:Tor_(Netzwerk)|Wikipedia]] |DEPS= |LICENSE=[[wikipedia:de:GNU General Public License|GPL]] }} }} {{SoftwareTable |TITLE=Weitere Server-Dienste |ENTRIES= {{SoftwareTableEntry |NAME=Apple Collaboration |URL=http://calendarserver.macosforge.org/ |DESCRIPTION=Der [[ICal-Server|iCal-Server]] von Mac OS X (Server) |DEPS= |LICENSE=[[wikipedia:de:Apache-Lizenz|Apache 2.0 License]] }} {{SoftwareTableEntry |NAME=Darwin Streaming Server |ICON= |URL=http://developer.apple.com/opensource/server/streaming/index.html |DESCRIPTION=quelloffener Apple Streaming-Server (QuickTime Streaming Server, siehe auch [http://dss.macosforge.org/ Mac OS Forge] und [[wikipedia:de:QuickTime_Streaming_Server|Wikipedia]]) |DEPS= |LICENSE=[[wikipedia:de:Apple_Public_Source_License|Apple Public Source License]] }} {{SoftwareTableEntry |NAME=Funambol Server |URL=http://www.funambol.com/opensource/ |DESCRIPTION=SyncML Server für PIM und E-Mail, mit verschiedenen Clients z.B. für iPod, iPhone, Windows Mobile, Blackberry, Symbian und Microsoft Outlook) |DEPS=[[Image:Tux.svg|32px]] [[Image:Windows logo 2012-Black.svg|32px]] |LICENSE=[[wikipedia:de:GNU_General_Public_License|GPL]]/[http://www.funambol.com/opensource/project/HPLv1.1.txt HPL] }} }} {{SoftwareTable |TITLE=Werkzeuge |ENTRIES= {{SoftwareTableDummyEntry}} }} acb11d2356789958449a4d17185b8c34dc6b500e Terminal Quickies 0 11 1798 1748 2023-04-22T10:54:16Z Hagbard 2 /* App-Zugriffsberechtigungen zurücksetzen */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 083bdc85cbd72970cf9cf27a41ebe5a6e84c43c4 1799 1798 2023-04-24T13:40:21Z Hagbard 2 /* Administration */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== ===Disable Spotlight=== to disable spotlight indexing altogether, run this: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app run this to enable it again: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 496314307b650b026d630155f684df91d4b6944e 1800 1799 2023-04-24T13:42:06Z Hagbard 2 /* Disable Spotlight */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app run this to enable it again: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 26f16829c55381e47b04ae93509da8b90ec32b74 1801 1800 2023-04-24T13:43:29Z Hagbard 2 /* Disable/Enable Spotlight Indexing */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 516d40b223083b081d753898d698d2f4cc866e46 1802 1801 2023-05-24T08:00:57Z Hagbard 2 /* Freigaben starten */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 3c8ef95ddaec189a02fce40ce95d4585bdb94349 1803 1802 2023-05-24T08:25:01Z Hagbard 2 /* Freigaben starten */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to either share nor access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 2e6729fe80b4559cbeb50701b6dc28e0bcf6c349 1804 1803 2023-05-24T08:26:02Z Hagbard 2 /* File Sharing */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 40cdb5e02356caa1553bec96154ed193066bf588 1820 1804 2023-06-23T06:54:39Z Hagbard 2 /* Administration */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] dfa3c4790d25bbc61bc2be6f925afa9aa6e1a1cf 1821 1820 2023-07-17T12:22:58Z Hagbard 2 /* Dateien und Verzeichnisse */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] e802fc9d1e54b41c1280981e17811dcb1625830c 1823 1821 2023-07-30T08:21:28Z Hagbard 2 /* Dateien und Verzeichnisse */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete file whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- filename" rm -- -\ filename </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 9957b96a78daa076051693d505ffe14a9e23e65c 1824 1823 2023-07-30T08:22:04Z Hagbard 2 /* Delete file whose name begins with a hyphen (dash/minus) */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using wget === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 0b66b3a2356c112cfd844b08d2da4ae2cfe06765 1825 1824 2023-07-30T08:45:07Z Hagbard 2 /* How to download a whole a website using wget */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] f69c99c87e2989626bfc05d7c35db74502fdcebb 1830 1825 2023-08-08T09:35:54Z Hagbard 2 /* Reload Quicklook PLugins */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 2204edb2cea6b488b66d171cc51bf08009f893cd 1831 1830 2023-08-15T07:19:44Z Hagbard 2 /* Programme */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). Please drop me an email if you know another way to do this on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] e15c31f043fbf2d4b26c282f56243270af0c8d56 1832 1831 2023-08-15T07:36:29Z Hagbard 2 /* Apple Mail: View emails in plaintext */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 2c676e99eb2d2e651053f527047b1eb79c763d1b 1834 1832 2023-10-20T07:57:00Z Hagbard 2 /* Full keyboard access */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true to reenable it use this command: sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled On older macOS Versions this might help; launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist or respectively launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 402cc4939c21735cec70a34758f8bc6aa7e6ab07 1835 1834 2023-10-20T07:57:33Z Hagbard 2 /* Prevent Game Center connections */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true to reenable it use this command: sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled On older macOS Versions this might help; launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist or respectively launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 18595d3e8ed69b26699ed19473ca3b90701874bc 1836 1835 2023-10-20T07:58:33Z Hagbard 2 /* Prevent Game Center connections */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] d50bfe414c64ec8154e494eac47cad2c40d9e514 1837 1836 2023-10-20T10:49:07Z Hagbard 2 /* Prevent Game Center connections */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to disable SIP in order to disable the gamed launch agent. You do that by booting into Recovery Mode and running the terminal command <code>csrutil disable</code> to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===SIP vorübergehend deaktivieren=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] c9d46bf6b6b65e7dbf9a2a060b393aaf3d185dd7 1838 1837 2023-10-20T10:49:35Z Hagbard 2 /* SIP vorübergehend deaktivieren */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to disable SIP in order to disable the gamed launch agent. You do that by booting into Recovery Mode and running the terminal command <code>csrutil disable</code> to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===Disable SIP temporarily=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 9cedb28434598f583c6ee6f912362fa145861d9f 1839 1838 2023-10-20T10:50:10Z Hagbard 2 /* Prevent Game Center connections */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to [[#Disable SIP temporarily|disable SIP]] in order to disable the gamed launch agent. You do that by booting into Recovery Mode and running the terminal command <code>csrutil disable</code> to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===Disable SIP temporarily=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 6bcdd0ecc5122788d3239b23627dbdbe41d648b9 1842 1839 2023-10-20T11:49:41Z Hagbard 2 /* Disable SIP temporarily */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to [[#Disable SIP temporarily|disable SIP]] in order to disable the gamed launch agent. You do that by booting into Recovery Mode and running the terminal command <code>csrutil disable</code> to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===Disable SIP temporarily=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Hinweis: im Recovery Mode muss u.U. erst im sog. "Startup Disk Security Utility" (oder so ähnlich) das Sicherheitslevel heruntergesetzt werden, damit SIP via csrutil überhaupt deaktiviert werden darf. Diese Änderung sollte anschließend ebenfalls wieder rückgängig gemacht werden. Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 214539e15059cea6958bdc7f6c3020540acc9d50 1843 1842 2023-10-20T11:57:06Z Hagbard 2 /* Prevent Game Center connections */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to [[#Disable SIP temporarily|disable SIP]] in order to disable the gamed launch agent. to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===Disable SIP temporarily=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten Hinweis: im Recovery Mode muss u.U. erst im sog. "Startup Disk Security Utility" (oder so ähnlich) das Sicherheitslevel heruntergesetzt werden, damit SIP via csrutil überhaupt deaktiviert werden darf. Diese Änderung sollte anschließend ebenfalls wieder rückgängig gemacht werden. Operationen auf durch SIP geschützte Dateien und Verzeichnisse durchführen # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 9c78def6bbdab9d5c9e2c53a7579ea03396b49d2 1844 1843 2023-10-20T12:06:16Z Hagbard 2 /* Disable SIP temporarily */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to [[#Disable SIP temporarily|disable SIP]] in order to disable the gamed launch agent. to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===Disable SIP temporarily=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten '''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} wieder einwandfrei zu funktionieren. Ebenfalls im Recovery Mode natürlich. '''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installtion nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 8c2e00d6453ae8459e9c7ccca7bdb213e1df549d MacOS System Requirements 0 2 1805 1736 2023-05-24T08:28:34Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS versions on unsupported Macs – A Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_.2812.0.29|Version 12.0 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.6) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Processor || 64-Bit intel processor, Apple A12Z or later |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_.2811.0.29|Version 11.0 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.1) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Processor || 64-Bit intel processor, Apple A12Z oder neuer |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_.2810.15.29|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_.2810.14.29|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 14.3 GB für die Durchführung eines Upgrades |-- | see also || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | see also || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs with CoreSolo/CoreDuo processors<br />Intel-Macs and Intel GPU GMA 950 or x3100<br />Intel-Macs with ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. Juli 2011 |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel Macs with CoreSolo or CoreDuo processors (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 28. August 2009 |-- | Processor || Intel processor |-- | Memory (RAM) || 1 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 26. Oktober 2007 |-- | Processor || PowerPC G4 (867MHz or more), G5 or Intel processor |-- | Memory (RAM) || 512 MB RAM |-- | Other requirements || FireWire (integriert) |-- | see also || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 29. April 2005 |-- | Processor || PowerPC G3, G4 or G5 processor, Intel processors starting with Version 10.4.4 |-- | Memory (RAM) || 256 MB RAM |-- | see also || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2003 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 13. August 2002 |-- | Processor || PowerPC G3, G4 or G5 orocessor (233 MHz or more, see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. März 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) 70fef5e68b8fe2b860957587ae9567f95c37d54b 1806 1805 2023-05-24T08:28:57Z Hagbard 2 /* macOS Big Sur (11.7.1) 32px 32px */ wikitext text/x-wiki [[Category:OS]][[Category:Translate]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS versions on unsupported Macs – A Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_.2812.0.29|Version 12.0 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.6) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Processor || 64-Bit intel processor, Apple A12Z or later |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_.2811.0.29|Version 11.0 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.7) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Processor || 64-Bit intel processor, Apple A12Z oder neuer |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_.2810.15.29|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_.2810.14.29|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 14.3 GB für die Durchführung eines Upgrades |-- | see also || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | see also || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs with CoreSolo/CoreDuo processors<br />Intel-Macs and Intel GPU GMA 950 or x3100<br />Intel-Macs with ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. Juli 2011 |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel Macs with CoreSolo or CoreDuo processors (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 28. August 2009 |-- | Processor || Intel processor |-- | Memory (RAM) || 1 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 26. Oktober 2007 |-- | Processor || PowerPC G4 (867MHz or more), G5 or Intel processor |-- | Memory (RAM) || 512 MB RAM |-- | Other requirements || FireWire (integriert) |-- | see also || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 29. April 2005 |-- | Processor || PowerPC G3, G4 or G5 processor, Intel processors starting with Version 10.4.4 |-- | Memory (RAM) || 256 MB RAM |-- | see also || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2003 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 13. August 2002 |-- | Processor || PowerPC G3, G4 or G5 orocessor (233 MHz or more, see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. März 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) 6f378b2ca77c3c17c07b6e5f671460272f864296 1807 1806 2023-05-24T08:34:35Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS versions on unsupported Macs – A Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_(12.6.6)|Version 12 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.6) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Processor || 64-Bit intel processor, Apple A12Z or later |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_(11.7.7)|Version 11 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.7) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Processor || 64-Bit intel processor, Apple A12Z oder neuer |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_(10.15.7)|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_(10.14.6)|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 14.3 GB für die Durchführung eines Upgrades |-- | see also || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | see also || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs with CoreSolo/CoreDuo processors<br />Intel-Macs and Intel GPU GMA 950 or x3100<br />Intel-Macs with ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. Juli 2011 |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel Macs with CoreSolo or CoreDuo processors (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 28. August 2009 |-- | Processor || Intel processor |-- | Memory (RAM) || 1 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 26. Oktober 2007 |-- | Processor || PowerPC G4 (867MHz or more), G5 or Intel processor |-- | Memory (RAM) || 512 MB RAM |-- | Other requirements || FireWire (integriert) |-- | see also || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 29. April 2005 |-- | Processor || PowerPC G3, G4 or G5 processor, Intel processors starting with Version 10.4.4 |-- | Memory (RAM) || 256 MB RAM |-- | see also || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2003 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 13. August 2002 |-- | Processor || PowerPC G3, G4 or G5 orocessor (233 MHz or more, see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. März 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) c1d7554726c7a5882e2da4af99b0444f80a22f45 1808 1807 2023-05-24T08:36:35Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS versions on unsupported Macs – A Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. <!-- ===macOS Beta (14.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || dd. mmmm 2023 (Ankündigung: am dd. mmmm 2023) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 14.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Ventura_(13.x)|Version 13 (Ventura)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} --> ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_(12.6.6)|Version 12 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.6) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Processor || 64-Bit intel processor, Apple A12Z or later |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_(11.7.7)|Version 11 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.7) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Processor || 64-Bit intel processor, Apple A12Z oder neuer |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_(10.15.7)|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_(10.14.6)|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 14.3 GB für die Durchführung eines Upgrades |-- | see also || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | see also || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs with CoreSolo/CoreDuo processors<br />Intel-Macs and Intel GPU GMA 950 or x3100<br />Intel-Macs with ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. Juli 2011 |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel Macs with CoreSolo or CoreDuo processors (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 28. August 2009 |-- | Processor || Intel processor |-- | Memory (RAM) || 1 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 26. Oktober 2007 |-- | Processor || PowerPC G4 (867MHz or more), G5 or Intel processor |-- | Memory (RAM) || 512 MB RAM |-- | Other requirements || FireWire (integriert) |-- | see also || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 29. April 2005 |-- | Processor || PowerPC G3, G4 or G5 processor, Intel processors starting with Version 10.4.4 |-- | Memory (RAM) || 256 MB RAM |-- | see also || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2003 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 13. August 2002 |-- | Processor || PowerPC G3, G4 or G5 orocessor (233 MHz or more, see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. März 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) dbfa769025755242778b5c61f8d357840a0d4fef 1809 1808 2023-05-24T08:36:49Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS versions on unsupported Macs – A Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. <!-- ===macOS Beta (14.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || dd. mmmm 2023 (Ankündigung: am dd. mmmm 2023) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 14.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Ventura_(13.x)|Version 13 (Ventura)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} --> ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_(12.6.6)|Version 12 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.6) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Processor || 64-Bit intel processor, Apple A12Z or later |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_(11.7.7)|Version 11 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.7) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Processor || 64-Bit intel processor, Apple A12Z oder neuer |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_(10.15.7)|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_(10.14.6)|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 14.3 GB für die Durchführung eines Upgrades |-- | see also || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | see also || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs with CoreSolo/CoreDuo processors<br />Intel-Macs and Intel GPU GMA 950 or x3100<br />Intel-Macs with ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. Juli 2011 |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel Macs with CoreSolo or CoreDuo processors (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 28. August 2009 |-- | Processor || Intel processor |-- | Memory (RAM) || 1 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 26. Oktober 2007 |-- | Processor || PowerPC G4 (867MHz or more), G5 or Intel processor |-- | Memory (RAM) || 512 MB RAM |-- | Other requirements || FireWire (integriert) |-- | see also || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 29. April 2005 |-- | Processor || PowerPC G3, G4 or G5 processor, Intel processors starting with Version 10.4.4 |-- | Memory (RAM) || 256 MB RAM |-- | see also || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2003 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 13. August 2002 |-- | Processor || PowerPC G3, G4 or G5 orocessor (233 MHz or more, see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. März 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) 93aa98f89bbc80df57faf8d380c49df499316547 1810 1809 2023-05-24T08:39:37Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS Big Sur or later on unsupported Macs – A Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. For macOS Versions Sierra through Catalina please check out [https://dosdude1.com/software.html dosdude's macOS Patchers] instead. <!-- ===macOS Beta (14.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || dd. mmmm 2023 (Ankündigung: am dd. mmmm 2023) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 14.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Ventura_(13.x)|Version 13 (Ventura)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} --> ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_(12.6.6)|Version 12 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.6) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Processor || 64-Bit intel processor, Apple A12Z or later |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_(11.7.7)|Version 11 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.7) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Processor || 64-Bit intel processor, Apple A12Z oder neuer |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_(10.15.7)|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_(10.14.6)|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 14.3 GB für die Durchführung eines Upgrades |-- | see also || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | see also || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs with CoreSolo/CoreDuo processors<br />Intel-Macs and Intel GPU GMA 950 or x3100<br />Intel-Macs with ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. Juli 2011 |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel Macs with CoreSolo or CoreDuo processors (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 28. August 2009 |-- | Processor || Intel processor |-- | Memory (RAM) || 1 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 26. Oktober 2007 |-- | Processor || PowerPC G4 (867MHz or more), G5 or Intel processor |-- | Memory (RAM) || 512 MB RAM |-- | Other requirements || FireWire (integriert) |-- | see also || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 29. April 2005 |-- | Processor || PowerPC G3, G4 or G5 processor, Intel processors starting with Version 10.4.4 |-- | Memory (RAM) || 256 MB RAM |-- | see also || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2003 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 13. August 2002 |-- | Processor || PowerPC G3, G4 or G5 orocessor (233 MHz or more, see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. März 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) 59c2dbc943ac906b14f770891a238925633297e6 1811 1810 2023-05-24T08:39:57Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS Big Sur or later on unsupported Macs – a Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. For macOS Versions Sierra through Catalina please check out [https://dosdude1.com/software.html dosdude's macOS Patchers] instead. <!-- ===macOS Beta (14.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || dd. mmmm 2023 (Ankündigung: am dd. mmmm 2023) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 14.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Ventura_(13.x)|Version 13 (Ventura)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} --> ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_(12.6.6)|Version 12 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.6) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Processor || 64-Bit intel processor, Apple A12Z or later |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_(11.7.7)|Version 11 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.7) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Processor || 64-Bit intel processor, Apple A12Z oder neuer |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_(10.15.7)|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_(10.14.6)|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 14.3 GB für die Durchführung eines Upgrades |-- | see also || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | see also || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs with CoreSolo/CoreDuo processors<br />Intel-Macs and Intel GPU GMA 950 or x3100<br />Intel-Macs with ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. Juli 2011 |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel Macs with CoreSolo or CoreDuo processors (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 28. August 2009 |-- | Processor || Intel processor |-- | Memory (RAM) || 1 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 26. Oktober 2007 |-- | Processor || PowerPC G4 (867MHz or more), G5 or Intel processor |-- | Memory (RAM) || 512 MB RAM |-- | Other requirements || FireWire (integriert) |-- | see also || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 29. April 2005 |-- | Processor || PowerPC G3, G4 or G5 processor, Intel processors starting with Version 10.4.4 |-- | Memory (RAM) || 256 MB RAM |-- | see also || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2003 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 13. August 2002 |-- | Processor || PowerPC G3, G4 or G5 orocessor (233 MHz or more, see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. März 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) bcdb299148535894386b236f3b01f2ebee8a88fb 1812 1811 2023-05-24T08:40:26Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS Big Sur or later on unsupported Macs – a Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. For running macOS Versions Sierra through Catalina on unsupported Macs please check out [https://dosdude1.com/software.html dosdude's macOS Patchers] instead. <!-- ===macOS Beta (14.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || dd. mmmm 2023 (Ankündigung: am dd. mmmm 2023) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 14.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Ventura_(13.x)|Version 13 (Ventura)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} --> ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_(12.6.6)|Version 12 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.6) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Processor || 64-Bit intel processor, Apple A12Z or later |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_(11.7.7)|Version 11 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.7) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Processor || 64-Bit intel processor, Apple A12Z oder neuer |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_(10.15.7)|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_(10.14.6)|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 14.3 GB für die Durchführung eines Upgrades |-- | see also || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | see also || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs with CoreSolo/CoreDuo processors<br />Intel-Macs and Intel GPU GMA 950 or x3100<br />Intel-Macs with ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. Juli 2011 |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel Macs with CoreSolo or CoreDuo processors (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 28. August 2009 |-- | Processor || Intel processor |-- | Memory (RAM) || 1 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 26. Oktober 2007 |-- | Processor || PowerPC G4 (867MHz or more), G5 or Intel processor |-- | Memory (RAM) || 512 MB RAM |-- | Other requirements || FireWire (integriert) |-- | see also || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 29. April 2005 |-- | Processor || PowerPC G3, G4 or G5 processor, Intel processors starting with Version 10.4.4 |-- | Memory (RAM) || 256 MB RAM |-- | see also || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2003 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 13. August 2002 |-- | Processor || PowerPC G3, G4 or G5 orocessor (233 MHz or more, see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. März 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) 49cb4fec32be18e81f99381ba2ea4ca85c5b851f 1813 1812 2023-05-24T08:41:26Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS Big Sur or later on unsupported Macs – a Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. For running macOS Versions Sierra through Catalina on unsupported Macs please check out [https://dosdude1.com/software.html dosdude1's macOS Patchers] instead. <!-- ===macOS Beta (14.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || dd. mmmm 2023 (Ankündigung: am dd. mmmm 2023) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 14.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Ventura_(13.x)|Version 13 (Ventura)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} --> ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_(12.6.6)|Version 12 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.6) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Processor || 64-Bit intel processor, Apple A12Z or later |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_(11.7.7)|Version 11 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.7) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Processor || 64-Bit intel processor, Apple A12Z oder neuer |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_(10.15.7)|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_(10.14.6)|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 14.3 GB für die Durchführung eines Upgrades |-- | see also || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | see also || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs with CoreSolo/CoreDuo processors<br />Intel-Macs and Intel GPU GMA 950 or x3100<br />Intel-Macs with ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. Juli 2011 |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel Macs with CoreSolo or CoreDuo processors (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 28. August 2009 |-- | Processor || Intel processor |-- | Memory (RAM) || 1 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 26. Oktober 2007 |-- | Processor || PowerPC G4 (867MHz or more), G5 or Intel processor |-- | Memory (RAM) || 512 MB RAM |-- | Other requirements || FireWire (integriert) |-- | see also || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 29. April 2005 |-- | Processor || PowerPC G3, G4 or G5 processor, Intel processors starting with Version 10.4.4 |-- | Memory (RAM) || 256 MB RAM |-- | see also || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- ! colspan="2" style="text-align:left;"|Weitere Informationen: || |-- | colspan="2" | * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2003 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 13. August 2002 |-- | Processor || PowerPC G3, G4 or G5 orocessor (233 MHz or more, see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. März 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) 1e674c8c58c7c27d624d043ac41cee04818c9660 1815 1813 2023-06-20T15:35:23Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS Big Sur or later on unsupported Macs – a Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. For running macOS Versions Sierra through Catalina on unsupported Macs please check out [https://dosdude1.com/software.html dosdude1's macOS Patchers] instead. ===macOS Sonoma (14.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || Fall 2023 (announced on June 5, 2023) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | See also || [[wikipedia:MacOS_Sonoma|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Supported Models: || |-- | style="width:120px;" | Changes || Compared to its predcecessor, macOS [[#macOS_Ventura_(13.x)|Version 13 (Ventura)]], macOS Sonoma drops support for almost all Macs released in 2017, with the notable exception of the iMac Pro. |-- | <del>[[wikipedia:MacBook|MacBook (Retina)]]</del> || ''dropped'' |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2018 (MacBookPro15,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2019 (iMac19,2) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_(12.6.6)|Version 12 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.6) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Processor || 64-Bit intel processor, Apple A12Z or later |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_(11.7.7)|Version 11 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.7) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Processor || 64-Bit intel processor, Apple A12Z oder neuer |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_(10.15.7)|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_(10.14.6)|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 14.3 GB für die Durchführung eines Upgrades |-- | see also || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | see also || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Wichtige Änderungen: || * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs with CoreSolo/CoreDuo processors<br />Intel-Macs and Intel GPU GMA 950 or x3100<br />Intel-Macs with ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. Juli 2011 |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Wichtige Änderungen: || * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel Macs with CoreSolo or CoreDuo processors (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 28. August 2009 |-- | Processor || Intel processor |-- | Memory (RAM) || 1 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Wichtige Änderungen: || * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 26. Oktober 2007 |-- | Processor || PowerPC G4 (867MHz or more), G5 or Intel processor |-- | Memory (RAM) || 512 MB RAM |-- | Other requirements || FireWire (integriert) |-- | see also || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Wichtige Änderungen: || * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 29. April 2005 |-- | Processor || PowerPC G3, G4 or G5 processor, Intel processors starting with Version 10.4.4 |-- | Memory (RAM) || 256 MB RAM |-- | see also || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Wichtige Änderungen: || * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2003 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 13. August 2002 |-- | Processor || PowerPC G3, G4 or G5 orocessor (233 MHz or more, see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. März 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) 11e1a49b27714f36f3a3db1a4befd2d3bf312e69 1816 1815 2023-06-20T15:39:02Z Hagbard 2 /* OS X Mountain Lion (10.8.5) 32px */ wikitext text/x-wiki [[Category:OS]][[Category:Translate]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS Big Sur or later on unsupported Macs – a Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. For running macOS Versions Sierra through Catalina on unsupported Macs please check out [https://dosdude1.com/software.html dosdude1's macOS Patchers] instead. ===macOS Sonoma (14.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || Fall 2023 (announced on June 5, 2023) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | See also || [[wikipedia:MacOS_Sonoma|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Supported Models: || |-- | style="width:120px;" | Changes || Compared to its predcecessor, macOS [[#macOS_Ventura_(13.x)|Version 13 (Ventura)]], macOS Sonoma drops support for almost all Macs released in 2017, with the notable exception of the iMac Pro. |-- | <del>[[wikipedia:MacBook|MacBook (Retina)]]</del> || ''dropped'' |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2018 (MacBookPro15,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2019 (iMac19,2) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_(12.6.6)|Version 12 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.6) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Processor || 64-Bit intel processor, Apple A12Z or later |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_(11.7.7)|Version 11 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.7) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Processor || 64-Bit intel processor, Apple A12Z oder neuer |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_(10.15.7)|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_(10.14.6)|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 14.3 GB für die Durchführung eines Upgrades |-- | see also || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | see also || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- | colspan="2" | &nbsp; |-- | style="text-align:left;"| '''Wichtige Änderungen:''' || * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs with CoreSolo/CoreDuo processors<br />Intel-Macs and Intel GPU GMA 950 or x3100<br />Intel-Macs with ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. Juli 2011 |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Wichtige Änderungen: || * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel Macs with CoreSolo or CoreDuo processors (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 28. August 2009 |-- | Processor || Intel processor |-- | Memory (RAM) || 1 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Wichtige Änderungen: || * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 26. Oktober 2007 |-- | Processor || PowerPC G4 (867MHz or more), G5 or Intel processor |-- | Memory (RAM) || 512 MB RAM |-- | Other requirements || FireWire (integriert) |-- | see also || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Wichtige Änderungen: || * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 29. April 2005 |-- | Processor || PowerPC G3, G4 or G5 processor, Intel processors starting with Version 10.4.4 |-- | Memory (RAM) || 256 MB RAM |-- | see also || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Wichtige Änderungen: || * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2003 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 13. August 2002 |-- | Processor || PowerPC G3, G4 or G5 orocessor (233 MHz or more, see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. März 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) 93995f319db5aab72c36953fd61ef8e85dfebe0e 1817 1816 2023-06-20T15:39:31Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS Big Sur or later on unsupported Macs – a Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. For running macOS Versions Sierra through Catalina on unsupported Macs please check out [https://dosdude1.com/software.html dosdude1's macOS Patchers] instead. ===macOS Sonoma (14.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || Fall 2023 (announced on June 5, 2023) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | See also || [[wikipedia:MacOS_Sonoma|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Supported Models: || |-- | style="width:120px;" | Changes || Compared to its predcecessor, macOS [[#macOS_Ventura_(13.x)|Version 13 (Ventura)]], macOS Sonoma drops support for almost all Macs released in 2017, with the notable exception of the iMac Pro. |-- | <del>[[wikipedia:MacBook|MacBook (Retina)]]</del> || ''dropped'' |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2018 (MacBookPro15,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2019 (iMac19,2) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 macOS Ventura is compatible with these computers] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_(12.6.6)|Version 12 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.6) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Processor || 64-Bit intel processor, Apple A12Z or later |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_(11.7.7)|Version 11 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.7) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Processor || 64-Bit intel processor, Apple A12Z oder neuer |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_(10.15.7)|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_(10.14.6)|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 14.3 GB für die Durchführung eines Upgrades |-- | see also || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | see also || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- | colspan="2" | &nbsp; |-- | style="text-align:left;"| Wichtige Änderungen: || * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs with CoreSolo/CoreDuo processors<br />Intel-Macs and Intel GPU GMA 950 or x3100<br />Intel-Macs with ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. Juli 2011 |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- | colspan="2" | &nbsp; |-- | style="text-align:left;"| Wichtige Änderungen: || * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel Macs with CoreSolo or CoreDuo processors (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 28. August 2009 |-- | Processor || Intel processor |-- | Memory (RAM) || 1 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- | colspan="2" | &nbsp; |-- | style="text-align:left;"| Wichtige Änderungen: || * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 26. Oktober 2007 |-- | Processor || PowerPC G4 (867MHz or more), G5 or Intel processor |-- | Memory (RAM) || 512 MB RAM |-- | Other requirements || FireWire (integriert) |-- | see also || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- | colspan="2" | &nbsp; |-- | style="text-align:left;"| Wichtige Änderungen: || * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 29. April 2005 |-- | Processor || PowerPC G3, G4 or G5 processor, Intel processors starting with Version 10.4.4 |-- | Memory (RAM) || 256 MB RAM |-- | see also || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- | colspan="2" | &nbsp; |-- | style="text-align:left;"| Wichtige Änderungen: || * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2003 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 13. August 2002 |-- | Processor || PowerPC G3, G4 or G5 orocessor (233 MHz or more, see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. März 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) 41ee7e3117395e82f917ab4b273c3ac4b52fa63a 1818 1817 2023-06-20T15:46:10Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS Big Sur or later on unsupported Macs – a Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. For running macOS Versions Sierra through Catalina on unsupported Macs please check out [https://dosdude1.com/software.html dosdude1's macOS Patchers] instead. ===macOS Sonoma (14.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || Fall 2023 (announced on June 5, 2023) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | See also || [[wikipedia:MacOS_Sonoma|Wikipedia]], [https://support.apple.com/en-us/HT213264 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Supported Models: || |-- | style="width:120px;" | Changes || Compared to its predcecessor, macOS [[#macOS_Ventura_(13.x)|Version 13 (Ventura)]], macOS Sonoma drops support for almost all Macs released in 2017, with the notable exception of the iMac Pro. |-- | <del>[[wikipedia:MacBook|MacBook (Retina)]]</del> || ''dropped'' |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2018 (MacBookPro15,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2019 (iMac19,2) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_(12.6.6)|Version 12 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.6) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Processor || 64-Bit intel processor, Apple A12Z or later |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]--> |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_(11.7.7)|Version 11 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.7) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Processor || 64-Bit intel processor, Apple A12Z oder neuer |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_(10.15.7)|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_(10.14.6)|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 14.3 GB für die Durchführung eines Upgrades |-- | see also || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | see also || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- | colspan="2" | &nbsp; |-- | style="text-align:left;"| Wichtige Änderungen: || * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs with CoreSolo/CoreDuo processors<br />Intel-Macs and Intel GPU GMA 950 or x3100<br />Intel-Macs with ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. Juli 2011 |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- | colspan="2" | &nbsp; |-- | style="text-align:left;"| Wichtige Änderungen: || * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel Macs with CoreSolo or CoreDuo processors (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 28. August 2009 |-- | Processor || Intel processor |-- | Memory (RAM) || 1 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- | colspan="2" | &nbsp; |-- | style="text-align:left;"| Wichtige Änderungen: || * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 26. Oktober 2007 |-- | Processor || PowerPC G4 (867MHz or more), G5 or Intel processor |-- | Memory (RAM) || 512 MB RAM |-- | Other requirements || FireWire (integriert) |-- | see also || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- | colspan="2" | &nbsp; |-- | style="text-align:left;"| Wichtige Änderungen: || * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 29. April 2005 |-- | Processor || PowerPC G3, G4 or G5 processor, Intel processors starting with Version 10.4.4 |-- | Memory (RAM) || 256 MB RAM |-- | see also || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- | colspan="2" | &nbsp; |-- | style="text-align:left;"| Wichtige Änderungen: || * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2003 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 13. August 2002 |-- | Processor || PowerPC G3, G4 or G5 orocessor (233 MHz or more, see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. März 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) 97531a60ffd8f8ab152973a2893a78a05afe1874 1819 1818 2023-06-20T15:48:25Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS Big Sur or later on unsupported Macs – a Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. For running macOS Versions Sierra through Catalina on unsupported Macs please check out [https://dosdude1.com/software.html dosdude1's macOS Patchers] instead. ===macOS Sonoma (14.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || Fall 2023 (announced on June 5, 2023) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | See also || [[wikipedia:MacOS_Sonoma|Wikipedia]], [https://support.apple.com/en-us/HT213264 Apple Support], [https://mrmacintosh.com/macos-sonoma-full-installer-database-download-directly-from-apple/ Downloadable Installers] via mrmacintosh.com |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Supported Models: || |-- | style="width:120px;" | Changes || Compared to its predcecessor, macOS [[#macOS_Ventura_(13.x)|Version 13 (Ventura)]], macOS Sonoma drops support for almost all Macs released in 2017, with the notable exception of the iMac Pro. |-- | <del>[[wikipedia:MacBook|MacBook (Retina)]]</del> || ''dropped'' |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2018 (MacBookPro15,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2019 (iMac19,2) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 Apple Support], [https://mrmacintosh.com/macos-ventura-13-full-installer-database-download-directly-from-apple/ Downloadable Installers] via mrmacintosh.com |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_(12.6.6)|Version 12 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.6) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Processor || 64-Bit intel processor, Apple A12Z or later |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]-->, [https://mrmacintosh.com/macos-12-monterey-full-installer-database-download-directly-from-apple/ Downloadable Installers] via mrmacintosh.com |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_(11.7.7)|Version 11 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.7) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Processor || 64-Bit intel processor, Apple A12Z oder neuer |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support], [https://mrmacintosh.com/macos-big-sur-full-installer-database-download-directly-from-apple/ Downloadable Installers] via mrmacintosh.com |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_(10.15.7)|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_(10.14.6)|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 14.3 GB für die Durchführung eines Upgrades |-- | see also || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | see also || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- | colspan="2" | &nbsp; |-- | style="text-align:left;"| Wichtige Änderungen: || * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs with CoreSolo/CoreDuo processors<br />Intel-Macs and Intel GPU GMA 950 or x3100<br />Intel-Macs with ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. Juli 2011 |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- | colspan="2" | &nbsp; |-- | style="text-align:left;"| Wichtige Änderungen: || * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel Macs with CoreSolo or CoreDuo processors (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 28. August 2009 |-- | Processor || Intel processor |-- | Memory (RAM) || 1 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- | colspan="2" | &nbsp; |-- | style="text-align:left;"| Wichtige Änderungen: || * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 26. Oktober 2007 |-- | Processor || PowerPC G4 (867MHz or more), G5 or Intel processor |-- | Memory (RAM) || 512 MB RAM |-- | Other requirements || FireWire (integriert) |-- | see also || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- | colspan="2" | &nbsp; |-- | style="text-align:left;"| Wichtige Änderungen: || * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 29. April 2005 |-- | Processor || PowerPC G3, G4 or G5 processor, Intel processors starting with Version 10.4.4 |-- | Memory (RAM) || 256 MB RAM |-- | see also || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- | colspan="2" | &nbsp; |-- | style="text-align:left;"| Wichtige Änderungen: || * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2003 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 13. August 2002 |-- | Processor || PowerPC G3, G4 or G5 orocessor (233 MHz or more, see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. März 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) 97342dbcf9fd836f165725ee5361fc3d623e7508 1833 1819 2023-09-26T12:06:46Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]] ==macOS== Check out [https://github.com/dortania/OpenCore-Legacy-Patcher OpenCore Legacy Patcher] for running macOS Big Sur or later on unsupported Macs – a Python-based project for both running and unlocking features in macOS on supported and unsupported Macs. For running macOS Versions Sierra through Catalina on unsupported Macs please check out [https://dosdude1.com/software.html dosdude1's macOS Patchers] instead. ===macOS Sonoma (14.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || September 26, 2023 (announced on June 5, 2023) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | See also || [[wikipedia:MacOS_Sonoma|Wikipedia]], [https://support.apple.com/en-us/HT213264 Apple Support], [https://mrmacintosh.com/macos-sonoma-full-installer-database-download-directly-from-apple/ Downloadable Installers] via mrmacintosh.com |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Supported Models: || |-- | style="width:120px;" | Changes || Compared to its predcecessor, macOS [[#macOS_Ventura_(13.x)|Version 13 (Ventura)]], macOS Sonoma drops support for almost all Macs released in 2017, with the notable exception of the iMac Pro. |-- | <del>[[wikipedia:MacBook|MacBook (Retina)]]</del> || ''dropped'' |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2018 (MacBookPro15,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2019 (iMac19,2) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) and later |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) and later |} ===macOS Ventura (13.x) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2022 (Ankündigung: am 6. Juni 2022) |-- | Processor || 64-Bit intel processor, Apple Silicon (Apple M1 und neueer) |-- | see also || [[wikipedia:MacOS_Ventura|Wikipedia]], [https://support.apple.com/en-us/HT213264 Apple Support], [https://mrmacintosh.com/macos-ventura-13-full-installer-database-download-directly-from-apple/ Downloadable Installers] via mrmacintosh.com |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 13.0 wurden mit Ausnahme des iMac Pro bei allen Modellen gegenüber [[#macOS_Monterey_(12.6.6)|Version 12 (Monterey)]] angehoben: |-- | [[wikipedia:MacBook|MacBook (Retina)]] || 2017 (MacBook10,1) and later |-- | [[wikipedia:MacBook_Air|MacBook Air]] || 2018 (MacBookAir8,1) and later |-- | [[wikipedia:MacBook_Pro|MacBook Pro]] || 2017 (MacBookPro14,1) and later |-- | [[wikipedia:Mac_mini|Mac mini]] || 2018 (Macmini8,1) and later |-- | [[wikipedia:iMac|iMac]] || 2017 (iMac18,1) and later |-- | [[wikipedia:iMac_Pro|iMac Pro]] || 2017 (iMacPro1,1) |-- | [[wikipedia:Mac_Pro|Mac Pro]] || 2019 (MacPro7,1) |-- | [[wikipedia:Mac_Studio|Mac Studio]] || 2022 (Mac13,1) |} ===macOS Monterey (12.6.6) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Oktober 2021 (Ankündigung: am 7. Juni 2021) |-- | Processor || 64-Bit intel processor, Apple A12Z or later |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Monterey|Wikipedia]]<!--, [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support]-->, [https://mrmacintosh.com/macos-12-monterey-full-installer-database-download-directly-from-apple/ Downloadable Installers] via mrmacintosh.com |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 12.0 wurden bei einigen Modellen gegenüber [[#macOS_Big_Sur_(11.7.7)|Version 11 (Big Sur)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2016" (MacBook9,1) |-- | MacBook Air || ab dem Modell von "Anfang 2015" (MacBookAir7,1 / MacBookAir7,2) |-- | MacBook Pro || ab den Modellen von "Anfang 2015" (MacBookPro12,1 / MacBookPro11,4 / MacBookPro11,5) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2015" (iMac16,1 / iMac16,2 / iMac17,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Big Sur (11.7.7) [[Image:Intel-logo.svg|32px]] [[Image:Arm_logo_2017.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 12. November 2020 (Ankündigung: am 22. Juni 2020) |-- | Processor || 64-Bit intel processor, Apple A12Z oder neuer |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || 35.5GB available storage on macOS Sierra or later |-- | see also || [[wikipedia:MacOS_Big_Sur|Wikipedia]], [https://support.apple.com/kb/sp833 Technical Specifications], [https://support.apple.com/HT201475 Apple Support], [https://mrmacintosh.com/macos-big-sur-full-installer-database-download-directly-from-apple/ Downloadable Installers] via mrmacintosh.com |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 11.0 wurden bei einigen Modellen gegenüber [[#macOS_Catalina_(10.15.7)|Version 10.15 (Catalina)]] angehoben: |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2013" (MacBookAir5,2) |-- | MacBook Pro || ab den Modellen von "Ende 2013" (MacBookPro11,1, MacBookPro11,2) |-- | Mac mini || ab dem Modell von "Ende 2014" (ab Macmini7,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || alle Modelle, d.h. ab dem ersten Modell von "Ende 2017" (iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1) |} ===macOS Catalina (10.15.7) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 7. Okotober 2018 (Ankündigung: am 3. Juni 2019) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 4 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Catalina|Wikipedia]], [https://support.apple.com/kb/SP803 Technical Specifications], [https://support.apple.com/HT201475 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von macOS 10.15 sind dieselben wie diejenigen für [[#macOS_Mojave_(10.14.6)|Version 10.14 (Mojave)]] |-- | MacBook (Retina) || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS Mojave (10.14.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. September 2018 (Ankündigung: am 4. Juni 2018) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || [[#Metal|Metal]]-fähiger GPU |-- | see also || [[wikipedia:MacOS_Mojave|Wikipedia]], [https://support.apple.com/kb/SP777 Technical Specifications], [https://support.apple.com/HT210190 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | MacBook Retina || ab dem Model von "Anfang 2015" (MacBook8,1) |-- | MacBook Air || ab dem Modell von "Mitte 2012" (MacBookAir5,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2012" (MacBookPro9,1) |-- | iMac || ab dem Modell von "Ende 2012" (iMac13,1) |-- | Mac mini || ab dem Modell von "Ende 2012" (ab Macmini6,1) |-- | iMac Pro || ab dem Modell von "Ende 2017" (ab iMacPro1,1) |-- | Mac Pro || ab dem Modell von "Ende 2013" (ab MacPro6,1), Modelle aus Mitte 2010 und Mitte 2012 mit Metal-kompatibler Grafikkarte |} ===macOS High Sierra (10.13.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2017 (Ankündigung: am 5. Juni 2017) |-- | Processor || 64-Bit processor, 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 14.3 GB für die Durchführung eines Upgrades |-- | see also || [[wikipedia:MacOS_High_Sierra|Wikipedia]], [https://support.apple.com/kb/SP765 Technical Specifications], [https://support.apple.com/HT208969 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |} ===macOS Sierra (10.12.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. September 2016 (Ankündigung: am 13. Juni 2016) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:MacOS_Sierra|Wikipedia]], [https://support.apple.com/kb/SP742 Technical Specifications], [https://support.apple.com/HT208202 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | iMac || ab dem Modell von "Ende 2009" (iMac10,1) |-- | MacBook Air || ab dem Modell von "Ende 2010" (MacBookAir2,1) |-- | MacBook (Retina) || ab dem Model von "Ende 2009" (MacBook6,1) |-- | MacBook Pro || ab dem Modell von "Mitte 2010" (MacBookPro7,1) |-- | Mac mini || ab dem Modell von "Mitte 2010" (ab Macmini4,1) |-- | Mac Pro || ab dem Modell von "Mitte 2010" (ab MacPro5,1) |-- | Xserve || ''wird nicht mehr unterstützt'' |} ==OS X== ===OS X El Capitan (10.11.6) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 30. September 2015 (Ankündigung: am 8. Juni 2015) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8.8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_El_Capitan|Wikipedia]], [https://support.apple.com/kb/SP728 Technical Specifications], [https://support.apple.com/HT206886 Apple Support] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Die Systemanforderungen von 10.11 sind dieselben wie diejenigen für [[#OS_X_Yosemite_.2810.10.29|Version 10.10 (Yosemite)]] |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Yosemite (10.10.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 16. Oktober 2014 (Ankündigung: am 2. Juni 2014) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Yosemite|Wikipedia]], [https://support.apple.com/kb/SP711 Technical Specifications], [https://support.apple.com/HT210717 Apple Support], [http://www.macprime.ch/wissen/article/diese-macs-werden-von-os-x-10-10-yosemite-unterstuetzt macprime.ch], [http://www.mactechnews.de/news/article/Ist-Ihr-Mac-fit-fuer-OS-X-Yosemite-159750.html mactechnews.de] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.10 auf den meisten von [[#OS_X_Mavericks_.2810.9.29|10.9 (Mavericks)]] unterstützten Macs |-- | iMac || ab dem Modell von "Mitte 2007" (ab iMac7,1) |-- | MacBook Air || ab dem zweiten Modell ("Ende 2008", MacBookAir2,1) |-- | MacBook 13" || ab dem Model von "Anfang 2009" (MacBook5,2) |-- | MacBook 13" Unibody || ab dem Modell von "Ende 2008" (MacBook5,1) |-- | MacBook Pro || 13": ab dem Modell von "Mitte 2009" (MacBookPro5,5)<br />15": ab dem Modell von "Mitte 2007" (MacBookPro3,1)<br />17": ab dem Modell von "Ende 2007" (MacBookPro3,1) |-- | Mac mini || ab dem Modell von "Anfang 2009" (ab Macmini3,1) |-- | Mac Pro || ab dem Modell von "Anfang 2008" (ab MacPro3,1) |-- | Xserve || ab dem Modell von "Anfang 2009" (ab Xserve3,1) |} ===OS X Mavericks (10.9.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 22. Oktober 2013 (Ankündigung: am 10. Juni 2013) |-- | Processor || 64-Bit processor (Intel Core 2 Duo oder neuer), 64-Bit EFI |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 8 GB freier Festplattenspeicher |-- | see also || [[wikipedia:OS_X_Mavericks|Wikipedia]], [https://support.apple.com/kb/SP702 Technical Specifications], [http://www.macprime.ch/news/article/welche-macs-mit-os-x-mavericks-kompatibel-sind macprime.ch] |-- | colspan="2" | &nbsp; |-- ! colspan="2" style="text-align:left;"| Unterstützte Modelle: || |-- | style="width:120px;" | Allgemein || Im Prinzip läuft 10.9 auf allen von [[#OS_X_Mountain_Lion_.2810.8.29|10.8 (Mountain Lion)]] unterstützten Macs |-- | iMac || ab dem Jahr 2007 (ab iMac7,1) |-- | MacBook Air || sämtliche Modelle sind mit OS X Mavericks kompatibel |-- | MacBook 13" Unibody || MacBook4,1 und MacBook5,1 |-- | MacBook 13" || ab MacBook5,2 |-- | MacBook Pro || ab 2009 (ab MacBookPro5,5)<br />15-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1)<br />17-Zoll-MacBook Pro ab dem Jahr 2007 (ab MacBookPro3,1) |-- | Mac mini || ab dem Jahr 2009 (ab Macmini3,1) |-- | Mac Pro || ab dem Jahr 2008 (ab MacPro3,1) |-- | Xserve || ab dem Jahr 2009 (ab Xserve3,1) |} ===OS X Mountain Lion (10.8.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. Juli 2012 (Ankündigung: am 16. Februar 2012) |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | Other requirements || 64-Bit EFI (es gibt wohl einige wenige Core2Duo-Macs mit 32-Bit EFI)<br />Herauszufinden im Terminal mit dem Kommando: {{TT|{{Man|uname|uname}} -a}}<br />In der Ausgabe muss "x86_64" enthalten sein |-- | see also || [http://support.apple.com/kb/HT202575?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT202575], [[wikipedia:OS_X_Mountain_Lion|Wikipedia]], [http://www.macprime.ch/news/article/road-to-os-x-mountain-lion-voraussetzungen macprime.ch] |-- | colspan="2" | &nbsp; |-- | style="text-align:left;"| Wichtige Änderungen: || * Ab dieser Version wird nun auch offiziell und explizit auf den Namenszusatz "Mac" verzichtet * Ab OS X 10.8 soll die Veröffentlichung neuer Versionen (major releases) von OSX und iOS synchronisiert werden. * An dieser Version wird der Großteil der [[wikipedia:Carbon_(API)|Carbon]]-APIs als veraltet (deprecated) erklärt und somit in einer der nachfolgenden Versionen entfernt werden (vermutlicherweise Carbon als Ganzes). |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel-Macs with CoreSolo/CoreDuo processors<br />Intel-Macs and Intel GPU GMA 950 or x3100<br />Intel-Macs with ATI Radeon X1600 |-- | MacBook || Alle Modelle bis incl. A1181 (MacBook4,1) (Alle weißen MacBooks bis incl. Ende 2008) |-- | MacBook Air || MB003LL/A (MacBookAir1,1) (Anfang 2008, erste Generation) |-- | MacBook Pro || A1150 (MacBookPro1,1 und MacBookPro1,2), A1175 (MacBookPro1,1), A1211 (MacBookPro2,2), A1212 (MacBookPro2,1) (bis Ende 2006) |-- | Mac Mini || Alle Modelle bis incl. MB138LL/A, MB139LL/A (Macmini2,1) (Mitte 2007) |-- | iMac || Alle Modelle bis incl. iMac5,1 (20" Modell, Ende 2006) |-- | MacPro || A1186 (MacPro1,1 und MacPro1,2) (Anfang 2007) |-- | Xserve || Alle Modelle bis auf das letzte A1279 (Xserve3,1) (Anfang 2009) |} ===OS X Lion (10.7.5) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 20. Juli 2011 |-- | Processor || Intel Core 2 Duo, Core i3, Core i5, Core i7 or Xeon processor |-- | Memory (RAM) || 2 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [http://support.apple.com/kb/SP629?viewlocale=de_DE&locale=de_DE Spezifikationen], [[wikipedia:Mac_OS_X_Lion|Wikipedia]] |-- | colspan="2" | &nbsp; |-- | style="text-align:left;"| Wichtige Änderungen: || * Mit Entfernung von Rosetta entfällt die Möglichkeit, PowerPC-Code auszuführen * OS X 10.7 wird standardmäßig ohne vorinstallierte Java-Laufzeitumgebung ausgeliefert, diese muss nachträglich installiert werden. * Seit Version 10.7 wird auf den Namenszusatz "Mac" verzichtet, das Betriebssystem wird nunmehr "OS X" genannt. |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | style="width:120px;" | Allgemein || Intel Macs with CoreSolo or CoreDuo processors (32bit) |-- | iMac || iMac4,1 iMac4,2 (Anfang bis Mitte 2006) |-- | Mac Mini || MA205LL, MA206LL, MA607LL, MA608LL (Macmini1,1) (2006) |-- | MacBook || A1181 (MacBook1,1) (Mitte 2006) |-- | MacBook Pro || A1150 (MacBookPro1,1), A1151 (MacBookPro1,2) (Anfang bis Mitte 2006) |} ==MacOS X== ===Mac OS X Snow Leopard (10.6.8 v1.1) [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 28. August 2009 |-- | Processor || Intel processor |-- | Memory (RAM) || 1 GB RAM |-- | see also || [http://support.apple.com/kb/HT4949?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT4949], [[wikipedia:Mac_OS_X_Snow_Leopard|Wikipedia]] |-- | colspan="2" | &nbsp; |-- | style="text-align:left;"| Wichtige Änderungen: || * Snow Leopard ist die erste Mac OS X Version, die nur noch auf Intel-Macs lauffähig ist * Mac OS X ist nun größtenteils 64 Bit (incl. dem neugeschriebenen Finder und den meisten mitgelieferten Programmen), Cocoa-Programme lassen sich jedoch wahlweise auch im 32-Bit-Modus starten (über den Finder-Infodialog) * Das [[wikipedia:Carbon_(API)|Carbon]]-Framework wurde jedoch nicht auf 64-Bit portiert. Anwendungen, die im 64-Bit-Modus laufen sollen, müssen demnach nach [[wikipedia:Cocoa_(API)|Cocoa]] migriert werden |-- ! colspan="2" style="text-align:left;"|Nicht mehr unterstützte Geräte |-- | Allgemein || PowerPC Macs jeglicher Art |} ===Mac OS X Leopard (10.5.8) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 26. Oktober 2007 |-- | Processor || PowerPC G4 (867MHz or more), G5 or Intel processor |-- | Memory (RAM) || 512 MB RAM |-- | Other requirements || FireWire (integriert) |-- | see also || [http://support.apple.com/kb/HT3759?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT3759], [[wikipedia:Mac_OS_X_Leopard|Wikipedia]] |-- | colspan="2" | &nbsp; |-- | style="text-align:left;"| Wichtige Änderungen: || * Mac OS X 10.5 ist die erste Version, die offiziell den Markennamen "UNIX" tragen darf * Die Installationsmedien (Retail-DVDs) sind "universal", d.h. sie sind auf PowerPC- und Intel-Macs lauffähig (Universal Binaries) * Leopard ist die letzte Mac OS X Version für PowerPC-Macs. Nachfolgende Versionen unterstützen nur noch Intel-Macs |} ===Mac OS X Tiger (10.4.11) [[Image:PowerPC logo.svg|32px]] [[Image:Intel-logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 29. April 2005 |-- | Processor || PowerPC G3, G4 or G5 processor, Intel processors starting with Version 10.4.4 |-- | Memory (RAM) || 256 MB RAM |-- | see also || [http://support.apple.com/kb/HT1514?viewlocale=de_DE&locale=de_DE Apple-Supportdokument HT1514], [[wikipedia:Mac_OS_X_Tiger|Wikipedia]] |-- | colspan="2" | &nbsp; |-- | style="text-align:left;"| Wichtige Änderungen: || * Seit Mac OS X 10.4 wird die Java-Bridge nicht mehr aktualisiert * Version 10.4.4 ist die erste Mac OS X Version für Intel-Macs (veröffentlicht am 10. Januar 2006) * Für PowerPC und Intel existieren getrennte Installationsmedien, die Versionen tragen auch unterschiedliche Buildnummern |} ===Mac OS X Panther (10.3.9) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. Oktober 2003 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_Panther|Wikipedia]] |} ===Mac OS Jaguar (10.2.8) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 13. August 2002 |-- | Processor || PowerPC G3, G4 or G5 orocessor (233 MHz or more, see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.2|Wikipedia]] |} ===Mac OS 10.1 Puma (10.1.5) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 25. September 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.1|Wikipedia]] |} ===Mac OS 10.0 Cheetah (10.0.4) [[Image:PowerPC logo.svg|32px]]=== {| style="border-spacing:0px; padding:0px;" |-- | style="width:160px;" | Release date: || 24. März 2001 |-- | Processor || PowerPC G3, G4 or G5 processor (see the support document) |-- | Memory (RAM) || 128 MB RAM |-- | see also || [http://support.apple.com/kb/HT2176 HT2176], [[wikipedia:Mac_OS_X_10.0|Wikipedia]] |} == Funktionsspezifische Systemanforderungen== Einige Funktionen setzen neuere Geräte als die oben genannten voraus: ===Airdrop</font>=== Ab [[#OS X Lion (10.7)|OS X Lion]] unterstützen folgende Macs den vereinfachten Datenaustausch via Airdrop: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Anfang 2009" |-- | MacBook || ab dem Modell von "Ende 2008" (nicht jedoch das weiße MacBook!) |-- | MacBook Air || ab dem Modell von "Ende 2010" |-- | MacBook Pro || ab dem Modell von "Ende 2008" (nicht jedoch das 17" MacBook Pro "Ende 2008") |-- | Mac mini || ab dem Modell von "Mitte 2010" |-- | Mac Pro || ab dem Modell von "Anfang 2009" mit AirPort Extreme-Karte oder "Mitte 2010" |} ===Handoff=== Handoff benötigt Bluetooth 4 und steht ab [[#OS X Yosemite (10.10)|OS X Yosemite]] auf folgenden Macs zur Verfügung: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem Modell von "Ende 2012" |-- | MacBook || ab dem Modell von "Anfang 2015" |-- | MacBook Air || ab dem Modell von "Mitte 2012" |-- | MacBook Pro || ab dem Modell von "Mitte 2012" |-- | Mac mini || ab dem Modell von "Mitte 2011" |-- | Mac Pro || ab dem Modell von 2013 |} ===Metal=== "Metal", die hardware-beschleunigte Grafik-Engine von [[#OS X El Capitan (10.11)|OS X El Capitan]], benötigt mindestens einen Mac des Baujahrs 2012 oder neuer. ===Sidecar=== Ab [[#macOS Catalina (10.15)|macOS Catalina]] unterstützen folgende Macs die Nutzung eines iPad als Monitor via Sidecar: {| style="border-spacing:0px; padding:0px;" |-- | iMac || ab dem 27" Modell von "2015" |-- | iMac Pro || ab dem 2017er Modell |-- | MacBook Pro || ab dem Modell von "Mitte 2016" |-- | MacBook Air || ab dem Modell von "Ende 2018" |-- | MacBook || ab dem Modell von "Anfang 2016" |-- | Mac mini || ab dem Modell von "Ende 2018" |-- | Mac Pro || ab dem 2019er Modell (bei der Einführung von Sidecar ebenfalls neu vorgestellt) |} Außerdem wird ein mit iOS 13 kompatibles iPad (Pro) benötigt (iPad Air 2 oder neuer): * iPad Pro (alle Modelle) * iPad (5. und 6. Generation) * iPad mini (4 und 5.Generation) * iPad Air (2 und 3. Generation) ===Siehe auch=== Airdrop: * [https://support.apple.com/de-de/HT203106 Mac-Grundlagen: Dateien mit AirDrop von Ihrem Mac auf Mac-Computer und iOS-Geräte in der Nähe senden] * [https://support.apple.com/de-de/HT5887 iOS: Mit AirDrop drahtlos Inhalte bereitstellen] * [https://support.apple.com/de-de/HT202267 AirDrop mit Mac OS X Lion, Mountain Lion oder Mavericks verwenden] Handoff: * [https://support.apple.com/kb/PH18754?locale=de_DE OS X Yosemite: Nahtloses Weiterarbeiten mit Handoff] * [https://support.apple.com/kb/PH18947?locale=de_DE&viewlocale=de_DE OS X Yosemite: Unterstützte Geräte für Handoff, Instant Hotspot, Telefonate, SMS und AirDrop] ==Weitere Informationen== * [https://support.apple.com/en_US/specs/macOS macOS Technical Specifications] (Apple Support) 4e30c4c6b82b568e249e6ef1f579708450ffdf55 Main Page 0 1 1814 1681 2023-05-24T08:43:02Z Hagbard 2 wikitext text/x-wiki [[Image:MacwrenchLogo.png|128px|right]] Macwrench (reachable via [http://www.macwrench.de macwrench.de] as well) collects helpful tips and tricks for using macOS. It has a long history back well into the nineties and started out as wiki about tinkering and fixing broken parts of any Apple hardware. Over the years/decades it morphed into some sort of database for using macOS and Apple Software. [[User:Hagbard|I]] took over about 15 years ago during my time at university when the original maintainer - one of my fellow students - intended to abandon the project because most of the articles were already hopelessly outdated. I continue using and maintaining the wiki by occasionally adding helpful tips and updating existing ones. It used to be german only, but in the last couple of years I began to mostly use English for such things. I try to translate the other articles one at a time whenever I have some spare time, but for the time being this will result in a funny mixture of these two languages. [[User:Hagbard|Hagbard]] ([[User talk:Hagbard|talk]]) {| style="width:100%; border: 1px solid ButtonBorder; padding:10px;" |-- | colspan="3" | '''Important articles:''' || rowspan="7" style="width:148px" | [[Image:W21-1a.svg|128px|right]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS Systemvoraussetzungen|macOS System Requirements]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[MacOS_Installationsmedium_erstellen|macOS Installationsmedium erstellen]] |-- | style="text-align:right;" | {{Key press|cmd}} || &nbsp; || [[Mac Keyboard Shortcuts]] |-- | style="text-align:right;" | {{Key press|power}} || &nbsp; || [[Startup Key Combinations]] |-- | colspan="2" | || <hr/> |-- | style="text-align:right; width:80px;" | {{TerminalIcon}} || &nbsp; || [[Terminal Quickies]] |-- | style="text-align:right; width:80px;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Hidden Features]] |-- | style="text-align:right;" | [[Image:Apple logo black.svg|16px]] || &nbsp; || [[Development Quickies]] |-- | style="text-align:right;" | [[Image:Asian Elephant Icon.svg|24px]] || &nbsp; || [[MAMP Quickies|MAMP/MAMP PRO Quickies]] |-- | colspan="3" style="padding-top:10px;" | '''External resources:''' |-- | style="text-align:right; width:80px;" | [[Image:Stop hand grey.svg|18px]] || &nbsp; || [[Block lists]] |-- | style="text-align:right; width:80px;" | [[Image:GreenCopyleft (2).svg|18px]] || &nbsp; || [[Open Source Anwendungen|Open Source Software]] <!-- |-- | style="text-align:right;" | [[Image:User-privacy-icon.svg|16px]] || &nbsp; || [[Hardening macOS]] (coming soon)--> |-- | colspan="3" style="padding-top:10px;" | '''Apple Services - System Status:''' |-- | style="text-align:right; width:80px;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://www.apple.com/support/systemstatus/ Apple services and stores] |-- | style="text-align:right;" | [[Image:Noun Earthquake 4232.svg|18px]] || &nbsp; ||[https://developer.apple.com/system-status/ Developer system status] |} {| style="width:100%; border: 1px solid ButtonBorder; padding:10px; margin-top:16px;" |-- ! '''Important categories:''' |-- | style="text-align:center;" | [[:Category:OS|Operating System]] &bull; [[:Category:Development|Development]] &bull; [[:Category:Terminal|Terminal]] &bull; [[:Category:Networking|Networking]] &bull; [[:Category:Hint|Hints]]<hr/>[[:Category:Museum|Museum]] &bull; [[:Category:Verify|Verify]] &bull; [[:Category:Translate|Translate]]<br/>[[Special:Categories|All categories]] &bull; [[Special:AllPages|All pages]] |} 953649761501525847c82a96014cfd2e01ae3248 MacOS Installationsmedium erstellen 0 10 1822 1719 2023-07-28T07:01:34Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Hint]][[Category:Translate]] {{Important|1=Bei der Installation älterer Versionen ist ggf. zusätzlich noch das Systemdatum auf einen Zeitpunkt kurz nach dem Download des Installationsarchivs einzustellen, da ansonsten ggf. die Verifizierung des Downloads aufgrund eines abgelaufenen Zertifikates fehlschlägt und der Installer dann einen erneuten Download verlangt (der natürlich nicht erforderlich ist).}} {{Info|1='''2018-2020 Intel Macs:''' Um von einem externen Medium booten zu können, muss der Mac zunächst im Recovery Mode gestartet werden, um dort im "Startup Security Utility" das Booten von externen Medien zu erlauben. '''Direktdownload im Terminal:''' Seit macOS Catalina (Version 10.15) kann ein bestimmtes macOS Installationsarchiv statt über den App Store auch mit Hilfe des Kommandozeilentools {{TT|softwareupdate}} heruntergeladen werden, hier am Beispiel von macOS Mojave: :{{TT|softwareupdate --fetch-full-installer}} :{{TT|softwareupdate --fetch-full-installer --full-installer-version 10.14.6
}} Für aktuelle [[wikipedia:MacOS|macOS]] Versionen (derzeit [[wikipedia:MacOS_Big_Sur|Big Sur]] und [[wikipedia:MacOS_Monterey|Monterey]]) können die Installer auch direkt von der Apple Website geladen werden, beispielsweise so: :{{TT|curl -o InstallAssistant.pkg http://swcdn.apple.com/content/downloads/.../InstallAssistant.pkg}} Eine Liste der aktuellen Downloadlinks – die übrigens immer nur für eine begrenzte Zeit gültig sind – ist beispielsweise auf [https://mrmacintosh.com mrmacintosh.com] zu finden: * [https://mrmacintosh.com/macos-big-sur-full-installer-database-download-directly-from-apple/ Big Sur Installers] * [https://mrmacintosh.com/macos-12-monterey-full-installer-database-download-directly-from-apple/ Monterey Installers] }} ==OS X Mavericks und neuer== ===via {{Terminal}}=== Seit der finalen Version von OS X Mavericks (zuletzt getestete Version: macOS Sierra, Version 10.12.4) bietet der Installer die Möglichkeit, via Terminal ein Installationsmedium auf einem beliebigen, angeschlossenen Volume zu erstellen. Zu diesem Zweck wurde das Terminalkommando "{{TT|createinstallmedia}}" hinzugefügt. Im Folgenden wird davon ausgegegangen, dass sich das aus dem Mac App Store geladene Installationsarchiv im Systemverzeichnis "Programme" befindet. Anschließend ist im Terminal folgendes einzugeben, dabei wird der Inhalt des Zielmediums logischerweise gelöscht (es werden dazu Admin-Rechte benötigt, ggf. ist ein entsprechendes Kennwort einzugeben): sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume "/Volumes/<Installationsmedium>" Für macOS Version 10.13 (High Sierra) und älter ist zusätzlich die Angabe des Parameters {{TT|--applicationpath}} erforderlich: sudo /Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia --volume "/Volumes/<Installationsmedium>" --applicationpath "/Applications/Install OS X Mavericks.app" Dabei ist "{{TT|<Installationsmedium>}}" durch den Namen des jeweiligen Volume zu ersetzen. Falls sich das Installationsarchiv an einem anderen Ort befindet, ist auch der Pfad dementsprechend zu korrigieren. Da das Zielvolume während des Vorgangs ausgehängt werden muss, sollten andere aktive Programme keine Dateien von diesem Laufwerk geöffnet haben. Folgende Parameter stehen hierbei zur Verfügung (Stand: OS X Version 10.9.0): {| |-- |{{TT|--volume}} || vollständiger Pfad zum Zielvolume || obligatorisch |-- |{{TT|--applicationpath}} || vollständiger Pad zum Installationsarchiv (App-Bundle) || obligatorisch, bis macOS Version 10.13 (High Sierra) |-- |{{TT|--nointeraction}} || Keine Rückfrage für das Löschen des Zielmediums || optional |-- |{{TT|--force}} || (erwähnt aber nicht weiter dokumentiert) || optional |-- |{{TT|--downloadassets
}} || zusätzlicher Download der aktuellen Firmware auf das externe Volume || optional |} Siehe auch: [http://support.apple.com/kb/HT5856 Apple Support Dokument "HT5856"] Alternativ kann das graphische Installationsprogramm auch über das Terminal gestartet werden: sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/startosinstall --applicationpath /Applications/Install\ macOS\ High\ Sierra.app --agreetolicense --converttoapfs NO --nointeraction ===Von Hand=== Unter '''OS X Mountain Lion''' (Version 10.8.x) und den Vorabversionen (Developer Previews) von '''OS X Mavericks''' (Version 10.9.x) ist eine andere Vorgehensweise notwendig, da das Installations-DMG "{{TT|InstallESD.dmg}}" hier kein vollständiges, bootfähiges OS X enthält. Daher sind folgende Schritte notwendig, um zunächst ein bootfähiges Volume (z.B. auf einer externen Festplatte oder einem USB-Stick) zu erhalten: # eine leere Partition auf einem bootfähigen Medium bereitstellen (z.B. ext. USB-Festplatte oder ein USB-Stick) # innerhalb des OS X Installationsbundle im Unterverzeichnis {{TT|/Contents/SharedSupport/}} das Disk-Image "{{TT|InstallESD.dmg}}" finden und per Doppelklick einhängen. # für den folgenden Schritt kann entweder das [[:Category:Terminal|Terminal]] verwendet werden, oder der Finder muss (z.B. mit Hilfe von [http://www.bresink.com/osx/TinkerTool-de.html TinkerTool]) dazu bewegt werden, versteckte Dateien anzuzeigen ([[#Versteckte Dateien im Finder anzeigen|siehe unten]]). # dort befindet sich ein weiteres (verstecktes) Disk-Image namens "{{TT|BaseSystem.dmg}}", das zur Wiederherstellung z.B. auf den Desktop kopiert werden kann (aber nicht muss). # Im Festplattendienstprogramm kann nun dieses Image auf die bereits vorbereitete, leere Partition "wiederhergestellt" werden (Partition auswählen und im Tab "Wiederherstellen" Quelle und Ziel auswählen). Dieses Image enthält ein bootfähiges System, allerdings noch ohne Installationsdateien. Diese werden nun im folgenden Schritt kopoert: # Anschließend ist dieses soeben erstellte (bootfähige) Volume öffnen (müsste "OS X Base System" zu öffnen. Dort befindet sich nun unter "{{TT|/System/Installation/}}" ein defekter Alias namens "{{TT|Packages}}", der zu löschen und durch das entsprechende Verzeichnis "{{TT|Packages}}" im Disk-Image "{{TT|InstallESD.dmg}}" zu ersetzen ist. Dieses Verzeichnis enthält alle Installationdateien und ist dementsprechend relativ größ (etwa 4,5 GiB). # unter Version 10.10 und neuer müssen zusätzlich die folgenden Beiden Dateien ins Wurzelverzeichnis des neuen Installationsmediums kopiert werden: #* {{TT|BaseSystem.chunklist}} #* {{TT|BaseSystem.dmg}} # Fertig. Anschließend kann der Mac von dem neu erstellten Installationsvolume "OS X Base System" gestartet werden. ==OS X Lion und Mountain Lion== {{Important|1= Seit '''OS X Mavericks''' (Version 10.9) hat sich die Vorgehensweise im Vergleich zu OS X (Mountain) Lion geändert, da das Installations-DMG "{{TT|InstallESD.dmg}}" nun kein vollständiges, bootfähiges OS X mehr enthält, das lediglich auf eine DVD zu brennen ist. Details hierzu sind im Abschnitt "[[#OS X Mavericks und neuer|OS X Mavericks]]" dieses Artikels zu finden.<br /><br /> Die für OS X Lion und Mountain Lion beschriebene Vorgehensweise funktioniert '''partiell nur unter Snow Leopard und Lion''' bzw. wenn eine andere OS X Version als die derzeit installierte heruntergeladen werden soll. Dieselbe Version wird im App Store nicht mehr zur Installation angeboten, sondern lediglich deren Updates. Das jeweilige Produkt erscheint dann ggf. (falls es vorher via App Store heruntergeladen wurde) mit dem Status "Installiert" und lässt sich nicht mehr herunterladen. In einigen Fällen konnte mit gedrückter "ALT" Taste das Archiv dennoch erneut heruntergeladen werden, was jedoch nicht immer und zuverlässig zu funktionieren scheint.}} [[Image:OSX_Lion_DVD_Contents.png|right|100px|Inhalt des OSX Lion Installationsarchivs]]Aus dem im App Store herunterladbaren Installationsbundle von OS X (OS X Lion und Mountain Lion) lässt sich unter älteren Versionen (ab Snow Leopard) in wenigen Schritten eine bootfähige Installations-DVD erstellen. Innerhalb des Bundles befindet sich nämlich ein Disk Image namens "{{TT|InstallESD.dmg}}", das sich mit Hilfe des Festplatten-Dienstprogramms ohne Probleme auf eine DVD brennen lässt. Dieses Archiv befindet sich an folgender Stelle innerhalb des Application Bundles "{{TT|Mac OS X Lion Installation.app}}" (siehe Abb. rechts), das man im Finder über das Kontextmenü ("Paketinhalt zeigen") erreicht: /Contents/SharedSupport/InstallESD.dmg ===DVD=== Dieses Image ist lediglich an eine beliebige Stelle außerhalb des Bundles zu kopieren und kann anschließend mit Hilfe des Festplatten-Dienstprogramms (Disk Utility) auf DVD gebrannt werden (dort einfach auf "Brennen" klicken und das Image auswählen). ===USB-Stick=== Für das Erstellen eines USB-Sticks als Installationsmedium ist dieser entsprechend vorzubereiten: # den USB-Stick im Festplatten-Dienstprogramm mit dem Dateisystem "Mac OS X Extended (Journaled)" (HFS+) formatieren.<br />[[Image:Gefahrenzeichen_16.svg|16px]] '''Wichtig:''' darauf achten, dass als Partitionsschema "Apple GUID" verwendet wird (ist standardmäßig der Fall), ansonsten kann ein Intel Mac von diesem Medium aus nicht gestartet werden! # Das formatierte Medium auswählen und im Tab "Wiederherstellen" als Quelle das Disk Image "{{TT|InstallESD.dmg}}" auswählen (z.B. per Drag'n'Drop aus dem Finder). # Als Zielmedium (falls nicht bereits ausgewählt) das soeben formatierte Volume auf dem USB-Stick in das Feld "Zielmedium" ziehen (aus der Laufwerksauswahl links) # Mit einem Klick auf "Wiederherstellen" wandert dann der Inhalt des Disk Images auf den USB Stick ==Tools== ===Carbon Copy Cloner=== Ab Version 3.4.4 bietet der [http://bombich.com/ Carbon Copy Cloner] die Möglichkeit, aus einem im Programme-Ordner vorhandenen Lion-Installationsarchiv heraus ein Installationsmedium zu erstellen. Dieses steht im Auswahlmenü "Quelle" zur Verfügung, als Ziel (das zukünftige Installationsmedium) kann dann ein beliebiges Volume (ausreichender Größe, beispielsweise eine externe Festplatte) ausgewählt werden. ===DiskMaker X=== Der [http://diskmakerx.com/ DiskMaker X] (donationware, früherer Name: [http://liondiskmaker.com/ Lion Disk Maker]) dient ebenfalls dazu, aus den heruntergeladenen App Store Archiven startbare Installationsmedien zu erstellen. ==Hintergund== Bei einer "herkömmlichen" Installation des heruntergeladenen Application-Bundle werden durch das Installationsprogramm im Wesentlichen folgende Schritte durchgeführt: * Erzeugen einer versteckten Partition auf der Systemfestplatte * Wiederherstellen des o.g. Disk Images auf dieser Partition * Diese Installationspartition wird anschließend als Startvolume verwendet, wobei andere existierende System-Volumes ausgeblendet werden (diese sind dann auch nicht mehr über das OSX Boot-Menü erreichbar) Beim Neustart von dieser Partition wird dann OSX Lion installiert. Durch das Übertragen des Disk Images auf eine DVD oder einen USB Stick macht man also nichts anderes als diese Schritte zu umgehen und das Installationsmedium statt dessen von einem externen Volume aus zu starten. ===Versteckte Dateien im Finder anzeigen=== Um im Finder alle Dateien - auch versteckte - sehen zu können, ist im {{Terminal}} folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.finder AppleShowAllFiles -boolean true </syntaxhighlight> Anschließend ist der Finder mit folgendem Kommando ne zu starten, damit die Änderung wirksam wird: <syntaxhighlight lang="bash"> killall Finder </syntaxhighlight> Die Deaktivierung erfolgt dann mit Hilfe folgender Anweisung: <syntaxhighlight lang="bash"> defaults delete com.apple.finder AppleShowAllFiles </syntaxhighlight> Alternativ dazu kann der Finder auch über das Dock-Icon neu gestartet werden, und zwar via Rechtsklick bei gedrückter <KB>ALT</KB> Taste (alt). ==See also== * [https://support.apple.com/en-us/HT208198 About Startup Security Utility] at [https://support.apple.com support.apple.com] * [https://scriptingosx.com/2020/01/downgrading-a-mac-that-shipped-with-catalina-to-mojave/ Downgrading a Mac that shipped with Catalina to Mojave] at [https://scriptingosx.com scriptingosx.com] * [https://en.wikibooks.org/wiki/VirtualBox/Setting_up_a_Virtual_Machine/Mac_OS_X VirtualBox/Setting up a Virtual Machine/Mac OS X] at [https://en.wikibooks.org Wikibooks] da5db5595e1e1b72ce2cf1c887cf85ebe81954e6 Wget 0 333 1826 1701 2023-07-30T08:56:46Z Hagbard 2 /* MacPorts */ wikitext text/x-wiki [[Category:Terminal]][[wikipedia:Wget|wget]] ist als Kommandozeilen-Programm ein sehr vielseitiges Download-Werkzeug und bietet bereits von Haus aus alle notwendigen Funktionen und Optionen. Als Alternative zur Nutzung von wget im {{Terminal}} existiert eine Vielfalt graphischer Oberflächen für wget, die allerdings in den meisten Fällen nur einen Bruchteil der Funktionsvielfalt von wget bieten. Daher an dieser Stelle ein paar Tipps und Tricks für den alltäglichen Gebrauch von wget im Terminal: ==Installation== Da wget nicht in der Teil der Standardinstallation von Mac OS X ist, muss es hier nachträglich installiert werden. Man kann es entweder aus dem Quellcode übersetzen oder aus den MacPorts installieren (alternativ: [http://www.finkproject.org/ Fink]/[http://finkcommander.sourceforge.net/ FinkCommander]): ===Quelltexte übersetzen=== Hierfür ist die Installation der Xcode Developer Tools notwendig, für deren Download eine (kostenlose) Mitgliedschaft im Apple Developer Program notwendig ist. Im Terminal sind zur Installation folgende Kommandos einzugeben; <syntaxhighlight lang=bash> # wget-Quellcode herunterladen: curl -o wget-latest.tar.gz http://ftp.gnu.org/gnu/wget/wget-latest.tar.gz # ... und entpacken: tar xzf wget-latest.tar.gz # in dieses Verzeichnis wechseln (z.B. wget-1.12): cd wget-x.y.z # und übersetzen: ./configure --with-ssl=openssl make </syntaxhighlight> Anschließend kann wget entweder über folgendes Kommando installiert oder die Programmdatei '''{{TT|src/wget}}''' manuell in irgendein gewünschtes Verzeichnis kopiert werden <syntaxhighlight lang=bash> sudo make install </syntaxhighlight> ===Homebreww=== In der Regel wird {{TT|wget}} über [https://brew.sh/ homebrew] installiert: <syntaxhighlight lang=bash> brew install wget </syntaxhighlight> Die Installationsanweisungen für homebrew finden sich auf der Projektwebsite. ===MacPorts=== Alternativ ist die Installation auch über die [http://www.macports.org/index.php MacPorts] durch folgende Eingaben im Terminal möglich, wobei vorher deren Basis-Distributionspaket installiert werden muss: <syntaxhighlight lang=bash> sudo port install wget </syntaxhighlight> ===Linux=== Unter Linux ist wget üblicherweise als Paket in den jeweiligen Repositories vorhanden und lässt sich mit den entsprechenden Tools der Distribution installieren. Beispiel Debian/Ubuntu: sudo apt-get install wget ==HowTOs== ===Webseiten speichern mit wget=== Eine Webseite bzw. ein ftp-Verzeichnis spiegeln: -m ''<url>'' --mirror ''<url>'' Was eine Kurzform ist für: -r -l inf -N ''<url>'' Dabei ganz praktisch ist eine Umwandlung von Links in HTML-Dateien für die lokale Benutzung: --convert-links --backup-converted (Backup der Originaldateien vor der Umsetzung) ===Downloads mit Wget=== Das folgende Kommando lädt eine Datei von der Adresse <url> mit einer maximalen Downloadrate von 20kB/Sekunde, einem timeout von 20 Sekunden zwischen den Verbindungsversuchen und der automatischen Fortsetzung des Downloads nach einem Abbruch: wget -c --wait=20 --limit-rate=20K ''<url>'' ===Nur Dateien eines bestimmten Typs laden=== Das folgende Kommando lädt nur Dateien mit der Endung ".pdf" herunter: wget ftp://path/to/files/*.pdf ===Downloads im Hintergrund ausführen=== '''Möglichkeit A:''' mit Hilfe der Option {{TT|-b}}: wget -cb ''<url>'' wget -c --background ''<url>'' '''Möglichkeit B:''' mit Hilfe von {{Man|screen|screen}}: screen wget ''<url>'' Verlassen des wget screens: {{Key press|Ctrl|A|D}} Auflisten aller offenen screens screen -ls Wechseln zum wget screen: screen -r ''<ID>'' '''Möglichkeit C:''' Starten mit {{Man|nohup|nohup}} nohup wget -c -o /path/to/activity.log ''<url>'' nohup bewirkt dabei, dass das ausgeführte Kommando (hier wget) ausgeführt wird und sog "hangup" Signale ignoriert. Dadurch kann der Prozess im Hintergrund weiterlaufen, auch wenn sich der Benutzer zwischenzeitlich abmeldet. Die Option -o /path/to/activity.log bewirkt dabei, dass die Ausgabe in die dort genannte Datei geschrieben wird (anstatt auf den Bildschirm). ==praktische Optionen== Hier noch eine kurze Zusammenstellung praktischer Optionen für die Benutzung auf die Schnelle: ===Download-Bandbreite beschränken=== Beschränkung der Download-Bandbreite auf x Bytes (bzw. auf KB bei angeängtem "K"), z.B.: --limit-rate=30K --limit-rate=''<amount>'' --limit-rate=''<amount>''K ===Downloads fortsetzen=== Mit der folgenden Option werden zuvor abgebrochene Downloads fortgesetzt (wenn der Server dies unterstützt): -c ''<datei>'' --continue ''<datei>''Screen ===HTTP-Authentifizierung=== Zugriff auf mit http-basic geschützte Bereiche: --http-user=''<user>'' --http-passwd=''<password>'' ===Download-Liste=== Downloads aus einer Datei holen (Liste aller zu ziehender URLs; eine URL pro Zeile): -i ''<datei>'' Einen Browser vortäuschen: wget -r -p -U Mozilla ''<url>'' ==graphische Frontends== ===MacOS X=== * Übersicht bei [https://www.macupdate.com/find/mac/wget macupdate.com] ===Linux=== * [http://projects.gnome.org/gwget/ Gwget] (Gnome Frontend für wget) ===Windows=== ==Alternativen/Erweiterungen== ===Aget=== [http://www.enderunix.org/aget/ Aget] (GPL) ist ein multi-threaded HTTP Downloader, der die herunterzuladenden Dateien in einzelne Teile aufsplittet und daher u.U. wesentlich schneller sein kann als wget. Beispiel: aget -n=5 ''<url>'' ==Infos und Links== * [http://www.gnu.org/software/wget/wget.html Offizielle Webseite] von GNU Wget mit [http://www.gnu.org/software/wget/manual/wget.html Dokumentation] * [http://wget.addictivecode.org/Wget Wget Wiki] * [[Wikipedia:de:Wget|wget]] in der Wikipedia * [http://linuxwiki.de/wget Kleine Anleitung] im LinuxWiki * Übersicht wichtiger Optionen und weitere Tipps zu wget im [http://wiki.ubuntuusers.de/wget ubuntuusers Wiki] fca8fd4e021006c949a39f002711e8db4e075b5d 1827 1826 2023-07-30T08:57:13Z Hagbard 2 /* Homebreww */ wikitext text/x-wiki [[Category:Terminal]][[wikipedia:Wget|wget]] ist als Kommandozeilen-Programm ein sehr vielseitiges Download-Werkzeug und bietet bereits von Haus aus alle notwendigen Funktionen und Optionen. Als Alternative zur Nutzung von wget im {{Terminal}} existiert eine Vielfalt graphischer Oberflächen für wget, die allerdings in den meisten Fällen nur einen Bruchteil der Funktionsvielfalt von wget bieten. Daher an dieser Stelle ein paar Tipps und Tricks für den alltäglichen Gebrauch von wget im Terminal: ==Installation== Da wget nicht in der Teil der Standardinstallation von Mac OS X ist, muss es hier nachträglich installiert werden. Man kann es entweder aus dem Quellcode übersetzen oder aus den MacPorts installieren (alternativ: [http://www.finkproject.org/ Fink]/[http://finkcommander.sourceforge.net/ FinkCommander]): ===Quelltexte übersetzen=== Hierfür ist die Installation der Xcode Developer Tools notwendig, für deren Download eine (kostenlose) Mitgliedschaft im Apple Developer Program notwendig ist. Im Terminal sind zur Installation folgende Kommandos einzugeben; <syntaxhighlight lang=bash> # wget-Quellcode herunterladen: curl -o wget-latest.tar.gz http://ftp.gnu.org/gnu/wget/wget-latest.tar.gz # ... und entpacken: tar xzf wget-latest.tar.gz # in dieses Verzeichnis wechseln (z.B. wget-1.12): cd wget-x.y.z # und übersetzen: ./configure --with-ssl=openssl make </syntaxhighlight> Anschließend kann wget entweder über folgendes Kommando installiert oder die Programmdatei '''{{TT|src/wget}}''' manuell in irgendein gewünschtes Verzeichnis kopiert werden <syntaxhighlight lang=bash> sudo make install </syntaxhighlight> ===Homebreww=== In der Regel wird {{TT|wget}} über [https://brew.sh/ Homebrew] installiert: <syntaxhighlight lang=bash> brew install wget </syntaxhighlight> Die Installationsanweisungen für homebrew finden sich auf der [https://brew.sh/ Projektwebsite]. ===MacPorts=== Alternativ ist die Installation auch über die [http://www.macports.org/index.php MacPorts] durch folgende Eingaben im Terminal möglich, wobei vorher deren Basis-Distributionspaket installiert werden muss: <syntaxhighlight lang=bash> sudo port install wget </syntaxhighlight> ===Linux=== Unter Linux ist wget üblicherweise als Paket in den jeweiligen Repositories vorhanden und lässt sich mit den entsprechenden Tools der Distribution installieren. Beispiel Debian/Ubuntu: sudo apt-get install wget ==HowTOs== ===Webseiten speichern mit wget=== Eine Webseite bzw. ein ftp-Verzeichnis spiegeln: -m ''<url>'' --mirror ''<url>'' Was eine Kurzform ist für: -r -l inf -N ''<url>'' Dabei ganz praktisch ist eine Umwandlung von Links in HTML-Dateien für die lokale Benutzung: --convert-links --backup-converted (Backup der Originaldateien vor der Umsetzung) ===Downloads mit Wget=== Das folgende Kommando lädt eine Datei von der Adresse <url> mit einer maximalen Downloadrate von 20kB/Sekunde, einem timeout von 20 Sekunden zwischen den Verbindungsversuchen und der automatischen Fortsetzung des Downloads nach einem Abbruch: wget -c --wait=20 --limit-rate=20K ''<url>'' ===Nur Dateien eines bestimmten Typs laden=== Das folgende Kommando lädt nur Dateien mit der Endung ".pdf" herunter: wget ftp://path/to/files/*.pdf ===Downloads im Hintergrund ausführen=== '''Möglichkeit A:''' mit Hilfe der Option {{TT|-b}}: wget -cb ''<url>'' wget -c --background ''<url>'' '''Möglichkeit B:''' mit Hilfe von {{Man|screen|screen}}: screen wget ''<url>'' Verlassen des wget screens: {{Key press|Ctrl|A|D}} Auflisten aller offenen screens screen -ls Wechseln zum wget screen: screen -r ''<ID>'' '''Möglichkeit C:''' Starten mit {{Man|nohup|nohup}} nohup wget -c -o /path/to/activity.log ''<url>'' nohup bewirkt dabei, dass das ausgeführte Kommando (hier wget) ausgeführt wird und sog "hangup" Signale ignoriert. Dadurch kann der Prozess im Hintergrund weiterlaufen, auch wenn sich der Benutzer zwischenzeitlich abmeldet. Die Option -o /path/to/activity.log bewirkt dabei, dass die Ausgabe in die dort genannte Datei geschrieben wird (anstatt auf den Bildschirm). ==praktische Optionen== Hier noch eine kurze Zusammenstellung praktischer Optionen für die Benutzung auf die Schnelle: ===Download-Bandbreite beschränken=== Beschränkung der Download-Bandbreite auf x Bytes (bzw. auf KB bei angeängtem "K"), z.B.: --limit-rate=30K --limit-rate=''<amount>'' --limit-rate=''<amount>''K ===Downloads fortsetzen=== Mit der folgenden Option werden zuvor abgebrochene Downloads fortgesetzt (wenn der Server dies unterstützt): -c ''<datei>'' --continue ''<datei>''Screen ===HTTP-Authentifizierung=== Zugriff auf mit http-basic geschützte Bereiche: --http-user=''<user>'' --http-passwd=''<password>'' ===Download-Liste=== Downloads aus einer Datei holen (Liste aller zu ziehender URLs; eine URL pro Zeile): -i ''<datei>'' Einen Browser vortäuschen: wget -r -p -U Mozilla ''<url>'' ==graphische Frontends== ===MacOS X=== * Übersicht bei [https://www.macupdate.com/find/mac/wget macupdate.com] ===Linux=== * [http://projects.gnome.org/gwget/ Gwget] (Gnome Frontend für wget) ===Windows=== ==Alternativen/Erweiterungen== ===Aget=== [http://www.enderunix.org/aget/ Aget] (GPL) ist ein multi-threaded HTTP Downloader, der die herunterzuladenden Dateien in einzelne Teile aufsplittet und daher u.U. wesentlich schneller sein kann als wget. Beispiel: aget -n=5 ''<url>'' ==Infos und Links== * [http://www.gnu.org/software/wget/wget.html Offizielle Webseite] von GNU Wget mit [http://www.gnu.org/software/wget/manual/wget.html Dokumentation] * [http://wget.addictivecode.org/Wget Wget Wiki] * [[Wikipedia:de:Wget|wget]] in der Wikipedia * [http://linuxwiki.de/wget Kleine Anleitung] im LinuxWiki * Übersicht wichtiger Optionen und weitere Tipps zu wget im [http://wiki.ubuntuusers.de/wget ubuntuusers Wiki] d70c60479c7cbe1d38fb48de2a01667ebbb7f5a8 1828 1827 2023-07-30T08:58:26Z Hagbard 2 /* Homebreww */ wikitext text/x-wiki [[Category:Terminal]][[wikipedia:Wget|wget]] ist als Kommandozeilen-Programm ein sehr vielseitiges Download-Werkzeug und bietet bereits von Haus aus alle notwendigen Funktionen und Optionen. Als Alternative zur Nutzung von wget im {{Terminal}} existiert eine Vielfalt graphischer Oberflächen für wget, die allerdings in den meisten Fällen nur einen Bruchteil der Funktionsvielfalt von wget bieten. Daher an dieser Stelle ein paar Tipps und Tricks für den alltäglichen Gebrauch von wget im Terminal: ==Installation== Da wget nicht in der Teil der Standardinstallation von Mac OS X ist, muss es hier nachträglich installiert werden. Man kann es entweder aus dem Quellcode übersetzen oder aus den MacPorts installieren (alternativ: [http://www.finkproject.org/ Fink]/[http://finkcommander.sourceforge.net/ FinkCommander]): ===Quelltexte übersetzen=== Hierfür ist die Installation der Xcode Developer Tools notwendig, für deren Download eine (kostenlose) Mitgliedschaft im Apple Developer Program notwendig ist. Im Terminal sind zur Installation folgende Kommandos einzugeben; <syntaxhighlight lang=bash> # wget-Quellcode herunterladen: curl -o wget-latest.tar.gz http://ftp.gnu.org/gnu/wget/wget-latest.tar.gz # ... und entpacken: tar xzf wget-latest.tar.gz # in dieses Verzeichnis wechseln (z.B. wget-1.12): cd wget-x.y.z # und übersetzen: ./configure --with-ssl=openssl make </syntaxhighlight> Anschließend kann wget entweder über folgendes Kommando installiert oder die Programmdatei '''{{TT|src/wget}}''' manuell in irgendein gewünschtes Verzeichnis kopiert werden <syntaxhighlight lang=bash> sudo make install </syntaxhighlight> ===Homebrew=== In der Regel wird {{TT|wget}} über [https://brew.sh/ Homebrew] installiert: <syntaxhighlight lang=bash> brew install wget </syntaxhighlight> Die Installationsanweisungen für homebrew finden sich auf der [https://brew.sh/ Projektwebsite]. ===MacPorts=== Alternativ ist die Installation auch über die [http://www.macports.org/index.php MacPorts] durch folgende Eingaben im Terminal möglich, wobei vorher deren Basis-Distributionspaket installiert werden muss: <syntaxhighlight lang=bash> sudo port install wget </syntaxhighlight> ===Linux=== Unter Linux ist wget üblicherweise als Paket in den jeweiligen Repositories vorhanden und lässt sich mit den entsprechenden Tools der Distribution installieren. Beispiel Debian/Ubuntu: sudo apt-get install wget ==HowTOs== ===Webseiten speichern mit wget=== Eine Webseite bzw. ein ftp-Verzeichnis spiegeln: -m ''<url>'' --mirror ''<url>'' Was eine Kurzform ist für: -r -l inf -N ''<url>'' Dabei ganz praktisch ist eine Umwandlung von Links in HTML-Dateien für die lokale Benutzung: --convert-links --backup-converted (Backup der Originaldateien vor der Umsetzung) ===Downloads mit Wget=== Das folgende Kommando lädt eine Datei von der Adresse <url> mit einer maximalen Downloadrate von 20kB/Sekunde, einem timeout von 20 Sekunden zwischen den Verbindungsversuchen und der automatischen Fortsetzung des Downloads nach einem Abbruch: wget -c --wait=20 --limit-rate=20K ''<url>'' ===Nur Dateien eines bestimmten Typs laden=== Das folgende Kommando lädt nur Dateien mit der Endung ".pdf" herunter: wget ftp://path/to/files/*.pdf ===Downloads im Hintergrund ausführen=== '''Möglichkeit A:''' mit Hilfe der Option {{TT|-b}}: wget -cb ''<url>'' wget -c --background ''<url>'' '''Möglichkeit B:''' mit Hilfe von {{Man|screen|screen}}: screen wget ''<url>'' Verlassen des wget screens: {{Key press|Ctrl|A|D}} Auflisten aller offenen screens screen -ls Wechseln zum wget screen: screen -r ''<ID>'' '''Möglichkeit C:''' Starten mit {{Man|nohup|nohup}} nohup wget -c -o /path/to/activity.log ''<url>'' nohup bewirkt dabei, dass das ausgeführte Kommando (hier wget) ausgeführt wird und sog "hangup" Signale ignoriert. Dadurch kann der Prozess im Hintergrund weiterlaufen, auch wenn sich der Benutzer zwischenzeitlich abmeldet. Die Option -o /path/to/activity.log bewirkt dabei, dass die Ausgabe in die dort genannte Datei geschrieben wird (anstatt auf den Bildschirm). ==praktische Optionen== Hier noch eine kurze Zusammenstellung praktischer Optionen für die Benutzung auf die Schnelle: ===Download-Bandbreite beschränken=== Beschränkung der Download-Bandbreite auf x Bytes (bzw. auf KB bei angeängtem "K"), z.B.: --limit-rate=30K --limit-rate=''<amount>'' --limit-rate=''<amount>''K ===Downloads fortsetzen=== Mit der folgenden Option werden zuvor abgebrochene Downloads fortgesetzt (wenn der Server dies unterstützt): -c ''<datei>'' --continue ''<datei>''Screen ===HTTP-Authentifizierung=== Zugriff auf mit http-basic geschützte Bereiche: --http-user=''<user>'' --http-passwd=''<password>'' ===Download-Liste=== Downloads aus einer Datei holen (Liste aller zu ziehender URLs; eine URL pro Zeile): -i ''<datei>'' Einen Browser vortäuschen: wget -r -p -U Mozilla ''<url>'' ==graphische Frontends== ===MacOS X=== * Übersicht bei [https://www.macupdate.com/find/mac/wget macupdate.com] ===Linux=== * [http://projects.gnome.org/gwget/ Gwget] (Gnome Frontend für wget) ===Windows=== ==Alternativen/Erweiterungen== ===Aget=== [http://www.enderunix.org/aget/ Aget] (GPL) ist ein multi-threaded HTTP Downloader, der die herunterzuladenden Dateien in einzelne Teile aufsplittet und daher u.U. wesentlich schneller sein kann als wget. Beispiel: aget -n=5 ''<url>'' ==Infos und Links== * [http://www.gnu.org/software/wget/wget.html Offizielle Webseite] von GNU Wget mit [http://www.gnu.org/software/wget/manual/wget.html Dokumentation] * [http://wget.addictivecode.org/Wget Wget Wiki] * [[Wikipedia:de:Wget|wget]] in der Wikipedia * [http://linuxwiki.de/wget Kleine Anleitung] im LinuxWiki * Übersicht wichtiger Optionen und weitere Tipps zu wget im [http://wiki.ubuntuusers.de/wget ubuntuusers Wiki] c5b69ffb7d4904c8d5ef9e5ff7438cc5d3e9a5f3 1829 1828 2023-07-30T08:58:46Z Hagbard 2 /* Homebrew */ wikitext text/x-wiki [[Category:Terminal]][[wikipedia:Wget|wget]] ist als Kommandozeilen-Programm ein sehr vielseitiges Download-Werkzeug und bietet bereits von Haus aus alle notwendigen Funktionen und Optionen. Als Alternative zur Nutzung von wget im {{Terminal}} existiert eine Vielfalt graphischer Oberflächen für wget, die allerdings in den meisten Fällen nur einen Bruchteil der Funktionsvielfalt von wget bieten. Daher an dieser Stelle ein paar Tipps und Tricks für den alltäglichen Gebrauch von wget im Terminal: ==Installation== Da wget nicht in der Teil der Standardinstallation von Mac OS X ist, muss es hier nachträglich installiert werden. Man kann es entweder aus dem Quellcode übersetzen oder aus den MacPorts installieren (alternativ: [http://www.finkproject.org/ Fink]/[http://finkcommander.sourceforge.net/ FinkCommander]): ===Quelltexte übersetzen=== Hierfür ist die Installation der Xcode Developer Tools notwendig, für deren Download eine (kostenlose) Mitgliedschaft im Apple Developer Program notwendig ist. Im Terminal sind zur Installation folgende Kommandos einzugeben; <syntaxhighlight lang=bash> # wget-Quellcode herunterladen: curl -o wget-latest.tar.gz http://ftp.gnu.org/gnu/wget/wget-latest.tar.gz # ... und entpacken: tar xzf wget-latest.tar.gz # in dieses Verzeichnis wechseln (z.B. wget-1.12): cd wget-x.y.z # und übersetzen: ./configure --with-ssl=openssl make </syntaxhighlight> Anschließend kann wget entweder über folgendes Kommando installiert oder die Programmdatei '''{{TT|src/wget}}''' manuell in irgendein gewünschtes Verzeichnis kopiert werden <syntaxhighlight lang=bash> sudo make install </syntaxhighlight> ===Homebrew=== In der Regel wird {{TT|wget}} wohl über [https://brew.sh/ Homebrew] installiert werden: <syntaxhighlight lang=bash> brew install wget </syntaxhighlight> Die Installationsanweisungen für homebrew finden sich auf der [https://brew.sh/ Projektwebsite]. ===MacPorts=== Alternativ ist die Installation auch über die [http://www.macports.org/index.php MacPorts] durch folgende Eingaben im Terminal möglich, wobei vorher deren Basis-Distributionspaket installiert werden muss: <syntaxhighlight lang=bash> sudo port install wget </syntaxhighlight> ===Linux=== Unter Linux ist wget üblicherweise als Paket in den jeweiligen Repositories vorhanden und lässt sich mit den entsprechenden Tools der Distribution installieren. Beispiel Debian/Ubuntu: sudo apt-get install wget ==HowTOs== ===Webseiten speichern mit wget=== Eine Webseite bzw. ein ftp-Verzeichnis spiegeln: -m ''<url>'' --mirror ''<url>'' Was eine Kurzform ist für: -r -l inf -N ''<url>'' Dabei ganz praktisch ist eine Umwandlung von Links in HTML-Dateien für die lokale Benutzung: --convert-links --backup-converted (Backup der Originaldateien vor der Umsetzung) ===Downloads mit Wget=== Das folgende Kommando lädt eine Datei von der Adresse <url> mit einer maximalen Downloadrate von 20kB/Sekunde, einem timeout von 20 Sekunden zwischen den Verbindungsversuchen und der automatischen Fortsetzung des Downloads nach einem Abbruch: wget -c --wait=20 --limit-rate=20K ''<url>'' ===Nur Dateien eines bestimmten Typs laden=== Das folgende Kommando lädt nur Dateien mit der Endung ".pdf" herunter: wget ftp://path/to/files/*.pdf ===Downloads im Hintergrund ausführen=== '''Möglichkeit A:''' mit Hilfe der Option {{TT|-b}}: wget -cb ''<url>'' wget -c --background ''<url>'' '''Möglichkeit B:''' mit Hilfe von {{Man|screen|screen}}: screen wget ''<url>'' Verlassen des wget screens: {{Key press|Ctrl|A|D}} Auflisten aller offenen screens screen -ls Wechseln zum wget screen: screen -r ''<ID>'' '''Möglichkeit C:''' Starten mit {{Man|nohup|nohup}} nohup wget -c -o /path/to/activity.log ''<url>'' nohup bewirkt dabei, dass das ausgeführte Kommando (hier wget) ausgeführt wird und sog "hangup" Signale ignoriert. Dadurch kann der Prozess im Hintergrund weiterlaufen, auch wenn sich der Benutzer zwischenzeitlich abmeldet. Die Option -o /path/to/activity.log bewirkt dabei, dass die Ausgabe in die dort genannte Datei geschrieben wird (anstatt auf den Bildschirm). ==praktische Optionen== Hier noch eine kurze Zusammenstellung praktischer Optionen für die Benutzung auf die Schnelle: ===Download-Bandbreite beschränken=== Beschränkung der Download-Bandbreite auf x Bytes (bzw. auf KB bei angeängtem "K"), z.B.: --limit-rate=30K --limit-rate=''<amount>'' --limit-rate=''<amount>''K ===Downloads fortsetzen=== Mit der folgenden Option werden zuvor abgebrochene Downloads fortgesetzt (wenn der Server dies unterstützt): -c ''<datei>'' --continue ''<datei>''Screen ===HTTP-Authentifizierung=== Zugriff auf mit http-basic geschützte Bereiche: --http-user=''<user>'' --http-passwd=''<password>'' ===Download-Liste=== Downloads aus einer Datei holen (Liste aller zu ziehender URLs; eine URL pro Zeile): -i ''<datei>'' Einen Browser vortäuschen: wget -r -p -U Mozilla ''<url>'' ==graphische Frontends== ===MacOS X=== * Übersicht bei [https://www.macupdate.com/find/mac/wget macupdate.com] ===Linux=== * [http://projects.gnome.org/gwget/ Gwget] (Gnome Frontend für wget) ===Windows=== ==Alternativen/Erweiterungen== ===Aget=== [http://www.enderunix.org/aget/ Aget] (GPL) ist ein multi-threaded HTTP Downloader, der die herunterzuladenden Dateien in einzelne Teile aufsplittet und daher u.U. wesentlich schneller sein kann als wget. Beispiel: aget -n=5 ''<url>'' ==Infos und Links== * [http://www.gnu.org/software/wget/wget.html Offizielle Webseite] von GNU Wget mit [http://www.gnu.org/software/wget/manual/wget.html Dokumentation] * [http://wget.addictivecode.org/Wget Wget Wiki] * [[Wikipedia:de:Wget|wget]] in der Wikipedia * [http://linuxwiki.de/wget Kleine Anleitung] im LinuxWiki * Übersicht wichtiger Optionen und weitere Tipps zu wget im [http://wiki.ubuntuusers.de/wget ubuntuusers Wiki] c4834376544b9ac0f459a750f52225fc145415e6 Startup Key Combinations 0 9 1840 271 2023-10-20T11:19:03Z Hagbard 2 wikitext text/x-wiki [[Category:OS]][[Category:Translate]]<!-- alternative article names, listed for search engine optimization: [[Boot_Key_Combos|Boot Key Combos]] [[Startup_Key_Combinations|Startup Key Combinations]] --> In diesem Artikel sind verschiedene Tastenkombinationen (sog. "Boot Key Combos") für den Start des Macs aufgelistet. Diese sind während des Startsounds gedrückt halten. Tastaturkombinationen für Betriebssystemfunktionen und in Mac OS X enthaltenen Applikationen sind im Artikel [[Mac Keyboard Shortcuts]] zu finden. ==Aple Silicon Macs== Mit dem Wechsel zu ARM-basierten Prozessoren hat sich auch am Systemstart einiges geändert, insbesondere das System Recovery wurde komplett überarbeitet und in das Boot-Menü integriert. Dadurch funktionieren eine ganze Reihe Tastenkombinationen nicht mehr bzw. sind auch gar nicht mehr nötig: ;Boot-Menü :Die Auswahl der zu startenden macOS Installation (bzw. des Volumes/der Volume Group, auf dem/der sich diese befindet) wird nun durch das Gedrückthalten des Power Buttons beim Einschalten erreicht. Dies impliziert auch, dass der Rechner vorher ausgeschaltet sein muss, da ansonsten ein "Force Power Off" stattfindet, der üblicherweise nur im Fehlerfall zum Einsatz kommen sollte – also z.B. wenn das System eingefroren ist und auf keinerlei Eingaben mehr reagiert. Ein direkter Neustart in das Bootmenü ist also nicht mehr möglich (bislang wurde hierzu während des Starts {{Key press|Opt}} auf der Tastatur gedrückt gehalten). ;Recovery :Die System Recovery Werkzeuge sowie die Wiederherstellung einer beschädigten macOS Installation werden ebenfalls über das o.g. Boot-Menü erreicht. Die bislang dafür verwendeten Tastenkombinationen entfallen restlos. ;Internet Recovery :... gibt's nicht mehr, daher lässt sich das System nur noch auf die folgenden Weisen (re-)installieren: :* macOS Recovery (wie bisher) :* System Recovery (von versteckter Partition) :* USB [[MacOS_Installationsmedium_erstellen|Installations-Medium]] (ebenfalls wie bisher) :* via DFU Mode & Apple Configurator 2 :Mehr Informationsn zum Thema gibt es auch auf [https://mrmacintosh.com/how-to-reinstall-macos-on-your-apple-silicon-mac-everything-you-need-to-know/ mrmacintosh.com]. Siehe auch: [https://discussions.apple.com/thread/253397576 csrutil disable` command FAILED. The OS environment does not allow changing security configuration options.] ==Intel und "New World" PPC Macs== Tastaturkombinationen für sog. "New World Macs", die immer funktionieren - also unabhängig vom verwendeten Betriebssystem. {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|X}} || bei OS9 / X Dualinstallation MacOS X starten |---- bgcolor="#FFFFFF" | {{key press|C}} || von CD / DVD booten |---- bgcolor="#FFFFFF" | {{key press|D}} || von Festplatte booten (bis incl. Mac OS X 10.6.8)<br />Hardware-Test starten (bei eigelegter Installations-DVD, bis incl. Mac OS X 10.6.8) Startet bei eingelegter Installations-DVD den [http://support.apple.com/kb/HT1509 Apple Hardware Test] (nicht auf Mac OS X Retail-DVDs enthalten; Geräte ohne optisches Laufwerk sowie weitere, neuere Intel-Macs können seit 10.7 den Hardware Test über das Internet nutzen) Bei älteren Macs ist die Hardwaretest-Software auf den mitgelieferten Installations-DVDs enthalten, bei neueren Intel-Macs (seit OS X 10.7) befindet sich auf einer versteckten Partition des Systemlaufwerks (HDD oder SSD). Bei Macs mit Erscheinungsdatum nach dem Juni 2013 ist die [http://support.apple.com/kb/HT5781?viewlocale=de_DE&locale=de_DE Diagnosesoftware] Teil der Systemfirmware |---- bgcolor="#FFFFFF" | {{key press|N}} || netboot: vom Netzwerk booten (bis zum Apple-Logo / MacFace gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|T}} || Rechner im [http://support.apple.com/kb/HT1661 Firewire Target-Mode] booten (die HFS-Volumes stehen am anderen Rechner dann als Externe Festplatte zur Verfügung) |---- bgcolor="#FFFFFF" | {{key press|ALT}} || Intel-Macs: EFI-Boot-Menü<br />PowerPC NewWorld Macs: OpenFirmware Boot-Menü<br />OldWorld Macs: MacOS starten |---- bgcolor="#FFFFFF" | {{key press|⏏}}<br />alternativ (linke) Maustaste || CD/DVD-Medium beim Start auswerfen |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|P|R}} || Parameter-RAM löschen (bis zum 2. Startsound gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|N|V}} || NV-RAM löschen (OpenFirmware Reset, nur PowerPC-basierte NewWorld-Macs) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|O|F}} || In die OpenFirmware booten (nur sog. "New World Macs" mit PowerPC und OpenFirmware. Intel Macs nutzen das [[wikipedia:de:Extensible_Firmware_Interface|EFI]], das nicht mehr so einfach erreichbar ist.) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL}} || Startvolume ignorieren und von externem Medium oder CD/DVD starten (default volume wird ignoriert) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL|#}} || von einer bestimmten SCSI-ID booten (# = SCSI-ID) |} ==MacOS X== Tastaturkombinationen für MacOS X Installationen: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || '''beim Systemstart:'''<br />safe boot: deaktiviert Startobjekte und lädt nur die wichtigsten Kernel-Extensions<br />'''beim Fortschrittsbalken während dem Starten:'''<br />verhindert die automatische Anmeldung<br />'''beim login:'''<br />deaktiviert Startobjekte |---- bgcolor="#FFFFFF" | {{key press|CMD|V}} || verbose-boot: Zeigt alle Statusmeldungen während des Startvorgangs (anstatt des Apfel-Logos). Dauerhafte Aktivierung durch Eingabe des folgenden Kommandos im [[:Category:Terminal|Terminal]]: sudo nvram boot-args="-v" |---- bgcolor="#FFFFFF" | {{key press|CMD|S}} || im Single User Modus starten<br />Anschließend Schreibzugriff auf Volumes aktivieren mit: fsck -fy mount -uw / |---- bgcolor="#FFFFFF" | {{key press|CMD|R}} || Mac OS X 10.7 im [[Lion_Recovery|Recovery Modus]] starten (bei mit FileVault2 verschlüsselten Laufwerken erst ab 10.7.2 funktionstüchtig) |---- bgcolor="#FFFFFF" | {{key press|ALT+R}} || Mac OS X 10.7 im [[Lion_Recovery|Online Recovery Modus]] starten (Neuinstallation von OS X) |---- bgcolor="#FFFFFF" | {{key press|6|4}} || Kernel im 64-Bit Modus starten (ab Version 10.6 auf unterstützten Geräten)<br />Um herauszufinden, ob der eigene Mac den 64-Bit Modus für den Systemstart untertützt, ist folgendes im [[:Category:Terminal|Terminal]] einzugeben: {{Manl|ioreg|ioreg}} -l -p IODeviceTree | grep firmware-abi Auf unterstützten Systemen müsste die Ausgabe wie folgt aussehen: "firmware-abi" = <"EFI64"> |---- bgcolor="#FFFFFF" | {{key press|3|2}} || Kernel im 32-Bit Modus starten (ab Version 10.7) |} ==Mac OS Classic== Tastaturkombinationen, die nur mit dem "alten" MacOS (Version 9 und davor) funktionieren: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || Systemerweiterungen deaktivieren |---- bgcolor="#FFFFFF" | {{key press|CMD}} || Ohne virtuellen Speicher starten |---- bgcolor="#FFFFFF" | {{key press|space}} || "Conflict-Catcher" - Auswahl der Systemerweiterungen |} == Siehe auch == * [[Mac Keyboard Shortcuts]] hier im Wiki * Apple Support: ** [http://support.apple.com/kb/HT1533?viewlocale=de_DE&locale=de_DE Tastenkombinationen beim Startvorgang Intel-basierter Macs] ** [http://support.apple.com/kb/ht1343?viewlocale=de_DE&locale=de_DE Mac OS X: Tastaturkurzbefehle] ** [http://support.apple.com/kb/HT1242?viewlocale=de_DE&locale=de_DE Mac OS X: Was wird im PRAM gespeichert] * System Management Controller (SMC) von Intel-Macs zurücksetzen: ** [http://support.apple.com/kb/HT1543?viewlocale=de_DE&locale=de_DE Mac Mini, iMac] ** [http://support.apple.com/kb/HT1411?viewlocale=de_DE&locale=de_DE MacBook, MacBook Pro, MacBook Air] ** [http://reviews.cnet.com/8301-13727_7-10330118-263.html When to reset the PRAM and SMC/PMU] * [http://support.apple.com/kb/HT1436 How to reset the SMU on a Power Mac G5 (Late 2004) or Power Mac G5 (Late 2005)] 538be1ddaffc9e0c449cabe47d1e4620b2d748ba 1841 1840 2023-10-20T11:46:02Z Hagbard 2 /* Aple Silicon Macs */ wikitext text/x-wiki [[Category:OS]][[Category:Translate]]<!-- alternative article names, listed for search engine optimization: [[Boot_Key_Combos|Boot Key Combos]] [[Startup_Key_Combinations|Startup Key Combinations]] --> In diesem Artikel sind verschiedene Tastenkombinationen (sog. "Boot Key Combos") für den Start des Macs aufgelistet. Diese sind während des Startsounds gedrückt halten. Tastaturkombinationen für Betriebssystemfunktionen und in Mac OS X enthaltenen Applikationen sind im Artikel [[Mac Keyboard Shortcuts]] zu finden. ==Aple Silicon Macs== Mit dem Wechsel zu ARM-basierten Prozessoren hat sich auch am Systemstart einiges geändert, insbesondere das System Recovery wurde komplett überarbeitet und in das Boot-Menü integriert. Dadurch funktionieren eine ganze Reihe Tastenkombinationen nicht mehr bzw. sind auch gar nicht mehr nötig: ;Boot-Menü :Die Auswahl der zu startenden macOS Installation (bzw. des Volumes/der Volume Group, auf dem/der sich diese befindet) wird nun durch das Gedrückthalten des Power Buttons beim Einschalten erreicht. Dies impliziert auch, dass der Rechner vorher ausgeschaltet sein muss, da ansonsten ein "Force Power Off" stattfindet, der üblicherweise nur im Fehlerfall zum Einsatz kommen sollte – also z.B. wenn das System eingefroren ist und auf keinerlei Eingaben mehr reagiert. Ein direkter Neustart in das Bootmenü ist also nicht mehr möglich (bislang wurde hierzu während des Starts {{Key press|Opt}} auf der Tastatur gedrückt gehalten).<br/>'''Hinweis:''' im Recovery Mode muss u.U. erst im sog. "Startup Disk Security Utility" (oder so ähnlich) das Sicherheitslevel heruntergesetzt werden, damit SIP via csrutil überhaupt deaktiviert werden darf. Diese Änderung sollte anschließend ebenfalls wieder rückgängig gemacht werden. ;Recovery :Die System Recovery Werkzeuge sowie die Wiederherstellung einer beschädigten macOS Installation werden ebenfalls über das o.g. Boot-Menü erreicht. Die bislang dafür verwendeten Tastenkombinationen entfallen restlos. ;Internet Recovery :... gibt's nicht mehr, daher lässt sich das System nur noch auf die folgenden Weisen (re-)installieren: :* macOS Recovery (wie bisher) :* System Recovery (von versteckter Partition) :* USB [[MacOS_Installationsmedium_erstellen|Installations-Medium]] (ebenfalls wie bisher) :* via DFU Mode & Apple Configurator 2 :Mehr Informationsn zum Thema gibt es auch auf [https://mrmacintosh.com/how-to-reinstall-macos-on-your-apple-silicon-mac-everything-you-need-to-know/ mrmacintosh.com]. Siehe auch: [https://discussions.apple.com/thread/253397576 csrutil disable` command FAILED. The OS environment does not allow changing security configuration options.] ==Intel und "New World" PPC Macs== Tastaturkombinationen für sog. "New World Macs", die immer funktionieren - also unabhängig vom verwendeten Betriebssystem. {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|X}} || bei OS9 / X Dualinstallation MacOS X starten |---- bgcolor="#FFFFFF" | {{key press|C}} || von CD / DVD booten |---- bgcolor="#FFFFFF" | {{key press|D}} || von Festplatte booten (bis incl. Mac OS X 10.6.8)<br />Hardware-Test starten (bei eigelegter Installations-DVD, bis incl. Mac OS X 10.6.8) Startet bei eingelegter Installations-DVD den [http://support.apple.com/kb/HT1509 Apple Hardware Test] (nicht auf Mac OS X Retail-DVDs enthalten; Geräte ohne optisches Laufwerk sowie weitere, neuere Intel-Macs können seit 10.7 den Hardware Test über das Internet nutzen) Bei älteren Macs ist die Hardwaretest-Software auf den mitgelieferten Installations-DVDs enthalten, bei neueren Intel-Macs (seit OS X 10.7) befindet sich auf einer versteckten Partition des Systemlaufwerks (HDD oder SSD). Bei Macs mit Erscheinungsdatum nach dem Juni 2013 ist die [http://support.apple.com/kb/HT5781?viewlocale=de_DE&locale=de_DE Diagnosesoftware] Teil der Systemfirmware |---- bgcolor="#FFFFFF" | {{key press|N}} || netboot: vom Netzwerk booten (bis zum Apple-Logo / MacFace gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|T}} || Rechner im [http://support.apple.com/kb/HT1661 Firewire Target-Mode] booten (die HFS-Volumes stehen am anderen Rechner dann als Externe Festplatte zur Verfügung) |---- bgcolor="#FFFFFF" | {{key press|ALT}} || Intel-Macs: EFI-Boot-Menü<br />PowerPC NewWorld Macs: OpenFirmware Boot-Menü<br />OldWorld Macs: MacOS starten |---- bgcolor="#FFFFFF" | {{key press|⏏}}<br />alternativ (linke) Maustaste || CD/DVD-Medium beim Start auswerfen |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|P|R}} || Parameter-RAM löschen (bis zum 2. Startsound gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|N|V}} || NV-RAM löschen (OpenFirmware Reset, nur PowerPC-basierte NewWorld-Macs) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|O|F}} || In die OpenFirmware booten (nur sog. "New World Macs" mit PowerPC und OpenFirmware. Intel Macs nutzen das [[wikipedia:de:Extensible_Firmware_Interface|EFI]], das nicht mehr so einfach erreichbar ist.) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL}} || Startvolume ignorieren und von externem Medium oder CD/DVD starten (default volume wird ignoriert) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL|#}} || von einer bestimmten SCSI-ID booten (# = SCSI-ID) |} ==MacOS X== Tastaturkombinationen für MacOS X Installationen: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || '''beim Systemstart:'''<br />safe boot: deaktiviert Startobjekte und lädt nur die wichtigsten Kernel-Extensions<br />'''beim Fortschrittsbalken während dem Starten:'''<br />verhindert die automatische Anmeldung<br />'''beim login:'''<br />deaktiviert Startobjekte |---- bgcolor="#FFFFFF" | {{key press|CMD|V}} || verbose-boot: Zeigt alle Statusmeldungen während des Startvorgangs (anstatt des Apfel-Logos). Dauerhafte Aktivierung durch Eingabe des folgenden Kommandos im [[:Category:Terminal|Terminal]]: sudo nvram boot-args="-v" |---- bgcolor="#FFFFFF" | {{key press|CMD|S}} || im Single User Modus starten<br />Anschließend Schreibzugriff auf Volumes aktivieren mit: fsck -fy mount -uw / |---- bgcolor="#FFFFFF" | {{key press|CMD|R}} || Mac OS X 10.7 im [[Lion_Recovery|Recovery Modus]] starten (bei mit FileVault2 verschlüsselten Laufwerken erst ab 10.7.2 funktionstüchtig) |---- bgcolor="#FFFFFF" | {{key press|ALT+R}} || Mac OS X 10.7 im [[Lion_Recovery|Online Recovery Modus]] starten (Neuinstallation von OS X) |---- bgcolor="#FFFFFF" | {{key press|6|4}} || Kernel im 64-Bit Modus starten (ab Version 10.6 auf unterstützten Geräten)<br />Um herauszufinden, ob der eigene Mac den 64-Bit Modus für den Systemstart untertützt, ist folgendes im [[:Category:Terminal|Terminal]] einzugeben: {{Manl|ioreg|ioreg}} -l -p IODeviceTree | grep firmware-abi Auf unterstützten Systemen müsste die Ausgabe wie folgt aussehen: "firmware-abi" = <"EFI64"> |---- bgcolor="#FFFFFF" | {{key press|3|2}} || Kernel im 32-Bit Modus starten (ab Version 10.7) |} ==Mac OS Classic== Tastaturkombinationen, die nur mit dem "alten" MacOS (Version 9 und davor) funktionieren: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || Systemerweiterungen deaktivieren |---- bgcolor="#FFFFFF" | {{key press|CMD}} || Ohne virtuellen Speicher starten |---- bgcolor="#FFFFFF" | {{key press|space}} || "Conflict-Catcher" - Auswahl der Systemerweiterungen |} == Siehe auch == * [[Mac Keyboard Shortcuts]] hier im Wiki * Apple Support: ** [http://support.apple.com/kb/HT1533?viewlocale=de_DE&locale=de_DE Tastenkombinationen beim Startvorgang Intel-basierter Macs] ** [http://support.apple.com/kb/ht1343?viewlocale=de_DE&locale=de_DE Mac OS X: Tastaturkurzbefehle] ** [http://support.apple.com/kb/HT1242?viewlocale=de_DE&locale=de_DE Mac OS X: Was wird im PRAM gespeichert] * System Management Controller (SMC) von Intel-Macs zurücksetzen: ** [http://support.apple.com/kb/HT1543?viewlocale=de_DE&locale=de_DE Mac Mini, iMac] ** [http://support.apple.com/kb/HT1411?viewlocale=de_DE&locale=de_DE MacBook, MacBook Pro, MacBook Air] ** [http://reviews.cnet.com/8301-13727_7-10330118-263.html When to reset the PRAM and SMC/PMU] * [http://support.apple.com/kb/HT1436 How to reset the SMU on a Power Mac G5 (Late 2004) or Power Mac G5 (Late 2005)] 7b32f856976fe2fecf1d88193e2aea2ddbf08001 1845 1841 2023-10-20T12:06:34Z Hagbard 2 /* Aple Silicon Macs */ wikitext text/x-wiki [[Category:OS]][[Category:Translate]]<!-- alternative article names, listed for search engine optimization: [[Boot_Key_Combos|Boot Key Combos]] [[Startup_Key_Combinations|Startup Key Combinations]] --> In diesem Artikel sind verschiedene Tastenkombinationen (sog. "Boot Key Combos") für den Start des Macs aufgelistet. Diese sind während des Startsounds gedrückt halten. Tastaturkombinationen für Betriebssystemfunktionen und in Mac OS X enthaltenen Applikationen sind im Artikel [[Mac Keyboard Shortcuts]] zu finden. ==Aple Silicon Macs== Mit dem Wechsel zu ARM-basierten Prozessoren hat sich auch am Systemstart einiges geändert, insbesondere das System Recovery wurde komplett überarbeitet und in das Boot-Menü integriert. Dadurch funktionieren eine ganze Reihe Tastenkombinationen nicht mehr bzw. sind auch gar nicht mehr nötig: ;Boot-Menü :Die Auswahl der zu startenden macOS Installation (bzw. des Volumes/der Volume Group, auf dem/der sich diese befindet) wird nun durch das Gedrückthalten des Power Buttons beim Einschalten erreicht. Dies impliziert auch, dass der Rechner vorher ausgeschaltet sein muss, da ansonsten ein "Force Power Off" stattfindet, der üblicherweise nur im Fehlerfall zum Einsatz kommen sollte – also z.B. wenn das System eingefroren ist und auf keinerlei Eingaben mehr reagiert. Ein direkter Neustart in das Bootmenü ist also nicht mehr möglich (bislang wurde hierzu während des Starts {{Key press|Opt}} auf der Tastatur gedrückt gehalten).<br/>'''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} wieder einwandfrei zu funktionieren. Ebenfalls im Recovery Mode natürlich.<br/>'''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installtion nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. ;Recovery :Die System Recovery Werkzeuge sowie die Wiederherstellung einer beschädigten macOS Installation werden ebenfalls über das o.g. Boot-Menü erreicht. Die bislang dafür verwendeten Tastenkombinationen entfallen restlos. ;Internet Recovery :... gibt's nicht mehr, daher lässt sich das System nur noch auf die folgenden Weisen (re-)installieren: :* macOS Recovery (wie bisher) :* System Recovery (von versteckter Partition) :* USB [[MacOS_Installationsmedium_erstellen|Installations-Medium]] (ebenfalls wie bisher) :* via DFU Mode & Apple Configurator 2 :Mehr Informationsn zum Thema gibt es auch auf [https://mrmacintosh.com/how-to-reinstall-macos-on-your-apple-silicon-mac-everything-you-need-to-know/ mrmacintosh.com]. Siehe auch: [https://discussions.apple.com/thread/253397576 csrutil disable` command FAILED. The OS environment does not allow changing security configuration options.] ==Intel und "New World" PPC Macs== Tastaturkombinationen für sog. "New World Macs", die immer funktionieren - also unabhängig vom verwendeten Betriebssystem. {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|X}} || bei OS9 / X Dualinstallation MacOS X starten |---- bgcolor="#FFFFFF" | {{key press|C}} || von CD / DVD booten |---- bgcolor="#FFFFFF" | {{key press|D}} || von Festplatte booten (bis incl. Mac OS X 10.6.8)<br />Hardware-Test starten (bei eigelegter Installations-DVD, bis incl. Mac OS X 10.6.8) Startet bei eingelegter Installations-DVD den [http://support.apple.com/kb/HT1509 Apple Hardware Test] (nicht auf Mac OS X Retail-DVDs enthalten; Geräte ohne optisches Laufwerk sowie weitere, neuere Intel-Macs können seit 10.7 den Hardware Test über das Internet nutzen) Bei älteren Macs ist die Hardwaretest-Software auf den mitgelieferten Installations-DVDs enthalten, bei neueren Intel-Macs (seit OS X 10.7) befindet sich auf einer versteckten Partition des Systemlaufwerks (HDD oder SSD). Bei Macs mit Erscheinungsdatum nach dem Juni 2013 ist die [http://support.apple.com/kb/HT5781?viewlocale=de_DE&locale=de_DE Diagnosesoftware] Teil der Systemfirmware |---- bgcolor="#FFFFFF" | {{key press|N}} || netboot: vom Netzwerk booten (bis zum Apple-Logo / MacFace gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|T}} || Rechner im [http://support.apple.com/kb/HT1661 Firewire Target-Mode] booten (die HFS-Volumes stehen am anderen Rechner dann als Externe Festplatte zur Verfügung) |---- bgcolor="#FFFFFF" | {{key press|ALT}} || Intel-Macs: EFI-Boot-Menü<br />PowerPC NewWorld Macs: OpenFirmware Boot-Menü<br />OldWorld Macs: MacOS starten |---- bgcolor="#FFFFFF" | {{key press|⏏}}<br />alternativ (linke) Maustaste || CD/DVD-Medium beim Start auswerfen |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|P|R}} || Parameter-RAM löschen (bis zum 2. Startsound gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|N|V}} || NV-RAM löschen (OpenFirmware Reset, nur PowerPC-basierte NewWorld-Macs) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|O|F}} || In die OpenFirmware booten (nur sog. "New World Macs" mit PowerPC und OpenFirmware. Intel Macs nutzen das [[wikipedia:de:Extensible_Firmware_Interface|EFI]], das nicht mehr so einfach erreichbar ist.) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL}} || Startvolume ignorieren und von externem Medium oder CD/DVD starten (default volume wird ignoriert) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL|#}} || von einer bestimmten SCSI-ID booten (# = SCSI-ID) |} ==MacOS X== Tastaturkombinationen für MacOS X Installationen: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || '''beim Systemstart:'''<br />safe boot: deaktiviert Startobjekte und lädt nur die wichtigsten Kernel-Extensions<br />'''beim Fortschrittsbalken während dem Starten:'''<br />verhindert die automatische Anmeldung<br />'''beim login:'''<br />deaktiviert Startobjekte |---- bgcolor="#FFFFFF" | {{key press|CMD|V}} || verbose-boot: Zeigt alle Statusmeldungen während des Startvorgangs (anstatt des Apfel-Logos). Dauerhafte Aktivierung durch Eingabe des folgenden Kommandos im [[:Category:Terminal|Terminal]]: sudo nvram boot-args="-v" |---- bgcolor="#FFFFFF" | {{key press|CMD|S}} || im Single User Modus starten<br />Anschließend Schreibzugriff auf Volumes aktivieren mit: fsck -fy mount -uw / |---- bgcolor="#FFFFFF" | {{key press|CMD|R}} || Mac OS X 10.7 im [[Lion_Recovery|Recovery Modus]] starten (bei mit FileVault2 verschlüsselten Laufwerken erst ab 10.7.2 funktionstüchtig) |---- bgcolor="#FFFFFF" | {{key press|ALT+R}} || Mac OS X 10.7 im [[Lion_Recovery|Online Recovery Modus]] starten (Neuinstallation von OS X) |---- bgcolor="#FFFFFF" | {{key press|6|4}} || Kernel im 64-Bit Modus starten (ab Version 10.6 auf unterstützten Geräten)<br />Um herauszufinden, ob der eigene Mac den 64-Bit Modus für den Systemstart untertützt, ist folgendes im [[:Category:Terminal|Terminal]] einzugeben: {{Manl|ioreg|ioreg}} -l -p IODeviceTree | grep firmware-abi Auf unterstützten Systemen müsste die Ausgabe wie folgt aussehen: "firmware-abi" = <"EFI64"> |---- bgcolor="#FFFFFF" | {{key press|3|2}} || Kernel im 32-Bit Modus starten (ab Version 10.7) |} ==Mac OS Classic== Tastaturkombinationen, die nur mit dem "alten" MacOS (Version 9 und davor) funktionieren: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || Systemerweiterungen deaktivieren |---- bgcolor="#FFFFFF" | {{key press|CMD}} || Ohne virtuellen Speicher starten |---- bgcolor="#FFFFFF" | {{key press|space}} || "Conflict-Catcher" - Auswahl der Systemerweiterungen |} == Siehe auch == * [[Mac Keyboard Shortcuts]] hier im Wiki * Apple Support: ** [http://support.apple.com/kb/HT1533?viewlocale=de_DE&locale=de_DE Tastenkombinationen beim Startvorgang Intel-basierter Macs] ** [http://support.apple.com/kb/ht1343?viewlocale=de_DE&locale=de_DE Mac OS X: Tastaturkurzbefehle] ** [http://support.apple.com/kb/HT1242?viewlocale=de_DE&locale=de_DE Mac OS X: Was wird im PRAM gespeichert] * System Management Controller (SMC) von Intel-Macs zurücksetzen: ** [http://support.apple.com/kb/HT1543?viewlocale=de_DE&locale=de_DE Mac Mini, iMac] ** [http://support.apple.com/kb/HT1411?viewlocale=de_DE&locale=de_DE MacBook, MacBook Pro, MacBook Air] ** [http://reviews.cnet.com/8301-13727_7-10330118-263.html When to reset the PRAM and SMC/PMU] * [http://support.apple.com/kb/HT1436 How to reset the SMU on a Power Mac G5 (Late 2004) or Power Mac G5 (Late 2005)] 79c4dee099179184fae4166fad3b070be836a9dc 1846 1845 2023-10-20T12:07:58Z Hagbard 2 /* Aple Silicon Macs */ wikitext text/x-wiki [[Category:OS]][[Category:Translate]]<!-- alternative article names, listed for search engine optimization: [[Boot_Key_Combos|Boot Key Combos]] [[Startup_Key_Combinations|Startup Key Combinations]] --> In diesem Artikel sind verschiedene Tastenkombinationen (sog. "Boot Key Combos") für den Start des Macs aufgelistet. Diese sind während des Startsounds gedrückt halten. Tastaturkombinationen für Betriebssystemfunktionen und in Mac OS X enthaltenen Applikationen sind im Artikel [[Mac Keyboard Shortcuts]] zu finden. ==Aple Silicon Macs== Mit dem Wechsel zu ARM-basierten Prozessoren hat sich auch am Systemstart einiges geändert, insbesondere das System Recovery wurde komplett überarbeitet und in das Boot-Menü integriert. Dadurch funktionieren eine ganze Reihe Tastenkombinationen nicht mehr bzw. sind auch gar nicht mehr nötig: ;Boot-Menü :Die Auswahl der zu startenden macOS Installation (bzw. des Volumes/der Volume Group, auf dem/der sich diese befindet) wird nun durch das Gedrückthalten des Power Buttons beim Einschalten erreicht. Dies impliziert auch, dass der Rechner vorher ausgeschaltet sein muss, da ansonsten ein "Force Power Off" stattfindet, der üblicherweise nur im Fehlerfall zum Einsatz kommen sollte – also z.B. wenn das System eingefroren ist und auf keinerlei Eingaben mehr reagiert. Ein direkter Neustart in das Bootmenü ist also nicht mehr möglich (bislang wurde hierzu während des Starts {{Key press|Opt}} auf der Tastatur gedrückt gehalten).<br/>'''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich.<br/>'''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. ;Recovery :Die System Recovery Werkzeuge sowie die Wiederherstellung einer beschädigten macOS Installation werden ebenfalls über das o.g. Boot-Menü erreicht. Die bislang dafür verwendeten Tastenkombinationen entfallen restlos. ;Internet Recovery :... gibt's nicht mehr, daher lässt sich das System nur noch auf die folgenden Weisen (re-)installieren: :* macOS Recovery (wie bisher) :* System Recovery (von versteckter Partition) :* USB [[MacOS_Installationsmedium_erstellen|Installations-Medium]] (ebenfalls wie bisher) :* via DFU Mode & Apple Configurator 2 :Mehr Informationsn zum Thema gibt es auch auf [https://mrmacintosh.com/how-to-reinstall-macos-on-your-apple-silicon-mac-everything-you-need-to-know/ mrmacintosh.com]. Siehe auch: [https://discussions.apple.com/thread/253397576 csrutil disable` command FAILED. The OS environment does not allow changing security configuration options.] ==Intel und "New World" PPC Macs== Tastaturkombinationen für sog. "New World Macs", die immer funktionieren - also unabhängig vom verwendeten Betriebssystem. {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|X}} || bei OS9 / X Dualinstallation MacOS X starten |---- bgcolor="#FFFFFF" | {{key press|C}} || von CD / DVD booten |---- bgcolor="#FFFFFF" | {{key press|D}} || von Festplatte booten (bis incl. Mac OS X 10.6.8)<br />Hardware-Test starten (bei eigelegter Installations-DVD, bis incl. Mac OS X 10.6.8) Startet bei eingelegter Installations-DVD den [http://support.apple.com/kb/HT1509 Apple Hardware Test] (nicht auf Mac OS X Retail-DVDs enthalten; Geräte ohne optisches Laufwerk sowie weitere, neuere Intel-Macs können seit 10.7 den Hardware Test über das Internet nutzen) Bei älteren Macs ist die Hardwaretest-Software auf den mitgelieferten Installations-DVDs enthalten, bei neueren Intel-Macs (seit OS X 10.7) befindet sich auf einer versteckten Partition des Systemlaufwerks (HDD oder SSD). Bei Macs mit Erscheinungsdatum nach dem Juni 2013 ist die [http://support.apple.com/kb/HT5781?viewlocale=de_DE&locale=de_DE Diagnosesoftware] Teil der Systemfirmware |---- bgcolor="#FFFFFF" | {{key press|N}} || netboot: vom Netzwerk booten (bis zum Apple-Logo / MacFace gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|T}} || Rechner im [http://support.apple.com/kb/HT1661 Firewire Target-Mode] booten (die HFS-Volumes stehen am anderen Rechner dann als Externe Festplatte zur Verfügung) |---- bgcolor="#FFFFFF" | {{key press|ALT}} || Intel-Macs: EFI-Boot-Menü<br />PowerPC NewWorld Macs: OpenFirmware Boot-Menü<br />OldWorld Macs: MacOS starten |---- bgcolor="#FFFFFF" | {{key press|⏏}}<br />alternativ (linke) Maustaste || CD/DVD-Medium beim Start auswerfen |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|P|R}} || Parameter-RAM löschen (bis zum 2. Startsound gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|N|V}} || NV-RAM löschen (OpenFirmware Reset, nur PowerPC-basierte NewWorld-Macs) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|O|F}} || In die OpenFirmware booten (nur sog. "New World Macs" mit PowerPC und OpenFirmware. Intel Macs nutzen das [[wikipedia:de:Extensible_Firmware_Interface|EFI]], das nicht mehr so einfach erreichbar ist.) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL}} || Startvolume ignorieren und von externem Medium oder CD/DVD starten (default volume wird ignoriert) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL|#}} || von einer bestimmten SCSI-ID booten (# = SCSI-ID) |} ==MacOS X== Tastaturkombinationen für MacOS X Installationen: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || '''beim Systemstart:'''<br />safe boot: deaktiviert Startobjekte und lädt nur die wichtigsten Kernel-Extensions<br />'''beim Fortschrittsbalken während dem Starten:'''<br />verhindert die automatische Anmeldung<br />'''beim login:'''<br />deaktiviert Startobjekte |---- bgcolor="#FFFFFF" | {{key press|CMD|V}} || verbose-boot: Zeigt alle Statusmeldungen während des Startvorgangs (anstatt des Apfel-Logos). Dauerhafte Aktivierung durch Eingabe des folgenden Kommandos im [[:Category:Terminal|Terminal]]: sudo nvram boot-args="-v" |---- bgcolor="#FFFFFF" | {{key press|CMD|S}} || im Single User Modus starten<br />Anschließend Schreibzugriff auf Volumes aktivieren mit: fsck -fy mount -uw / |---- bgcolor="#FFFFFF" | {{key press|CMD|R}} || Mac OS X 10.7 im [[Lion_Recovery|Recovery Modus]] starten (bei mit FileVault2 verschlüsselten Laufwerken erst ab 10.7.2 funktionstüchtig) |---- bgcolor="#FFFFFF" | {{key press|ALT+R}} || Mac OS X 10.7 im [[Lion_Recovery|Online Recovery Modus]] starten (Neuinstallation von OS X) |---- bgcolor="#FFFFFF" | {{key press|6|4}} || Kernel im 64-Bit Modus starten (ab Version 10.6 auf unterstützten Geräten)<br />Um herauszufinden, ob der eigene Mac den 64-Bit Modus für den Systemstart untertützt, ist folgendes im [[:Category:Terminal|Terminal]] einzugeben: {{Manl|ioreg|ioreg}} -l -p IODeviceTree | grep firmware-abi Auf unterstützten Systemen müsste die Ausgabe wie folgt aussehen: "firmware-abi" = <"EFI64"> |---- bgcolor="#FFFFFF" | {{key press|3|2}} || Kernel im 32-Bit Modus starten (ab Version 10.7) |} ==Mac OS Classic== Tastaturkombinationen, die nur mit dem "alten" MacOS (Version 9 und davor) funktionieren: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || Systemerweiterungen deaktivieren |---- bgcolor="#FFFFFF" | {{key press|CMD}} || Ohne virtuellen Speicher starten |---- bgcolor="#FFFFFF" | {{key press|space}} || "Conflict-Catcher" - Auswahl der Systemerweiterungen |} == Siehe auch == * [[Mac Keyboard Shortcuts]] hier im Wiki * Apple Support: ** [http://support.apple.com/kb/HT1533?viewlocale=de_DE&locale=de_DE Tastenkombinationen beim Startvorgang Intel-basierter Macs] ** [http://support.apple.com/kb/ht1343?viewlocale=de_DE&locale=de_DE Mac OS X: Tastaturkurzbefehle] ** [http://support.apple.com/kb/HT1242?viewlocale=de_DE&locale=de_DE Mac OS X: Was wird im PRAM gespeichert] * System Management Controller (SMC) von Intel-Macs zurücksetzen: ** [http://support.apple.com/kb/HT1543?viewlocale=de_DE&locale=de_DE Mac Mini, iMac] ** [http://support.apple.com/kb/HT1411?viewlocale=de_DE&locale=de_DE MacBook, MacBook Pro, MacBook Air] ** [http://reviews.cnet.com/8301-13727_7-10330118-263.html When to reset the PRAM and SMC/PMU] * [http://support.apple.com/kb/HT1436 How to reset the SMU on a Power Mac G5 (Late 2004) or Power Mac G5 (Late 2005)] 47b40b1885502de4a3d86a1a59fc3a45397c1d4d Terminal Quickies 0 11 1847 1844 2023-10-20T12:08:16Z Hagbard 2 /* Disable SIP temporarily */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to [[#Disable SIP temporarily|disable SIP]] in order to disable the gamed launch agent. to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===Disable SIP temporarily=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten '''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich. '''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 102495c64153bf3da721336d7212893d96cd7ddb 1848 1847 2023-10-27T14:05:22Z Hagbard 2 /* Administration */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Using macOS' builtin Apache web server === Since macOS Sierra (Version 10.12) there is no graphical front end to control the builtin Apache Web Server. However it still does exist and can be used and controlled by means of the terminal. In order to manually start, stop and reatart the builtin web server you can still use use the {{TT|apachectl}} command: sudo apachectl start sudo apachectl stop sudo apachectl restart sudo apachectl graceful To automatically start it on boot you can use this command: sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist You can revert this using this command: sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist The document root folder is by default located at this path: /Library/WebServer/Documents/ The configuration files are located here: /etc/apache2 === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to [[#Disable SIP temporarily|disable SIP]] in order to disable the gamed launch agent. to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===Disable SIP temporarily=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten '''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich. '''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] c77dcca13913662f13e5369ca10363598661ce13 1849 1848 2023-10-27T14:06:24Z Hagbard 2 /* Administration */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Using macOS' builtin Apache web server === Since macOS Sierra (Version 10.12) there is no graphical front end to control the builtin Apache Web Server. However it is still there and can be used and controlled using terminal commands. In order to manually start, stop and reatart the builtin web server you can still use use the {{TT|apachectl}} command: sudo apachectl start sudo apachectl stop sudo apachectl restart sudo apachectl graceful To automatically start it on boot you can use this command: sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist You can revert this using this command: sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist The document root folder is by default located at this path: /Library/WebServer/Documents/ The configuration files are located here: /etc/apache2 === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to [[#Disable SIP temporarily|disable SIP]] in order to disable the gamed launch agent. to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===Disable SIP temporarily=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten '''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich. '''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 54e4d25cba0905ac95643ac30301017c4ffe5e03 1850 1849 2023-10-27T14:07:14Z Hagbard 2 /* Using macOS' builtin Apache web server */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Using the builtin Apache web server === Since macOS Sierra (Version 10.12) there is no graphical front end to control the builtin Apache Web Server. However it is still there and can be used and controlled using terminal commands. In order to manually start, stop and reatart the builtin web server you can still use use the {{TT|apachectl}} command: sudo apachectl start sudo apachectl stop sudo apachectl restart sudo apachectl graceful To automatically start it on boot you can use this command: sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist You can revert this using this command: sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist The document root folder is by default located at this path: /Library/WebServer/Documents/ The configuration files are located here: /etc/apache2 === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to [[#Disable SIP temporarily|disable SIP]] in order to disable the gamed launch agent. to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===Disable SIP temporarily=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten '''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich. '''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 49bbb00f21f8c4018c9debf5efd30d0bead91e1b 1851 1850 2023-10-27T14:14:10Z Hagbard 2 /* Using the builtin Apache web server */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Using the builtin Apache web server === In macOS Sierra (Version 10.12) Apple removed the graphical user interface to control the builtin Apache Web Server from the Sharing Preference Pane. The software however is still there and can be used and controlled via the macOS Terminal. In order to manually start, stop and reatart the builtin web server you can use use the {{TT|apachectl}} command: sudo apachectl start sudo apachectl stop sudo apachectl restart sudo apachectl graceful To automatically start Apache on boot you can use this command: sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist You can revert this using this command: sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist The document root folder is by default located at this path: /Library/WebServer/Documents/ The configuration files are located here: /etc/apache2 I recommend adding all addutional configuration such as virtual hosts to a separate configuration file and add an additional include directive at the end of the main configuration file {{TT|/etc/apache2/httpd.conf}}. From time to time - particularly during major macOS updates - the macOS installer tends to revert all changes to the httpd.conf and installs its default version. So if you follow the advice from above you won't lose your changes to this file but only have to readd the import directive. === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to [[#Disable SIP temporarily|disable SIP]] in order to disable the gamed launch agent. to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===Disable SIP temporarily=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten '''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich. '''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 35b9e3db6d37d79721f00685a6b0f738c6362fb4 1852 1851 2023-10-27T14:15:36Z Hagbard 2 /* Using the builtin Apache web server */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Using the builtin Apache web server === In macOS Sierra (Version 10.12) Apple removed the graphical user interface to control the builtin Apache Web Server from the Sharing Preference Pane. The software however is still there and can be used and controlled via the macOS Terminal. In order to manually start, stop and reatart the builtin web server you can use use the {{TT|apachectl}} command: sudo apachectl start sudo apachectl stop sudo apachectl restart sudo apachectl graceful To automatically start Apache on boot you can use this command: sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist You can revert this using this command: sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist The document root folder is by default located at this path: /Library/WebServer/Documents/ The configuration files are located here: /etc/apache2 '''Important Note:''' I highly recommend adding all additional configuration such as virtual hosts to a separate configuration file and just add an additional include directive at the end of the main configuration file {{TT|/etc/apache2/httpd.conf}}. From time to time - particularly during major macOS updates - the macOS installer tends to revert all changes to the httpd.conf by reinstalling its default version. So if you follow the advice from above you won't lose your changes to this file, but only have to readd the missing import directive. === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to [[#Disable SIP temporarily|disable SIP]] in order to disable the gamed launch agent. to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===Disable SIP temporarily=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten '''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich. '''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===App-Zugriffsberechtigungen zurücksetzen=== Die einem Programm gewährten Zugriffsberechtigungen auf Kontakte, Kalender usw. lassen sich mit Hilfe des Kommandozeilenprogramms {{TT|tccutil}} im {{Terminal}} zurücksetzen: <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Folgende Services stehen beipielsweise zur Verfügung ("{{TT|Accessibility}}" setzt dabei auch die Einstellungen für "{{TT|Automation}}" zurück, mit dem Schlüsselwort "{{TT|All}}" werden alle Dienste zurückgesetzt): * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|Alle verfügbaren Dienste (Services) lassen sich mit folgender Terminal-Anweisung ausgeben: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> Bei der Verwendung mit {{TT|tccutil}} muss dabei der Präfix "{{TT|kTCCService}}" weggelassen werden - also z.B. "{{TT|Calendar}}" statt "{{TT|kTCCServiceCalendar}}"}}{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}} ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 600b42d6e0d19026d262b6bd4cd1bb0856e54288 1854 1852 2023-11-07T07:31:19Z Hagbard 2 /* App-Zugriffsberechtigungen zurücksetzen */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Using the builtin Apache web server === In macOS Sierra (Version 10.12) Apple removed the graphical user interface to control the builtin Apache Web Server from the Sharing Preference Pane. The software however is still there and can be used and controlled via the macOS Terminal. In order to manually start, stop and reatart the builtin web server you can use use the {{TT|apachectl}} command: sudo apachectl start sudo apachectl stop sudo apachectl restart sudo apachectl graceful To automatically start Apache on boot you can use this command: sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist You can revert this using this command: sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist The document root folder is by default located at this path: /Library/WebServer/Documents/ The configuration files are located here: /etc/apache2 '''Important Note:''' I highly recommend adding all additional configuration such as virtual hosts to a separate configuration file and just add an additional include directive at the end of the main configuration file {{TT|/etc/apache2/httpd.conf}}. From time to time - particularly during major macOS updates - the macOS installer tends to revert all changes to the httpd.conf by reinstalling its default version. So if you follow the advice from above you won't lose your changes to this file, but only have to readd the missing import directive. === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to [[#Disable SIP temporarily|disable SIP]] in order to disable the gamed launch agent. to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===Disable SIP temporarily=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten '''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich. '''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===Reset an App's acces permissions=== Sometimes the System Settings preference pane "Security & Privacy" goes haywire so you can't change an app's privacy settings. Or you need to do thos from the {{terminal}} for another reason (scripting, remote acces via ssh, etc.). But there is a way to reset an apps privacy settings by using the command line utility {{TT|tccutil}}. You can specify a bundle identifier in order to reset the setting for one specific App only. If you omit this all apps registered for that service will be reset and prompt again the next time they access the service. <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> for example: <syntaxhighlight lang="bash"> tccutil reset All com.apple.Terminal tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Here are a few examples which services are available in here. You have to keep in mind that some serices, such as "{{TT|Accessibility}}", automatically reset the configuration for other services, in this case "{{TT|Automation}}". Using the keyword "{{TT|All}}" resets all of them in one shot: * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|You can get a full list of all available services by running this command here: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> In order to use one of these service names with {{TT|tccutil}} you have to skip the prefix "{{TT|kTCCService}}" - for example "{{TT|Calendar}}" instead of "{{TT|kTCCServiceCalendar}}"}}<!--{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}}--> ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 2741a08941948ca5e563b3894c98af1756ee205d 1855 1854 2023-11-07T07:32:10Z Hagbard 2 /* Reset an App's acces permissions */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Using the builtin Apache web server === In macOS Sierra (Version 10.12) Apple removed the graphical user interface to control the builtin Apache Web Server from the Sharing Preference Pane. The software however is still there and can be used and controlled via the macOS Terminal. In order to manually start, stop and reatart the builtin web server you can use use the {{TT|apachectl}} command: sudo apachectl start sudo apachectl stop sudo apachectl restart sudo apachectl graceful To automatically start Apache on boot you can use this command: sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist You can revert this using this command: sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist The document root folder is by default located at this path: /Library/WebServer/Documents/ The configuration files are located here: /etc/apache2 '''Important Note:''' I highly recommend adding all additional configuration such as virtual hosts to a separate configuration file and just add an additional include directive at the end of the main configuration file {{TT|/etc/apache2/httpd.conf}}. From time to time - particularly during major macOS updates - the macOS installer tends to revert all changes to the httpd.conf by reinstalling its default version. So if you follow the advice from above you won't lose your changes to this file, but only have to readd the missing import directive. === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to [[#Disable SIP temporarily|disable SIP]] in order to disable the gamed launch agent. to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===Disable SIP temporarily=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten '''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich. '''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===Reset an App's acces permissions=== Sometimes the System Settings preference pane "Security & Privacy" goes haywire so you can't change an app's privacy settings. Or you need to do thos from the {{terminal}} for another reason (scripting, remote acces via ssh, etc.). But there is a way to reset an apps privacy settings by using the command line utility {{TT|tccutil}}. You can specify a bundle identifier in order to reset the setting for one specific App only. If you omit this all apps registered for that service will be reset and prompt again the next time they access the service. <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> for example: <syntaxhighlight lang="bash"> tccutil reset All com.apple.Terminal tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Here are a few examples which services are available in here. You have to keep in mind that some serices, such as "{{TT|Accessibility}}", automatically reset the configuration for other services, in this case "{{TT|Automation}}". Using the keyword "{{TT|All}}" resets all of them in one shot: * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|You can get a full list of all available services by running this command here: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> In order to use one of these service names with {{TT|tccutil}} you have to skip the prefix "{{TT|kTCCService}}" - for example "{{TT|Calendar}}" instead of "{{TT|kTCCServiceCalendar}}"}}<!--{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}}--> See also: [https://www.macworld.com/article/347452/how-to-fix-macos-accessibility-permission-when-an-app-cant-be-enabled.html How to fix macOS Accessibility permission when an app can’t be enabled] (Macworld) ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 501af1fbf47b8bc9e254054d9456041b1d2cd0dd 1856 1855 2023-11-07T07:50:50Z Hagbard 2 /* Reset an App's acces permissions */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Using the builtin Apache web server === In macOS Sierra (Version 10.12) Apple removed the graphical user interface to control the builtin Apache Web Server from the Sharing Preference Pane. The software however is still there and can be used and controlled via the macOS Terminal. In order to manually start, stop and reatart the builtin web server you can use use the {{TT|apachectl}} command: sudo apachectl start sudo apachectl stop sudo apachectl restart sudo apachectl graceful To automatically start Apache on boot you can use this command: sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist You can revert this using this command: sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist The document root folder is by default located at this path: /Library/WebServer/Documents/ The configuration files are located here: /etc/apache2 '''Important Note:''' I highly recommend adding all additional configuration such as virtual hosts to a separate configuration file and just add an additional include directive at the end of the main configuration file {{TT|/etc/apache2/httpd.conf}}. From time to time - particularly during major macOS updates - the macOS installer tends to revert all changes to the httpd.conf by reinstalling its default version. So if you follow the advice from above you won't lose your changes to this file, but only have to readd the missing import directive. === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to [[#Disable SIP temporarily|disable SIP]] in order to disable the gamed launch agent. to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===Disable SIP temporarily=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten '''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich. '''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===Reset an App's acces permissions=== Sometimes the System Settings preference pane "Security & Privacy" goes haywire so you can't change an app's privacy settings. Or you need to do thos from the {{terminal}} for another reason (scripting, remote acces via ssh, etc.). But there is a way to reset an apps privacy settings by using the command line utility {{TT|tccutil}}. You can specify a bundle identifier in order to reset the setting for one specific App only. If you omit this all apps registered for that service will be reset and prompt again the next time they access the service. <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> for example: <syntaxhighlight lang="bash"> tccutil reset All com.apple.Terminal tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Here are a few examples which services are available in here. You have to keep in mind that some serices, such as "{{TT|Accessibility}}", automatically reset the configuration for other services, in this case "{{TT|Automation}}". Using the keyword "{{TT|All}}" resets all of them in one shot: * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|You can get a full list of all available services by running this command here: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> In order to use one of these service names with {{TT|tccutil}} you have to skip the prefix "{{TT|kTCCService}}" - for example "{{TT|Calendar}}" instead of "{{TT|kTCCServiceCalendar}}"}}<!--{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}}--> See also: [https://www.macworld.com/article/347452/how-to-fix-macos-accessibility-permission-when-an-app-cant-be-enabled.html How to fix macOS Accessibility permission when an app can’t be enabled] (Macworld) If you want to add a service for a specific app you will have to use third-party tools/scripts, such as [https://github.com/jacobsalmela/tccutil tccutil.py], since the builtim macOS command only allows for resetting the services. ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 446b3954acdc5d5cc83270dd2a2b4929742b6867 1857 1856 2023-11-07T07:54:18Z Hagbard 2 /* Reset an App's acces permissions */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Using the builtin Apache web server === In macOS Sierra (Version 10.12) Apple removed the graphical user interface to control the builtin Apache Web Server from the Sharing Preference Pane. The software however is still there and can be used and controlled via the macOS Terminal. In order to manually start, stop and reatart the builtin web server you can use use the {{TT|apachectl}} command: sudo apachectl start sudo apachectl stop sudo apachectl restart sudo apachectl graceful To automatically start Apache on boot you can use this command: sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist You can revert this using this command: sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist The document root folder is by default located at this path: /Library/WebServer/Documents/ The configuration files are located here: /etc/apache2 '''Important Note:''' I highly recommend adding all additional configuration such as virtual hosts to a separate configuration file and just add an additional include directive at the end of the main configuration file {{TT|/etc/apache2/httpd.conf}}. From time to time - particularly during major macOS updates - the macOS installer tends to revert all changes to the httpd.conf by reinstalling its default version. So if you follow the advice from above you won't lose your changes to this file, but only have to readd the missing import directive. === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to [[#Disable SIP temporarily|disable SIP]] in order to disable the gamed launch agent. to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===Disable SIP temporarily=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten '''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich. '''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===Reset an App's access permissions=== Sometimes the System Settings preference pane "Security & Privacy" to configure macOS' Transparency, Consent, and Control (TCC) Framework goes haywire so you can't change an app's privacy settings. Or you just need to do this from the {{terminal}} for another reason, for example for scripting, or remote access via ssh. But there is a way to reset an apps privacy settings by using the command line utility {{TT|tccutil}}. You can specify a bundle identifier in order to reset the setting for one specific App only. If you omit this all apps registered for that service will be reset and prompt again the next time they access the service. <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> for example: <syntaxhighlight lang="bash"> tccutil reset All com.apple.Terminal tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Here are a few examples which services are available in here. You have to keep in mind that some serices, such as "{{TT|Accessibility}}", automatically reset the configuration for other services, in this case "{{TT|Automation}}". Using the keyword "{{TT|All}}" resets all of them in one shot: * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|You can get a full list of all available services by running this command here: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> In order to use one of these service names with {{TT|tccutil}} you have to skip the prefix "{{TT|kTCCService}}" - for example "{{TT|Calendar}}" instead of "{{TT|kTCCServiceCalendar}}"}}<!--{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}}--> See also: [https://www.macworld.com/article/347452/how-to-fix-macos-accessibility-permission-when-an-app-cant-be-enabled.html How to fix macOS Accessibility permission when an app can’t be enabled] (Macworld) If you want to add a service for a specific app you will have to resort to third-party tools/scripts, such as [https://github.com/jacobsalmela/tccutil tccutil.py], since the builtim macOS command only allows for resetting the services. ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] f7c39db3f0dec7eac29358b6c1f446d3fb9db21f 1862 1857 2023-11-13T14:40:51Z Hagbard 2 /* Mitteilungszentrale (Notification Center) neu starten */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Using the builtin Apache web server === In macOS Sierra (Version 10.12) Apple removed the graphical user interface to control the builtin Apache Web Server from the Sharing Preference Pane. The software however is still there and can be used and controlled via the macOS Terminal. In order to manually start, stop and reatart the builtin web server you can use use the {{TT|apachectl}} command: sudo apachectl start sudo apachectl stop sudo apachectl restart sudo apachectl graceful To automatically start Apache on boot you can use this command: sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist You can revert this using this command: sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist The document root folder is by default located at this path: /Library/WebServer/Documents/ The configuration files are located here: /etc/apache2 '''Important Note:''' I highly recommend adding all additional configuration such as virtual hosts to a separate configuration file and just add an additional include directive at the end of the main configuration file {{TT|/etc/apache2/httpd.conf}}. From time to time - particularly during major macOS updates - the macOS installer tends to revert all changes to the httpd.conf by reinstalling its default version. So if you follow the advice from above you won't lose your changes to this file, but only have to readd the missing import directive. === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. ===Mitteilungszentrale (Notification Center) zurücksetzen=== Manchmal ist es aber auch notwendig, die komplette Mitteilungszentrale zurückzusetzen - beispielsweise wenn Widgets fehlen oder Widgets von alten, deinstallierten Apps nicht verschwinden wollen. Dazu muss folgende Anweisung ausgeführt werden und anschließend eine erneute Anmeldung erfolgen: defaults delete com.apple.notificationcenterui; killall NotificationCenter Anschließend sollte sich die Mitteilungszentrale so präsentieren wie nach einer Neuinstallation bzw. dem Anlegen eines neuen Benutzerkontos. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to [[#Disable SIP temporarily|disable SIP]] in order to disable the gamed launch agent. to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===Disable SIP temporarily=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten '''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich. '''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===Reset an App's access permissions=== Sometimes the System Settings preference pane "Security & Privacy" to configure macOS' Transparency, Consent, and Control (TCC) Framework goes haywire so you can't change an app's privacy settings. Or you just need to do this from the {{terminal}} for another reason, for example for scripting, or remote access via ssh. But there is a way to reset an apps privacy settings by using the command line utility {{TT|tccutil}}. You can specify a bundle identifier in order to reset the setting for one specific App only. If you omit this all apps registered for that service will be reset and prompt again the next time they access the service. <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> for example: <syntaxhighlight lang="bash"> tccutil reset All com.apple.Terminal tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Here are a few examples which services are available in here. You have to keep in mind that some serices, such as "{{TT|Accessibility}}", automatically reset the configuration for other services, in this case "{{TT|Automation}}". Using the keyword "{{TT|All}}" resets all of them in one shot: * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|You can get a full list of all available services by running this command here: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> In order to use one of these service names with {{TT|tccutil}} you have to skip the prefix "{{TT|kTCCService}}" - for example "{{TT|Calendar}}" instead of "{{TT|kTCCServiceCalendar}}"}}<!--{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}}--> See also: [https://www.macworld.com/article/347452/how-to-fix-macos-accessibility-permission-when-an-app-cant-be-enabled.html How to fix macOS Accessibility permission when an app can’t be enabled] (Macworld) If you want to add a service for a specific app you will have to resort to third-party tools/scripts, such as [https://github.com/jacobsalmela/tccutil tccutil.py], since the builtim macOS command only allows for resetting the services. ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 446c3d0dc21da101d68f749d5b511f40f12320ca 1863 1862 2023-11-14T13:23:35Z Hagbard 2 /* PowerPC Applikationen finden */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Using the builtin Apache web server === In macOS Sierra (Version 10.12) Apple removed the graphical user interface to control the builtin Apache Web Server from the Sharing Preference Pane. The software however is still there and can be used and controlled via the macOS Terminal. In order to manually start, stop and reatart the builtin web server you can use use the {{TT|apachectl}} command: sudo apachectl start sudo apachectl stop sudo apachectl restart sudo apachectl graceful To automatically start Apache on boot you can use this command: sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist You can revert this using this command: sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist The document root folder is by default located at this path: /Library/WebServer/Documents/ The configuration files are located here: /etc/apache2 '''Important Note:''' I highly recommend adding all additional configuration such as virtual hosts to a separate configuration file and just add an additional include directive at the end of the main configuration file {{TT|/etc/apache2/httpd.conf}}. From time to time - particularly during major macOS updates - the macOS installer tends to revert all changes to the httpd.conf by reinstalling its default version. So if you follow the advice from above you won't lose your changes to this file, but only have to readd the missing import directive. === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===Locating app bundles by their bundle identifier=== To ascertain an app's bundle identifier use this command: mdls /path/to/bundle.app | grep kMDItemCF for example mdls /System/Applications/Calculator.app | grep kMDItemCF In order to locate all locations of such an app bundle use this command: mdfind kMDItemCFBundleIdentifier = "bundleidentifier" for example mdfind kMDItemCFBundleIdentifier = "com.apple.calculator" ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. ===Mitteilungszentrale (Notification Center) zurücksetzen=== Manchmal ist es aber auch notwendig, die komplette Mitteilungszentrale zurückzusetzen - beispielsweise wenn Widgets fehlen oder Widgets von alten, deinstallierten Apps nicht verschwinden wollen. Dazu muss folgende Anweisung ausgeführt werden und anschließend eine erneute Anmeldung erfolgen: defaults delete com.apple.notificationcenterui; killall NotificationCenter Anschließend sollte sich die Mitteilungszentrale so präsentieren wie nach einer Neuinstallation bzw. dem Anlegen eines neuen Benutzerkontos. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to [[#Disable SIP temporarily|disable SIP]] in order to disable the gamed launch agent. to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===Disable SIP temporarily=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten '''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich. '''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===Reset an App's access permissions=== Sometimes the System Settings preference pane "Security & Privacy" to configure macOS' Transparency, Consent, and Control (TCC) Framework goes haywire so you can't change an app's privacy settings. Or you just need to do this from the {{terminal}} for another reason, for example for scripting, or remote access via ssh. But there is a way to reset an apps privacy settings by using the command line utility {{TT|tccutil}}. You can specify a bundle identifier in order to reset the setting for one specific App only. If you omit this all apps registered for that service will be reset and prompt again the next time they access the service. <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> for example: <syntaxhighlight lang="bash"> tccutil reset All com.apple.Terminal tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Here are a few examples which services are available in here. You have to keep in mind that some serices, such as "{{TT|Accessibility}}", automatically reset the configuration for other services, in this case "{{TT|Automation}}". Using the keyword "{{TT|All}}" resets all of them in one shot: * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|You can get a full list of all available services by running this command here: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> In order to use one of these service names with {{TT|tccutil}} you have to skip the prefix "{{TT|kTCCService}}" - for example "{{TT|Calendar}}" instead of "{{TT|kTCCServiceCalendar}}"}}<!--{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}}--> See also: [https://www.macworld.com/article/347452/how-to-fix-macos-accessibility-permission-when-an-app-cant-be-enabled.html How to fix macOS Accessibility permission when an app can’t be enabled] (Macworld) If you want to add a service for a specific app you will have to resort to third-party tools/scripts, such as [https://github.com/jacobsalmela/tccutil tccutil.py], since the builtim macOS command only allows for resetting the services. ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 552ddff8005effeab386f0a4927759259ee4f233 1864 1863 2023-11-14T13:24:07Z Hagbard 2 /* Locating app bundles by their bundle identifier */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Using the builtin Apache web server === In macOS Sierra (Version 10.12) Apple removed the graphical user interface to control the builtin Apache Web Server from the Sharing Preference Pane. The software however is still there and can be used and controlled via the macOS Terminal. In order to manually start, stop and reatart the builtin web server you can use use the {{TT|apachectl}} command: sudo apachectl start sudo apachectl stop sudo apachectl restart sudo apachectl graceful To automatically start Apache on boot you can use this command: sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist You can revert this using this command: sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist The document root folder is by default located at this path: /Library/WebServer/Documents/ The configuration files are located here: /etc/apache2 '''Important Note:''' I highly recommend adding all additional configuration such as virtual hosts to a separate configuration file and just add an additional include directive at the end of the main configuration file {{TT|/etc/apache2/httpd.conf}}. From time to time - particularly during major macOS updates - the macOS installer tends to revert all changes to the httpd.conf by reinstalling its default version. So if you follow the advice from above you won't lose your changes to this file, but only have to readd the missing import directive. === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===Locating app bundles by their bundle identifier=== To ascertain an app's bundle identifier use this command: mdls /path/to/bundle.app | grep kMDItemCF for example mdls /System/Applications/Calculator.app | grep kMDItemCF this will render an output like this: kMDItemCFBundleIdentifier = "com.apple.calculator" In order to locate all locations of such an app bundle use this command: mdfind kMDItemCFBundleIdentifier = "bundleidentifier" for example mdfind kMDItemCFBundleIdentifier = "com.apple.calculator" ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. ===Mitteilungszentrale (Notification Center) zurücksetzen=== Manchmal ist es aber auch notwendig, die komplette Mitteilungszentrale zurückzusetzen - beispielsweise wenn Widgets fehlen oder Widgets von alten, deinstallierten Apps nicht verschwinden wollen. Dazu muss folgende Anweisung ausgeführt werden und anschließend eine erneute Anmeldung erfolgen: defaults delete com.apple.notificationcenterui; killall NotificationCenter Anschließend sollte sich die Mitteilungszentrale so präsentieren wie nach einer Neuinstallation bzw. dem Anlegen eines neuen Benutzerkontos. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to [[#Disable SIP temporarily|disable SIP]] in order to disable the gamed launch agent. to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===Disable SIP temporarily=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten '''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich. '''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===Reset an App's access permissions=== Sometimes the System Settings preference pane "Security & Privacy" to configure macOS' Transparency, Consent, and Control (TCC) Framework goes haywire so you can't change an app's privacy settings. Or you just need to do this from the {{terminal}} for another reason, for example for scripting, or remote access via ssh. But there is a way to reset an apps privacy settings by using the command line utility {{TT|tccutil}}. You can specify a bundle identifier in order to reset the setting for one specific App only. If you omit this all apps registered for that service will be reset and prompt again the next time they access the service. <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> for example: <syntaxhighlight lang="bash"> tccutil reset All com.apple.Terminal tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Here are a few examples which services are available in here. You have to keep in mind that some serices, such as "{{TT|Accessibility}}", automatically reset the configuration for other services, in this case "{{TT|Automation}}". Using the keyword "{{TT|All}}" resets all of them in one shot: * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|You can get a full list of all available services by running this command here: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> In order to use one of these service names with {{TT|tccutil}} you have to skip the prefix "{{TT|kTCCService}}" - for example "{{TT|Calendar}}" instead of "{{TT|kTCCServiceCalendar}}"}}<!--{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}}--> See also: [https://www.macworld.com/article/347452/how-to-fix-macos-accessibility-permission-when-an-app-cant-be-enabled.html How to fix macOS Accessibility permission when an app can’t be enabled] (Macworld) If you want to add a service for a specific app you will have to resort to third-party tools/scripts, such as [https://github.com/jacobsalmela/tccutil tccutil.py], since the builtim macOS command only allows for resetting the services. ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] c1be42ce570fe7706a7cd81c0d85f87c313d55cf 1865 1864 2023-11-14T13:24:47Z Hagbard 2 /* Locating app bundles by their bundle identifier */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Using the builtin Apache web server === In macOS Sierra (Version 10.12) Apple removed the graphical user interface to control the builtin Apache Web Server from the Sharing Preference Pane. The software however is still there and can be used and controlled via the macOS Terminal. In order to manually start, stop and reatart the builtin web server you can use use the {{TT|apachectl}} command: sudo apachectl start sudo apachectl stop sudo apachectl restart sudo apachectl graceful To automatically start Apache on boot you can use this command: sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist You can revert this using this command: sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist The document root folder is by default located at this path: /Library/WebServer/Documents/ The configuration files are located here: /etc/apache2 '''Important Note:''' I highly recommend adding all additional configuration such as virtual hosts to a separate configuration file and just add an additional include directive at the end of the main configuration file {{TT|/etc/apache2/httpd.conf}}. From time to time - particularly during major macOS updates - the macOS installer tends to revert all changes to the httpd.conf by reinstalling its default version. So if you follow the advice from above you won't lose your changes to this file, but only have to readd the missing import directive. === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===Locating app bundles by their bundle identifier=== To ascertain an app's bundle identifier use this command: mdls /path/to/bundle.app | grep kMDItemCF for example mdls /System/Applications/Calculator.app | grep kMDItemCF this will yield something like this: kMDItemCFBundleIdentifier = "com.apple.calculator" In order to locate all locations of such an app bundle use this command: mdfind kMDItemCFBundleIdentifier = "bundleidentifier" for example mdfind kMDItemCFBundleIdentifier = "com.apple.calculator" ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. ===Mitteilungszentrale (Notification Center) zurücksetzen=== Manchmal ist es aber auch notwendig, die komplette Mitteilungszentrale zurückzusetzen - beispielsweise wenn Widgets fehlen oder Widgets von alten, deinstallierten Apps nicht verschwinden wollen. Dazu muss folgende Anweisung ausgeführt werden und anschließend eine erneute Anmeldung erfolgen: defaults delete com.apple.notificationcenterui; killall NotificationCenter Anschließend sollte sich die Mitteilungszentrale so präsentieren wie nach einer Neuinstallation bzw. dem Anlegen eines neuen Benutzerkontos. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to [[#Disable SIP temporarily|disable SIP]] in order to disable the gamed launch agent. to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===Disable SIP temporarily=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten '''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich. '''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===Reset an App's access permissions=== Sometimes the System Settings preference pane "Security & Privacy" to configure macOS' Transparency, Consent, and Control (TCC) Framework goes haywire so you can't change an app's privacy settings. Or you just need to do this from the {{terminal}} for another reason, for example for scripting, or remote access via ssh. But there is a way to reset an apps privacy settings by using the command line utility {{TT|tccutil}}. You can specify a bundle identifier in order to reset the setting for one specific App only. If you omit this all apps registered for that service will be reset and prompt again the next time they access the service. <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> for example: <syntaxhighlight lang="bash"> tccutil reset All com.apple.Terminal tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Here are a few examples which services are available in here. You have to keep in mind that some serices, such as "{{TT|Accessibility}}", automatically reset the configuration for other services, in this case "{{TT|Automation}}". Using the keyword "{{TT|All}}" resets all of them in one shot: * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|You can get a full list of all available services by running this command here: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> In order to use one of these service names with {{TT|tccutil}} you have to skip the prefix "{{TT|kTCCService}}" - for example "{{TT|Calendar}}" instead of "{{TT|kTCCServiceCalendar}}"}}<!--{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}}--> See also: [https://www.macworld.com/article/347452/how-to-fix-macos-accessibility-permission-when-an-app-cant-be-enabled.html How to fix macOS Accessibility permission when an app can’t be enabled] (Macworld) If you want to add a service for a specific app you will have to resort to third-party tools/scripts, such as [https://github.com/jacobsalmela/tccutil tccutil.py], since the builtim macOS command only allows for resetting the services. ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] efc178705b503c0c9a6f2a3b5a61ab4f56bd4fab 1866 1865 2023-11-14T13:25:49Z Hagbard 2 /* Locating app bundles by their bundle identifier */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Using the builtin Apache web server === In macOS Sierra (Version 10.12) Apple removed the graphical user interface to control the builtin Apache Web Server from the Sharing Preference Pane. The software however is still there and can be used and controlled via the macOS Terminal. In order to manually start, stop and reatart the builtin web server you can use use the {{TT|apachectl}} command: sudo apachectl start sudo apachectl stop sudo apachectl restart sudo apachectl graceful To automatically start Apache on boot you can use this command: sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist You can revert this using this command: sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist The document root folder is by default located at this path: /Library/WebServer/Documents/ The configuration files are located here: /etc/apache2 '''Important Note:''' I highly recommend adding all additional configuration such as virtual hosts to a separate configuration file and just add an additional include directive at the end of the main configuration file {{TT|/etc/apache2/httpd.conf}}. From time to time - particularly during major macOS updates - the macOS installer tends to revert all changes to the httpd.conf by reinstalling its default version. So if you follow the advice from above you won't lose your changes to this file, but only have to readd the missing import directive. === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===Locating app bundles by their bundle identifier=== To ascertain an app's bundle identifier use this command: mdls /path/to/bundle.app | grep kMDItemCF for example mdls /System/Applications/Calculator.app | grep kMDItemCF this will yield something like this: kMDItemCFBundleIdentifier = "com.apple.calculator" In order to locate all locations of such an app bundle use this command: mdfind kMDItemCFBundleIdentifier = "bundleidentifier" for example mdfind kMDItemCFBundleIdentifier = "com.apple.calculator" which will print out a list of all paths where such a bundle is to be found, like so: /System/Applications/Calculator.app ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. ===Mitteilungszentrale (Notification Center) zurücksetzen=== Manchmal ist es aber auch notwendig, die komplette Mitteilungszentrale zurückzusetzen - beispielsweise wenn Widgets fehlen oder Widgets von alten, deinstallierten Apps nicht verschwinden wollen. Dazu muss folgende Anweisung ausgeführt werden und anschließend eine erneute Anmeldung erfolgen: defaults delete com.apple.notificationcenterui; killall NotificationCenter Anschließend sollte sich die Mitteilungszentrale so präsentieren wie nach einer Neuinstallation bzw. dem Anlegen eines neuen Benutzerkontos. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to [[#Disable SIP temporarily|disable SIP]] in order to disable the gamed launch agent. to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===Disable SIP temporarily=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten '''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich. '''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===Reset an App's access permissions=== Sometimes the System Settings preference pane "Security & Privacy" to configure macOS' Transparency, Consent, and Control (TCC) Framework goes haywire so you can't change an app's privacy settings. Or you just need to do this from the {{terminal}} for another reason, for example for scripting, or remote access via ssh. But there is a way to reset an apps privacy settings by using the command line utility {{TT|tccutil}}. You can specify a bundle identifier in order to reset the setting for one specific App only. If you omit this all apps registered for that service will be reset and prompt again the next time they access the service. <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> for example: <syntaxhighlight lang="bash"> tccutil reset All com.apple.Terminal tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Here are a few examples which services are available in here. You have to keep in mind that some serices, such as "{{TT|Accessibility}}", automatically reset the configuration for other services, in this case "{{TT|Automation}}". Using the keyword "{{TT|All}}" resets all of them in one shot: * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|You can get a full list of all available services by running this command here: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> In order to use one of these service names with {{TT|tccutil}} you have to skip the prefix "{{TT|kTCCService}}" - for example "{{TT|Calendar}}" instead of "{{TT|kTCCServiceCalendar}}"}}<!--{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}}--> See also: [https://www.macworld.com/article/347452/how-to-fix-macos-accessibility-permission-when-an-app-cant-be-enabled.html How to fix macOS Accessibility permission when an app can’t be enabled] (Macworld) If you want to add a service for a specific app you will have to resort to third-party tools/scripts, such as [https://github.com/jacobsalmela/tccutil tccutil.py], since the builtim macOS command only allows for resetting the services. ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] 352ea3ef933a1a6fdcb442be9ccca9c8cfc306b8 1867 1866 2023-11-22T13:20:49Z Hagbard 2 /* Dateien und Verzeichnisse */ wikitext text/x-wiki [[Category:Terminal]][[Category:Translate]] In diesem Artikel findet sich eine Sammlung diverser Terminal-Kommandos, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. ==Dateien und Verzeichnisse== ===How to Fix App “is damaged and can’t be opened. You should move it to the Trash” Error on Mac=== Use the following command to remove the file from the macOS quarantine: xattr -cr /path/to/bundle.app The -c flag removes all attributes and -r applies this change recursively to all subfolders. ===Delete a file or folder whose name begins with a hyphen (dash/minus)=== ... by using the command line option "--" to make rm stop parsing command line options, basically like this: <syntaxhighlight lang="bash"> rm -- "- file" rm -- -\ file rmdir -- -\ directory </syntaxhighlight> ===Show Quick Look Preview from the Terminal=== <syntaxhighlight lang="bash"> qlmanage -p /path/to/file </syntaxhighlight> ===Aliase finden=== <syntaxhighlight lang="bash"> mdfind -onlyin PATH 'kMDItemKind == "Alias"' </syntaxhighlight> z.B.: <syntaxhighlight lang="bash"> mdfind -onlyin ~/Documents/ 'kMDItemKind == "Alias"' </syntaxhighlight> ===Zwei Verzeichnisse miteinander vergleichen=== Mit dem {{TT|{{Man|diff|diff}}}}-Kommando lassen sich sehr einfach die Inhalte zweier Verzeichnisse rekursiv miteinander vergleichen (beispielsweise zum nachträglichen Verifizieren eines Backups). Durch Entfernen von "r" im folgenden Beispiel wird der Vergleich nicht-rekursiv durchgeführt: <syntaxhighlight lang="bash"> diff -qr ./old/ ./new/ </syntaxhighlight> Beispielausgabe: <syntaxhighlight lang="bash"> Only in ./old/: aDeletedFile.txt Files ./old/anotherFile.txt and ./new/anotherFile.txt differ Only in ./new/: aNewFile.txt </syntaxhighlight> ===Alle .svn Metadaten rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.svn}} Verzeichnisse innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash">find . -regex '.*.svn' -exec rm -rf "{}" \;</syntaxhighlight> ===Alle .DS_Store Dateien rekursiv löschen=== Folgende Anweisung löscht alle {{TT|.DS_Store}} Dateien innerhalb des aktuellen Verzeichnisses und aller Unterverzeichnisse (rekursiv): <syntaxhighlight lang="bash"> sudo find ./ -name ".DS_Store" -depth -exec rm {} \; </syntaxhighlight> Um die Dateien auf dem gesamten System zu löschen, ist {{TT|./}} durch {{TT|/}} zu ersetzen. ===.DS_Store Dateien auf Netzwerkvolumes verhindern=== Um das Erstellen dieser Dateien auf Netzwerkvolumes dauerhaft zu unterbinden, ist folgendes im Terminal einzugeben: <syntaxhighlight lang="bash"> defaults write com.apple.desktopservices DSDontWriteNetworkStores true </syntaxhighlight> Um dies wieder zu deaktivieren, ist folgende Anweisung einzugeben: <syntaxhighlight lang="bash"> defaults delete com.apple.desktopservices DSDontWriteNetworkStores </syntaxhighlight> ===Daten sicher löschen=== '''⚠️ ACHTUNG:''' sowohl die Finder-Funktionalität als auch das äquivalente Terminal Kommando wurden in Mac OS X Tiger (Version 10.4) eingeführt, sind aber '''nur bis OS X Yosemite (Version 10.10) verfügbar'''. Sie wurden in OS X El Capitan (Version 10.11) entfernt da sie bei der Nutzung auf SSDs konstruktionsbedingt mehr schaden als nützen. Die Funktion "sicher löschen" des Finder Papierkorbs steht auch im Terminal zur Verfügung und zwar über das Kommando {{Man|srm|srm}}: <syntaxhighlight lang="bash">srm FILE_OR_DIRECTORY srm -r DIRECTORY_RECURSIVELY </syntaxhighlight> Dabei stehen verschiedene Varianten zur Auswahl, die auch aus dem Disk Utility bekannt sein dürften (zum Löschen von Partitionen): {| |-- | style="width:120px;" | {{TT|-n, --nounlink}} || overwrite file, but do not rename or unlink it |-- | {{TT|-s, --simple}} || only overwrite with a single pass of random data |-- | {{TT|-m, --medium}} || overwrite the file with 7 US DoD compliant passes (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) |-- | {{TT|-z, --zero}} || after overwriting, zero blocks used by file |} Quelle: {{Man|srm|srm manpage}}, siehe auch: [[wikipedia:en:srm (Unix)|{{TT|srm}} in der Wikipedia]] (engl.) ===Dateien und Verzeichnisse verstecken=== Folgende Anweisung bewirkt, dass die jeweiligen Objekte im Finder nicht mehr sichtbar sind, ohne diese umbennen zu müssen (nur auf HFS+ Volumes): <syntaxhighlight lang="bash">chflags hidden FILE_OR_DIRECTORY</syntaxhighlight> Folgendes Kommando bewirkt genau das Gegenteil: <syntaxhighlight lang="bash">chflags nohidden FILE_OR_DIRECTORY</syntaxhighlight> Siehe auch: [[Dateien und Ordner verstecken und schützen]] hier auf Macwrench ==={{TT|.deb}} Archive entpacken=== Die Installationsarchive Debian-basierter Linux-Distributionen lassen sich auch unter Mac OS X mit Bordmitteln entpacken. Dazu wird das Kommandozeilenprogramm {{man|ar|ar}} verwendet, beispielsweise so: <syntaxhighlight lang="bash">ar vx dateiname.deb</syntaxhighlight> Die eigentlichen Dateien sind im dabei extrahierten Archiv {{TT|data.tar.gz}} enthalten, das sich mit jedem handelsüblichen Packprogramm (z.B. [https://code.google.com/p/theunarchiver/ The Unarchiver]) oder eben auch im Terminal entpacken lässt: <syntaxhighlight lang="bash">tar xvfz data.tar.gz</syntaxhighlight> Die Dateien {{TT|control.tar.gz}} und {{TT|debian-binary}} werden zum reinen Extrahieren einzelner Dateie nicht benötigt, sie enthalten lediglich Informationen zur Installation des Paketes (siehe auch: [[wikipedia:de:Debian-Paket|Debian-Paket]] in der Wikipedia). ===extract {{TT|.pkg}} installation packages=== xar -xvf PATH_TO_PACKAGE xar -xvf PATH_TO_PACKAGE -C <destination-folder> pkgutil --expand PATH_TO_PACKAGE <destination-folder> for example: xar -xvf ./InstallAssistant.pkg pkgutil --expand ./InstallAssistant.pkg /Applications/ ===show a list of all installed {{TT|.pkg}} installation packages=== pkgutil --pkgs or for a specific volume: pkgutil --pkgs --volume PATH_TO_VOLUME for example: pkgutil --pkgs --volume / pkgutil --pkgs --volume "/Volumes/Macintosh HD/" ===Dateilisting mit vollständigen Datumsangaben=== Standardmäßig zeit {{TT|{{Man|ls|ls}}}} das Dateidatum im Format "Tag Monatsname Stunden:Minuten" an. Um zusätzlich die Sekunden- und Jahresangaben anzuzeigen, ist unter OS X lediglich die Option {{TT|-T}} (Großschreibung beachten!) anzuhängen, beispielsweise so: ls -alT ===DVD-RAM oder BD-RE mit best. UDF Version formatieren=== die für DVD-RAM geeignete Version ist (v.a. aus Performancegründen, siehe [http://www.grafik-etc.de/werkstatt/dvd-ram-beschleunigen hier] und [https://de.wikibooks.org/wiki/DVD-RAM/_Mac_OS hier]) 2.01: newfs_udf -v "DISCNAME" -r 2.01 /dev/diskX Für blu-rays (BD-RE) sollte Version 2.5 oder 2.6 verwendet werden: newfs_udf -v "DISCNAME" -r 2.5 /dev/diskX Vor dem Formatieren ist die disc zu Deaktivieren was entweder über das Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung erfolgen kann: discutil unmountDisk /dev/diskX diskX ist hierbei durch den jeweils korrekten Wert zu ersetzen, der sich ebenfalls im Festplatten-Dienstprogramm (Disk Utility) oder mit Hilfe der folgenden Terminal-Anweisung ermitteln lässt: diskutil list Überprüfen lässt sich das dann mit dem [http://www.taffysoft.com/ UDF Media Reader] ===Permanently change the time style of the {{TT|ls}} command=== ... e.g. to include the year as well by using this command: alias ls='ls --time-style=long-iso' Valid time styles are: <syntaxhighlight lang="bash"> - [posix-]full-iso - [posix-]long-iso - [posix-]iso - [posix-]locale - +FORMAT (e.g., +%H:%M) for a 'date'-style format </syntaxhighlight> ==Administration== === Using the builtin Apache web server === In macOS Sierra (Version 10.12) Apple removed the graphical user interface to control the builtin Apache Web Server from the Sharing Preference Pane. The software however is still there and can be used and controlled via the macOS Terminal. In order to manually start, stop and reatart the builtin web server you can use use the {{TT|apachectl}} command: sudo apachectl start sudo apachectl stop sudo apachectl restart sudo apachectl graceful To automatically start Apache on boot you can use this command: sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist You can revert this using this command: sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist The document root folder is by default located at this path: /Library/WebServer/Documents/ The configuration files are located here: /etc/apache2 '''Important Note:''' I highly recommend adding all additional configuration such as virtual hosts to a separate configuration file and just add an additional include directive at the end of the main configuration file {{TT|/etc/apache2/httpd.conf}}. From time to time - particularly during major macOS updates - the macOS installer tends to revert all changes to the httpd.conf by reinstalling its default version. So if you follow the advice from above you won't lose your changes to this file, but only have to readd the missing import directive. === Install Rosetta 2 manually === If you need Rosetta to execute a command line utility for intel and don't get the installation dialog to install Rosetta 2, you might as well use one of the following terminal commands to achieve the same thing (installing Rosetta that is, not showing the dialog): /usr/sbin/softwareupdate --install-rosetta or this one, which skips the interactive license prompt: /usr/sbin/softwareupdate --install-rosetta --agree-to-license === Reload Quicklook PLugins=== Sometimes, e.g. after uninstalling an app with a Quicklook plugin - the list of available plugins is not being updated and macOS still tries to use the uninstalled plugin to present a certain file type. In order for another plugin to take over you have to reload the list of available plugins by resetting the QuickLook daemon. That's the terminal command to do just that: qlmanage -r ===Disable/Enable Spotlight Indexing=== to disable spotlight indexing altogether - e.g. to determine whether this is the reason for an unusually high CPU load, run the following terminal command: sudo mdutil -a -i off You may have to force-kill a hanging {{TT|mds_store}} process via the Activity Monitor app for it to finish properly. Take the opportuniyt to add those volumes and folders to the blacklist which you would like to be excluded from indexing before enabling it again. Run the following command to enable the indexing: sudo mdutil -a -i on ===Force re-indexing of your system volume=== first stop the spotlight indexer (see above), then run this command to purge the spotlight index and thereby forcing spotlight to rebuild it: sudo rm -rf /System/Volumes/Data/.Spotlight-V100/* Then start the indexer again (see above) ===Delete APFS Snapshots to be able to add partitions to an APFS-formatted drive=== if you cannot add any physical partitions to your APFS-formatted drive chances are that there are snapshots preventing you from doing that. To solve this problem you can easily list and delete them using these terminal commands: tmutil listlocalsnapshots /Volumes/$mountpoint tmutil thinlocalsnapshots /Volumes/$mountpoint 9999 where the number in the second command specifies the number of snapshots which ought to be deleted ===Display a month calendar in the terminal=== ... by using these commands: cal cal 2023 cal 4 2023 Check out the command's man page for more options ===Aktuelle Arbeitsspeicher-Belegung prüfen=== Durch die Eingabe vom {{TT|vm_stat}} kann eine detaillierte Übersich der derzeitigen Arbeitsspeicherauslastung angezeigt werden. Zum errechnen der jeweiligen Größe in *byte ist der entsprechende Wert mit der "page size" zu multiplizieren und durch die jeweilige Potenz von 1024 zu teilen: vm_stat liefert beispielsweise: <syntaxhighlight lang="bash"> Mach Virtual Memory Statistics: (page size of 4096 bytes) Pages free: 1005031. Pages active: 389132. Pages inactive: 182756. Pages speculative: 219753. Pages wired down: 298729. "Translation faults": 831704131. Pages copy-on-write: 21865968. Pages zero filled: 402761914. Pages reactivated: 1065664. Pageins: 4099764. Pageouts: 699567. Object cache: 181 hits of 1789806 lookups (0% hit rate) </syntaxhighlight> 389132 * 4096 / (1024^3) ≅ 1,4844 GB Siehe auch: * Manpage zu {{Man|vm_stat|vm_stat}} * [http://betabug.ch/blogs/ch-athens/227 Checking System Activity on Mac OS X on the Command Line] (betabug.ch) ===Ungenutzten Arbeitsspeicher freigeben=== Mit {{TT|{{Man|purge|purge}}}} kann derzeit ungenutzter, aber von Programmen noch reservierter Speicher wieder freigegeben werden: purge ===Startzeit von Prozessen ermitteln=== Die folgende Anweisung bewirkt die Ausgabe der aktuell laufenden Prozesse inklusive deren Start-Uhrzeit: <syntaxhighlight lang="bash"> ps -ef </syntaxhighlight> ===Locating app bundles by their bundle identifier=== To ascertain an app's bundle identifier use this command: mdls /path/to/bundle.app | grep kMDItemCF for example mdls /System/Applications/Calculator.app | grep kMDItemCF this will yield something like this: kMDItemCFBundleIdentifier = "com.apple.calculator" In order to locate all locations of such an app bundle use this command: mdfind kMDItemCFBundleIdentifier = "bundleidentifier" for example mdfind kMDItemCFBundleIdentifier = "com.apple.calculator" which will print out a list of all paths where such a bundle is to be found, like so: /System/Applications/Calculator.app ===PowerPC Applikationen finden=== Mit Hilfe des foldenden Terminal-Kommandos lassen sich installierte PowerPC Anwendungen ausfindig machen. Das ist insbesondere vor einem Update auf OSX Lion hilfreich, da diese Anwendungen dann nicht mehr laufen werden (die PowerPC-Unterstützung via Rosetta wurde bekanntlich mit 10.7 entfernt): {{Manl|system_profiler|system_profiler}} SPApplicationsDataType In der dadurch erzeugten Liste lassen sich anhand des Attributs "Kind" PowerPC-Anwendungen identifizieren. Für eine Schnellsuche (ob überhaupt PowerPC Anwendungen existieren) genügt folgender Aufruf: {{Manl|system_profiler|system_profiler}} SPApplicationsDataType | grep PowerPC Siehe auch: {{TT|1={{Man|system_profiler|system_profiler}}}} manpage, [[wikipedia:en:System_Profiler|{{TT|System Profiler}}]] in der [[wikipedia:en:Main_Page|Wikipedia]] (engl.) ===32-Bit Applikationen finden=== Die folgende Terminal-Anweisung ermittelt alle auf dem lokalen System vorhandenen 32bit Applikationen und Programme: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" und so kann man die Suche auf ein best. Verzeichnis einschränken: mdfind "kMDItemExecutableArchitectures == '*i386*' && kMDItemExecutableArchitectures != '*x86*'" | grep "/Applications/" Alternativ kann dies auch über das Programm "Systeminformationen" ermittelt werden, und zwar über "Software" > "Programme" in der linken Spalte. In der oben rechts angezeigten Tabelle existiert dazu eine Spalte "64-Bit (Intel)". ===CPU-Typ (32/64 Bit) ermitteln=== Einige anweisungen liefern hier falsche Werte, beispielsweise "sysctl hw.cputype" oder "arch" auf einem 2018er Mac Mini (der bekanntlich 64bit ist, hier jedoch als x386 erscheint). Daher müssen ggf. mehrere durchprobiert werden, um den korrekten Wert zu ermitteln: getconf LONG_BIT uname -m sysctl hw.cpu64bit_capable sysctl hw.cputype arch ===Benutzer remote ausloggen=== Hin und wieder kommt es auch unter Mac OS vor, dass die Oberfläche spinnt, keine Benutzeriennahmen annimmt oder der Finder komplett blockiert. Dazu muss man nicht notwendigerweise das komplette System zwangsweise ausschalten (via 4Sek. Powerbutton) sondern es genügt oftmals, entweder den Finder bzw. das Dock zu killen oder den jeweiligen Benutzer zwangsweise abzumelden. Damit werden dann allerdings auch die gestarteten Anwendungen – die ja alle als Kindprozesse von {{TT|{{Man|loginwindow|loginwindow}}}} laufen – ebenfalls beendet, so dass '''nicht gespeicherte Daten unwiderbringlich verloren''' gehen. Um die Benutzersitzung also zwangsweise zu beenden, sind folgende Schritte notwendig: Mit folgendem Kommando die Prozessnummer der entsprechenden {{TT|loginwindow}}-Instanz herausfinden (sollte am Benutzer zu erkennen sein): <syntaxhighlight lang="bash">ps -A -j | grep loginwindow</syntaxhighlight> Mit {{Man|kill|kill}} den Prozess beenden, z.B.: <syntaxhighlight lang="bash">sudo kill 123</syntaxhighlight> '''Hinweis:''' der Prozess {{TT|/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console}} ist die eigene SSH Session. ===Software-Updates nur herunterladen=== Vor Mac OS X Snow Leopard (10.6) bot die Software-Update Applikation die Möglichkeit, Updates nur herunterzuladen ohne diese gleich zu installieren. In 10.6 fiel diese Option weg, lässt sich jedoch im [[:Category:Terminal|Terminal]] weiterhin mit Hilfe des folgenden Kommandos ausführen: <syntaxhighlight lang="bash">softwareupdate -d -a</syntaxhighlight> Die heruntergeladenen Installationspakete sind anschließend in folgendem Verzeichnis zu finden: /Library/Updates/ Weitere Informationen dazu gibt es in der manpage zu {{Man|man|softwareupdate}} ===Bluetooth-Assistent deaktivieren=== Um das automatische Starten des Bluetooth-Assistenten zu deaktvieren, wenn beispielsweise beim Aufwachen aus dem Ruhezustand gerade keine Tastatur und/oder Maus aktiv ist, können folgende Anweisugnen im Terminal verwendet werden: <syntaxhighlight lang="bash"> sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekKeyboard '0' sudo defaults write /Library/Preferences/com.apple.Bluetooth BluetoothAutoSeekPointingDevice '0' </syntaxhighlight> ===Sprache im Anmeldebildschirm ändern=== Mit Hilfe der folgenden Terminal-Anweisung kann die Systemsprache geändert werden: sudo languagesetup Siehe auch: [https://support.apple.com/HT202036 support.apple.com] ===Eine App vorübergehend in einer bestimmten Sprache starten=== Um eine einzelne App vorübergehend in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen des App-bundle (.app Endung optional) sowie "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: open -a 'AppName' --args -AppleLanguages '(LangCode)' z.B.: open -a Calculator.app --args -AppleLanguages '(de-DE)' ===Eine App dauerhaft in einer bestimmten Sprache starten=== Um eine einzelne App dauerhaft in einer anderen Sprache als der aktuellen Systemsprache zu starten, kann folgende Terminal-Anweisung verwendet werden. Im folgenden Beispiel ist "AppName" durch den Namen der App (bzw. "BunddleIdentifier" durch deren identifier) und "LangCode" durch den ISO-Code der jeweiligen Wunschsprache zu ersetzen: defaults write -app NameOfApp AppleLanguages -array LangCode defaults write BundleIdentifier AppleLanguages '("LangCode")' z.B.: defaults write -app Calculator AppleLanguages -array fr defaults write com.apple.iCal AppleLanguages '("en-US")' Um das wieder rückgäning zu machen, ist folgende Anweisung auszuführen: defaults delete -app Calculator AppleLanguages Wie der Bundle Identifier zu ermitteln ist wird [[#Bundle Identifier eines App-Bundles ermitteln|hier beschrieben]] ===Laufende Dienste auflisten=== Mit folgender Terminal-Anweisung lassen sich alle laufenden Dienste auflisten: <syntaxhighlight lang="bash">sudo launchctl list</syntaxhighlight> Hiermit lässt sich prüfen, ob ein bestimmter Dienst gerade läuft, z.B. so: <syntaxhighlight lang="bash">$ sudo launchctl list | grep analyticsd 216 0 com.apple.analyticsd</syntaxhighlight> Nähre Informationen über einen bestimmten Dienst gibt es mit obigem Kommando, wenn man den entsprechenden Identifier hinzufügt: <syntaxhighlight lang="bash">$ sudo launchctl list com.apple.analyticsd { "EnableTransactions" = true; "LimitLoadToSessionType" = "System"; "MachServices" = { "com.apple.analyticsd.managed" = mach-port-object; "com.apple.analyticsd" = mach-port-object; }; "Label" = "com.apple.analyticsd"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 216; "Program" = "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; "ProgramArguments" = ( "/System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd"; ); }; </syntaxhighlight> Beenden lässt sich ein Dienst dann mit folgender Anweisung: <syntaxhighlight lang="bash">sudo launchctl unload -w &lt;NAME></syntaxhighlight> Siehe auch: [https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 GIST pwnsdx/disable.sh] ===Mitteilungszentrale (Notification Center) neu starten=== Wenn (z.B. während der Entwicklung) ein Today Widget das Notification Center lahmlegt oder man einfach den Neustart einer Today Extension erzwingen will, kann es notwendig werden, dieses einfach neu zu starten - beispielsweise mit Hilfe folgender Terminal-Anweisung: <syntaxhighlight lang="bash">killall NotificationCenter</syntaxhighlight> Anschließend wird es automatisch neu gestartet, deutlich erkennbar am verzögerten Aufbau der einzelnen Today Extensions. ===Mitteilungszentrale (Notification Center) zurücksetzen=== Manchmal ist es aber auch notwendig, die komplette Mitteilungszentrale zurückzusetzen - beispielsweise wenn Widgets fehlen oder Widgets von alten, deinstallierten Apps nicht verschwinden wollen. Dazu muss folgende Anweisung ausgeführt werden und anschließend eine erneute Anmeldung erfolgen: defaults delete com.apple.notificationcenterui; killall NotificationCenter Anschließend sollte sich die Mitteilungszentrale so präsentieren wie nach einer Neuinstallation bzw. dem Anlegen eines neuen Benutzerkontos. === macOS Upgrade-Hinweis im Systemupdater ausblenden=== Um beispielsweise den Upgrade-Hinweis auf macOS Catalina in Mojave auszublenden, ist folgende Terminal-Anweisung auszuführen: sudo softwareupdate --ignore "macOS Catalina" Nach der nächsten Updatesuche sollte dann der Hinweis verschwinden. Um das Upgrade wieder einzublenden, ist folgende Anweisung im Terminal auszuführen: sudo softwareupdate --reset-ignored "macOS Catalina" === Dark mode für einzelne Anwendungen deaktivieren === Anwendungen, die den Dark Mode (noch) nicht fehlerfrei unterstützen, können mit folgender Anweisung dazu gebracht werden, immer im Light Mode zu laufen: defaults write BUNDLE_IDENTIFIER NSRequiresAquaSystemAppearance -bool yes z.B. für Reeder 3: defaults write com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance -bool yes zum Rückgängingmachen dient diese Anweisung: defaults delete com.reederapp.rkit2.mac NSRequiresAquaSystemAppearance ===macOS Content Caching - Speicherort=== Über [https://support.apple.com/guide/mac-help/set-up-content-caching-on-mac-mchl3b6c3720/mac macOS Content Caching] gespeicherte Daten sind üblicherweise an folgendem Ort zu finden: /Library/Application Support/Apple/AssetCache/Data Hierbei ist zu beachten, dass es mehrere Caches im Netzwerk geben kann und eine best. Datein auf jedem dieser "content caching peers" zu finden sein kann. ===Einen externen Bluetooth-Adapter verwenden=== Um (beispielsweise bei älteren Macs oder zur Verbesserung der Reichweite/Verbindungsqualität) standardmäßig nicht den eingebauten sondern einen externen USB-Adapter zu verwenden, ist folgende Terminal-Anweisung zu verwenden: sudo nvram bluetoothHostControllerSwitchBehavior=always Das genaue Gegenteil (also immer den internen Adapter zu verwenden) erreicht man mit folgender Anweisung: sudo nvram bluetoothHostControllerSwitchBehavior=never Um die standardmäßige Systemeinstellung wiederherzustellen, ist folgende Anweisung zu verwenden: sudo nvram -d bluetoothHostControllerSwitchBehavior Diese Änderung bleibt über Neustarts hinweg erhalten. Mit Hilfe des Entwicklungs-Tools "Bluetooth Explorer" (Teil der "Hardware IO Tools for Xcode", für deren Download ein Apple Developer-Account erforderlich ist), kann diese Einstellung auch nur für die aktuelle Sitzung vorgenommen werden. Bei Verbindungsproblemen kann es evtl. auch helfen, das Bluetooth-Menü bei gedrückten {{Key press|alt}}+{{Key press|shift}} Tasten zu öffnen und im Debug Untermenü alle Einstellungen und Geräte zurückzusetzen und anschließend den Mac neu zu starten. ===Duplicated VPN entries in the VPN status bar item=== The VPN status item has the tendency to show duplicates every now and then which can be a bit confusing. But it usually isn't necessary to reboot the machine or even logout in order to get rid of them. It usually suffices to perform the following steps: # enter the System Preferences pane "Network" and select the VPN adapter # disable "Show VPN status in menu bar" # open the terminal and run this command to restart the menu bar: <syntaxhighlight lang="bash">killall -KILL SystemUIServer</syntaxhighlight> # reenable the menu bar VPN status again and the duplicates should be gone ===Create symlinks that work in chrooted environments=== Instead of creating symlinks which may not be shown correctly in chrooted environments when being accessed remotely (e.g. via SFTP) you can locally mount one folder into another one to make its contents available at both locations: mount --bind /path/to/sourcefolder /path/to/destinationfolder For this to work the destinationfolder has to exist beforehand. See also: [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/global_file_system_2/s1-manage-pathnames RedHat Customer Portal: Bind Mounts and Context-Dependent Path Names] ===Bundle Identifier eines App-Bundles ermitteln=== Der Bundle Identifier einer App ist mit Hilfe folgender Terminal-Anweisung zu ermitteln: mdls -name kMDItemCFBundleIdentifier /Pfad/zum/App-bundle z.B.: mdls -name kMDItemCFBundleIdentifier /System/Applications/Utilities/Terminal.app ===macOS Systemversion ermitteln=== ... und zwar auch von einer anderen als der gerade gestarteten Installation bzw. ohne Zugriff auf deren graphische Benutzeroberfläche. Die Versions- und Buildnummmern steht im Klartext in folgender Datei: /System/Library/CoreServices/SystemVersion.plist Und ein Blick in den Info Block des zugehörigen Wikipedia-Artikels - z.B. für [https://de.wikipedia.org/wiki/MacOS_Catalina macOS Catalina] - verrät dann auch ob die vorliegende Version die aktuellste ist. Direkt auslesen lässt sich beispielsweise die Versionsnummer mit folgender Terminalanweisung: /usr/libexec/PlistBuddy -c "Print :ProductVersion" /System/Library/CoreServices/SystemVersion.plist bzw. die Build Version: /usr/libexec/PlistBuddy -c "Print :ProductBuildVersion" /System/Library/CoreServices/SystemVersion.plist Der Inhalt dieser Datei sieht beispielsweise so aus: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ProductBuildVersion</key> <string>19H2026</string> <key>ProductCopyright</key> <string>1983-2022 Apple Inc.</string> <key>ProductName</key> <string>Mac OS X</string> <key>ProductUserVisibleVersion</key> <string>10.15.7</string> <key>ProductVersion</key> <string>10.15.7</string> <key>iOSSupportVersion</key> <string>13.6</string> </dict> </plist> </syntaxhighlight> ===Full keyboard access=== ... but like in previous macOS versions such as Mojave. In later macOS versions this option is part of the Accessibility tools and includes an imho pretty ugly, huge focus ring around all UI elements that can be controlled with keyboard shortcuts. Using this option here seems to eliminate this behavior but I'm not sure if there are any ramifications. defaults write NSGlobalDomain AppleKeyboardUIMode -int 2 The respective option in the "Accessibily" System Preference Pane uses the same value, but seems to set a couple of other flags as well. Hence the missing focus rings I guess... As usual, this option can be reset by running the following command: defaults delete NSGlobalDomain AppleKeyboardUIMode ===Prevent Game Center connections=== If you're annoyed that the gamed process is constantly bugging you or filling your firewall logs (which seems to have gotten pretty nasty on more recent macOS Versions such as Monterey or Ventura), try this one to prevent gamed from connecting to Apple servers: launchctl unload -w /System/Library/LaunchAgents/com.apple.gamed.plist Please note: you will have to [[#Disable SIP temporarily|disable SIP]] in order to disable the gamed launch agent. to reenable it use this command: launchctl load -w /System/Library/LaunchAgents/com.apple.gamed.plist On older macOS Versions this might help; sudo defaults write /System/Library/LaunchAgents/com.apple.gamed Disabled -bool true or respectively sudo defaults delete /System/Library/LaunchAgents/com.apple.gamed Disabled ==Freigaben starten== Einige Netzwerk-Dienste wie die Bildschirmfreigabe lassen sich auch aus dem Terminal heraus starten: ===File Sharing=== start AFP with sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.AppleFileServer.plist Please note that AFP support has been dropped in macOS 11.0 (Big Sur) in favor of SMB, so you won't be able to share or access files via AFP on these installations. for SMB use these commands (SMB requires a user to be selected in the System Preferences pane "Sharing"): sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist stop it again with sudo launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist ===Screen Sharing=== Dienst starten: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all -allowAccessFor -allUsers Dienst beenden: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate Keine Interaktionen zulassen (nur Beobachtungsmodus): sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false Für weitere Optionen siehe: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart --help Über den Neustart des Mac hinaus aktiv lassen: sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist ===Remote Login (SSHd)=== Dienst starten: sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Dienst beenden: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist ==Netzwerk== ===Hostname ändern=== <syntaxhighlight lang="bash">sudo scutil --set HostName <hostname></syntaxhighlight> dabei ist {{TT|<hostname>}} durch den gewünschten Hostnamen (ohne domain) zu ersetzen ===DNS-Cache leeren=== {{:Kurztipp_-_DNS-Cache_leeren}} ===Alle DNS-Records einer Domain ermitteln=== Um alle A-, MX-, SOA- etc. -Records einer Domain zu ermitteln, ist folgende Anweisung im Terminal einzugeben: dig <HOSTNAME> ANY +nocmd +nostats +noquestion TXT-Records können mit folgenden Anweidungen ausgelesen werden: dig -t txt <HOSTNAME> dig TXT <HOSTNAME> host -t txt <HOSTNAME> ===Geöffnete Ports auflisten=== Alle geöffneten, numerischen Ports: lsof -nP | grep LISTEN dasselbe mit Dienstnamen statt Portnummern: lsof | grep LISTEN einen bestimmten Port prüfen (macOS 10.13 und neuer): lsof -nP -i4TCP:<PORT> | grep LISTEN z.B.: sudo lsof -nP -i4TCP:80 | grep LISTEN dasselbe unter älteren macOS Versionen: lsof -nP -iTCP:<PORT> | grep LISTEN lsof -nP -i:$PORT | grep LISTEN ggf. ist der Aufruf über {{Man|sudo|sudo}} notwedig (z.B. für Ports < 1024) Beispielausgabe: $ sudo lsof -nP -i4TCP:80 | grep LISTEN httpd 46234 root 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) httpd 46238 _www 4u IPv6 0x43d62c23d1f89bbd 0t0 TCP *:80 (LISTEN) === AirDrop über alle Netzwerk-Schnittstellen (WiFi und LAN) nutzen === defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 Änderung rückgängig machen: defaults write com.apple.NetworkBrowser BrowseAllInterfaces 0 bzw. defaults delete com.apple.NetworkBrowser BrowseAllInterfaces === How to download a whole a website using {{TT|wget}} === wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org or alternatively: wget -mkEpnp http://example.org see also: [https://gurjitmehta.wordpress.com/2017/04/04/mirroring-websites-using-wget-httrack/ here] optionally add a user agent, just in case the server discards requests from non-browsers: --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1" --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www. google.com/bot.html)" see also: [https://explore.whatismybrowser.com/useragents/parse/ here] ==Sicherheit== ===Auf Sandbox prüfen=== Die folgende Anweidung prüft, ob ein App-Bundle in einer Sandbox läuft, ohne dies dazu starten zu müssen: codesign -d --entitlements - <pfad> z.B. codesign -d --entitlements - /Applications/Calculator.app Beispielausgabe: <syntaxhighlight lang="bash"> Executable=/Applications/Calculator.app/Contents/MacOS/Calculator ??qq?<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.print</key> <true/> </dict> </plist> </syntaxhighlight> ===Sandbox-Informationen anzeigen=== Um die Sandbox-Konfiguration (entitlements) aus dem Mac App Store heruntergeladener Apps anzuzeigen, sind folgende Anweisungen im Terminal einzugeben: ;Gültigkeit der Codesignatur überprüfen: spctl -a -v /Pfad/zum/Appbundle.app spctl --assess -vv /Pfad/zum/Appbundle.app check-signature /Pfad/zum/Appbundle.app ;Anzeige diverser Informationen über die App: codesign -d -v /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="bash"> Identifier=com.apple.configurator Format=bundle with Mach-O thin (x86_64) CodeDirectory v=20100 size=18631 flags=0x200(kill) hashes=923+5 location=embedded Signature size=4169 Info.plist entries=31 Sealed Resources rules=12 files=158 Internal requirements count=2 size=1228 </syntaxhighlight> ;Alternativ: codesign -v --strict --deep --verbose=2 /Pfad/zum/Appbundle.app codesign -d --deep --verbose=2 -r- /Pfad/zum/Appbundle.app ;Anzeige der XML-entitlements im Klartext: codesign -d --entitlements - /Pfad/zum/Appbundle.app liefert beispielsweise (Apple Configurator): <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.device.usb</key> <true/> <key>com.apple.security.files.user-selected.read-write</key> <true/> <key>com.apple.security.network.client</key> <true/> <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key> <array> <string>/Library/Preferences/com.apple.usbmuxd.plist</string> </array> <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key> <array> <string>/private/var/db/lockdown/</string> <string>/private/tmp/</string> </array> <key>com.apple.security.temporary-exception.sbpl</key> <array> <string>(allow file-read-data (regex #".+\.iosdevicebackup$"))</string> <string>(allow mach-lookup (global-name #"com.apple.syncservices.SyncServer"))</string> <string>(allow network-outbound (literal "/private/var/run/usbmuxd"))</string> <string>(allow mach-lookup (global-name-regex #"^com\.apple\.DeviceLink\.AppleMobileBackup\..+"))</string> <string>(allow mach-lookup (global-name #"com.apple.storeagent-xpc"))</string> <string>(allow file-read-data (regex #".+\.ipsw$"))</string> <string>(allow distributed-notification-post)</string> </array> </dict> </plist> </syntaxhighlight> ;Siehe auch * manpage zu {{Man|codesign|codesign}} * Apple Technical Note TN2250: [http://developer.apple.com/library/ios/#technotes/tn2250/_index.html iOS Code Signing Troubleshooting] ===Disable SIP temporarily=== um SIP (System Integrity Protection) vorübergehend zu deaktivieren, ist folgende Vorgehensweise notwendig: # Mac von der macOS Recovery-Partition starten und dort über das Menü die Terminal-App starten # <code>csrutil disable</code><br />Weitere Informationen zur Nutzung: <code>csrutil</code> (ohne Parameter) # den Mac erneut neu starten '''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich. '''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. # Zur Reaktivierung von SIP den Mac erneut von der Recovery-Partition starten und eine Terminal-Sitzung starten # <code>csrutil enable</code> # Mac erneut neu starten Der aktuelle Status lässt sich wie folgt abfragen: <syntaxhighlight lang="bash"> $ csrutil status System Integrity Protection status: enabled. </syntaxhighlight> Mehr zu SIP auf [https://support.apple.com/en-us/HT204899 apple.com], [[wikipedia:System_Integrity_Protection|Wikipedia]] ===Gatekeeper deaktivieren=== Seit macOS Sierra ist die Option, unsignierte Programme ohne Warnhinweis starten zu können, aus den Privatsphäre-Systemeinstellungen verschwunden. Um diese Option wieder sichtbar zu machen, genügt folgende Anweisung im Terminal: sudo spctl --master-disable Um das wieder rückgängig zu machenm, ist folgende Terminal-Anweisung notwendig: sudo spctl --master-enable ===Reset an App's access permissions=== Sometimes the System Settings preference pane "Security & Privacy" to configure macOS' Transparency, Consent, and Control (TCC) Framework goes haywire so you can't change an app's privacy settings. Or you just need to do this from the {{terminal}} for another reason, for example for scripting, or remote access via ssh. But there is a way to reset an apps privacy settings by using the command line utility {{TT|tccutil}}. You can specify a bundle identifier in order to reset the setting for one specific App only. If you omit this all apps registered for that service will be reset and prompt again the next time they access the service. <syntaxhighlight lang="bash"> tccutil COMMAND SERVICE [BUNDLE_IDENTIFIER] </syntaxhighlight> for example: <syntaxhighlight lang="bash"> tccutil reset All com.apple.Terminal tccutil reset Accessibility tccutil reset AddressBook tccutil reset AppleEvents tccutil reset Calendar tccutil reset All </syntaxhighlight> Here are a few examples which services are available in here. You have to keep in mind that some serices, such as "{{TT|Accessibility}}", automatically reset the configuration for other services, in this case "{{TT|Automation}}". Using the keyword "{{TT|All}}" resets all of them in one shot: * {{TT|Accessibility}} * {{TT|AddressBook}} * {{TT|AppleEvents}} * {{TT|Calendar}} * {{TT|Camera}} * {{TT|CoreLocationAgent}} * {{TT|Microphone}} * {{TT|Photos}} * {{TT|Reminders}} {{Info|You can get a full list of all available services by running this command here: <syntaxhighlight lang="bash">strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService</syntaxhighlight> In order to use one of these service names with {{TT|tccutil}} you have to skip the prefix "{{TT|kTCCService}}" - for example "{{TT|Calendar}}" instead of "{{TT|kTCCServiceCalendar}}"}}<!--{{Important|Das Verwenden eines Bundle Identifier (wie in der manpage beschrieben) endet zumindest unter macOS Mojave immer mit der Fehlermeldung "{{TT|tccutil: No such bundle identifier}}", daher können bislang nur alle Einstellungen eines bestimmten Dienstes zurückgesetzt werden.}}--> See also: [https://www.macworld.com/article/347452/how-to-fix-macos-accessibility-permission-when-an-app-cant-be-enabled.html How to fix macOS Accessibility permission when an app can’t be enabled] (Macworld) If you want to add a service for a specific app you will have to resort to third-party tools/scripts, such as [https://github.com/jacobsalmela/tccutil tccutil.py], since the builtim macOS command only allows for resetting the services. ==Bildbe- und -verarbeitung== ===SVG in PNG umwandeln=== Mit folgender Terminalanweisung lässt sich ohne exta zu installierende Software eine SVG-Grafik in ein PNG rastern: qlmanage -t -s 1024 -o . source.svg Weitere Optionen dieses Werkzeugs sind in der mangape verfügbar: man qlmanage ==Entwicklung== ===Allgemein=== Ungültige Zeichen in einer Textdatei finden (also solche, die nicht zum Encoding passen): grep -axv '.*' path/to/file.txt ===iOS Simulator=== ====Screenshot erstellen==== Mit Hilfe der folgenden Anweisung lässt sich ein Screenshot des derzeit vom iOS Simulator angezeigten Bildschirminhaltes anfertigen, der dann im aktuellen Verzeichnis (pwd) abgelegt wird: xcrun simctl io booted screenshot Alternativ kann ein Zielpfad angegeben werden: xcrun simctl io booted screenshot <pfad-zur-zieldatei> ====Video aufzeichnen==== Mit Hilfe der folgenden Anweisung lassen sich Interaktionen im iOS Simulator als Videodatei aufzeichnen: xcrun simctl io booted recordVideo <pfad-zur-zieldatei> ====alle Simulatoren auflisten==== xcrun simctl list ====alle Simulatoren zurücksetzen==== xcrun simctl erase all ==Programme== ===Apple Mail: View emails in plaintext=== On older Mac OS X Versions (Mac OS X Mavericks Version 10.9.x/Apple Mail Version 7.x and earlier afaik) there used to the hidden preference described below to force Apple Mail to show emails in plain text instead of HTML. But this option apparently has been dropped and doesn't work any longer (verified with macOS Catalina Version 10.15.x). It's been filed in Radar back then but has never been fixed by Apple, so I guess they just dropped it intentionally. Please drop me an email if you know another way to achieve the same thing by another means (maybe a plugin or something) on more recent macOS versions. In order to view all emails in plaintext instead of HTML run this terminal command: defaults write com.apple.mail PreferPlainText -bool true Tun this command to disable it again: defaults delete com.apple.mail PreferPlainText To view a specific email in its original HTML formatting use the main menu entry "View" -> "Message" -> "Next Alternative" ===Firefox Profile-Manager starten=== Im Profil-Manager lassen sich weitere Benutzerprofile erstellen und verwalten, allerdings ist dieser mittlerweile recht versteckt: # Firefox beenden, falls gerade gestartet # Terminal öffnen # im Terminal folgende Anweisung ausführen:<syntaxhighlight lang="bash">/Applications/Firefox.app/Contents/MacOS/firefox-bin -P</syntaxhighlight> Dort kann man dann auch (optional) durch Setzen der entsprechenden Checkbox veranlassen, dass der Profil-Manager bei jedem Start angezeigt wird. Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Firefox.app/Contents/MacOS/firefox-bin --help ===Thunderbird Profile-Manager starten=== Analog zu Firefox ([[#Firefox_Profile-Manager_starten|siehe oben]]) funktioniert das natürlich auch bei Thunderbird, allerdings mit einem abweichenden Parameternamen: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --ProfileManager Eine Übersicht aller weiteren Startparameter ist mit dieser Anweisung zu erhalten: /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin --help ===MAMP PRO hidden preferences=== ''... moved to [[MAMP PRO hidden preferences]]'' ==Troubleshooting== ===Schwarzer Desktop-Hintergrund=== Wenn der Hintergrund aller Spaces plötzlich schwarz wird und man kein Hintergrundbild mehr auswählen kann, hilft folgende Terminal-Anweisung in der Regel weiter, so dass man sich eine Neuanmeldung bzw. einen Reboot sparen kann: killall Dock ==Sonstiges== ===System-Icons finden=== Mit dem folgenden Kommando lassen sich sämtliche vom System verwendeten {{TT|.icns}} Dateien auffinden: find /System/Library /Library -iname \*.icns -print ===Apps vom MAS erneut installieren=== Es kommt des öfteren mal vor, dass die Mac App Store App deinstallierte Apps nicht als deinstalliert registriert und sich dann standhaft weigert, solche Apps erneut zu installieren. Es erscheint lediglich ein Hinweis, die App sei bereits installiert. In diesem Fall sollte folgende Terminal-Anweisung dem App Store wieder auf die Sprünge helfen: <syntaxhighlight lang="bash"> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user </syntaxhighlight> ===Doppelte Einträge im "Öffnen mit ..." Finder-Menü beseitigen=== Hin und wieder kommt es vor, das Programme im Finder-Kontextmenü "Öffnen mit ..." mehrfach gelistet sind. Um diesen Fehler zu bereinigen, ist folgendes im Terminal einzugeben: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user Anschließend ist der Finder mit folgender Anweisung neu zu starten killall Finder Alternativ kann das auch über das Dock-Menü erfolgen, in dem während des Klicks auf den Finder-Eintrag die folgenden Tasten gedrückt werden: <KB>CTRL+ALT</KB> {{Information|'''Hinweis:''' dadurch werden auch die Warnhinweise für aus dem Internet heruntergeladenen Programme zurückgesetzt, so dass beim nächsten Start eines solchen Programms OS X erneut nachfragt, ob man ein aus dem Internet geladenes Programm wirklich öffnen möchte.}} ===Aktuellen UNIX Timestamps ermitteln=== Aktuelle Uhrzeit in Sekunden: date +%s Mit Millisekunden (Achtung: {{TT|date +%N}} funktioniert nicht unter macOS!) php -r 'echo microtime(TRUE);' python -c 'import time; print(int(time.time() * 1000))' ===Datum und Uhrzeit von UNIX Timestamps anzeigen=== date -r TIMESTAMP z.B.: date -r 1616517572 Ausgabe: Tue Mar 23 17:39:32 CET 2021 ===Zugriff auf Dateien/Volumes ermitteln=== z.B. um herauszufinden. welche Prozesse gerade auf ein bestimmtes Volume zugreifen und damit das Aushängen/Auswerfen verhindern: sudo lsof | grep PATH z.B. $ sudo lsof|grep "/Volumes/Macintosh HD" mds 110 root 17r DIR 1,4 1024 2 /Volumes/Macintosh HD notifyd 151 root 56r DIR 1,4 1024 2 /Volumes/Macintosh HD ===Daten/Verzeichnisse Auf SIP-Schutz prüfen=== Mit folgender Anweisung lässt sich prüfen, ob der Zugriff auf bestimmte Dateien/Verzeichnisse durch [[#SIP vorübergehend deaktivieren|SIP (System Integrity Protection)]] eingeschränkt ist: <syntaxhighlight lang="bash">ls -lO</syntaxhighlight> In solchen fällen erscheint in der Ausgabe dann "restricted", wie beispielsweise hier: <syntaxhighlight lang="bash"> drwxr-xr-x 6 root wheel restricted 192 Jun 26 12:47 VirtualBox </syntaxhighlight> Um solche Dateien löschen zu können, muss zunächst SIP vorübergehend deaktiviert und der Mac neu gestartet werden. ===Zufallszahl erzeugen=== folgende Anweisung erzeugt eine (ganzzahlige) Zufallszahl (größer 0) mit einem Maximalwert von 10: echo $(( $RANDOM % 10 )) dasselbe ohne die 0: echo $(( ( RANDOM % 10 ) + 1 )) dasselbe mit Werten zwischen 40 und 49: r=$(( $RANDOM % 10 + 40 )); echo $r alternativ unter Verwendung von {{TT|/dev/random}}: grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1 alternativ unter Verwendung der {{TT|$RANDOM}} Bash-Funktion: echo $RANDOM % 10 + 1 | bc oder wie folgt, mit einer etwas besseren Verteilung der erzeugten Werte: while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done ===Merge several PDF documents into one=== you can do that with ghostscript, which unfortunately has to be installed first, e.g. via homebrew: brew install gs Then you can run this command: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf ==More at Macwrench== ===General=== * [[Objective-C Quickies]] * [[Swift Quickies]] ===App-specific=== * [[MAMP PRO hidden preferences]] ==Siehe auch== * [https://github.com/herrbischoff/awesome-osx-command-line Awesome OS X Command Line] project * Category [[:Category:Terminal|Terminal]] at Macwrench * [[Dienstprogramme und ihre Terminal-Äquivalente]] at Macwrench * [https://www.heise.de/mac-and-i/artikel/macOS-Die-besten-Befehle-fuers-Terminal-3504825.html macOS: Die besten Befehle fürs Terminal] (heise.de) * [https://www.heise.de/mac-and-i/artikel/macOS-Terminal-Das-kleine-Einmaleins-der-Kommandozeile-3463440.html macOS-Terminal – Das kleine Einmaleins der Kommandozeile] (heise.de) * [https://www.shellhacks.com/ ShellHacks] - Linux Hacks and Guides * [https://gist.github.com/Moscarda/1abb40b39c6636d4f022cbfbd90cf890 Lots of OSX defaults] deb039735475b1a1ec77d6b5745f0b6bbdb51fb6 Development Quickies 0 27 1853 1715 2023-11-06T12:05:40Z Hagbard 2 /* Xcode */ wikitext text/x-wiki [[Category:Development]] In diesem Artikel findet sich eine Sammlung diverser Tips und Tricks zum Thema macOS-/iOS-Softwareentwicklung mit Xcode, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. == Xcode == === validate .strings files === The following terminal command only indicates whether or not the file is syntactically valid: plutil -lint /path/to/Localizable.strings Batch check of all .strings files within the current working directory: find . -name \*.strings -exec plutil -lint {} + === Xcode debugging fails === If the Xcode debugger fails to start with an error messsage like "Could not attach to pid ..." try this terminal command as this is often just an authorization issue: sudo DevToolsSecurity -enable == app extensions == === Things learned while writing WidgetKit app extensions === ;Multiple instances (sizes) of the same widget ... :... apparently run within the same runtime environment so avoid writing data from the configuration intent to some kind of singleton or static class since it will be overwritten by a second instance with a different configuration. But on the other hand don't rely on this data on being shared across widget instances. This seems to be an undocumented bejavior and may not always apply, and it might change in the future. ;Self-Updating widgets/High frequency updates : Some people suggest you should reload the timeline from within {{TT|getTimeline()}} by calling {{TT|WidgetCenter.shared.reloadAllTimelines()}} in order to achieve a higher update frequency of your extension. But doing this will drive up the cpu load, inevitably drain your battery and shorten the devices' life span in the process. So better avoid such dirty hacks and stick to the original plan for updating your widgets as laid out in Apple's documentation. Get used to the fact that high frequency updates of WidgetKit app extensions are simply not possible any more. Rather file a complaint with Apple, maybe they listen sooner or later and provide a proper mechanism for this specific use case. ;When your extensions write shared data to a shared resource: :[https://developer.apple.com/documentation/dispatch/dispatchsemaphore Make use of semaphores] when writing shared data to a shared resource such as a keychain or a user defaults store. You may run into race conditions when multiple instances of the same app extension can process or show different data, especially when they are configurable (i.e. have a configuration intent). They may have to write something in there simultaneously as they might receive an update trigger at the very same time and write operations on a shared keychain aren't always blazingly fast. === check if we're running within an extension === ;at compile-time Objective-C :<syntaxhighlight lang="objectivec"> #ifdef TARGET_IS_EXTENSION // this piece of code will only be compiled when building for app extension targets #endif </syntaxhighlight> ;at runtime Objective-C :<syntaxhighlight lang="objectivec"> if ([[[NSBundle mainBundle] bundlePath] hasSuffix:@".appex"]) { // this is an app extension } </syntaxhighlight> Swift :<syntaxhighlight lang="swift"> if Bundle.main.bundlePath.hasSuffix(".appex") { // this is an app extension } </syntaxhighlight>or<syntaxhighlight lang="swift"> if Bundle.main.bundleURL.pathExtension == "appex" { // this is an app extension } </syntaxhighlight> == Things to keep in mind == ===Foundation Framework=== <code>NSArray:indexOfObject:</code> returns 0 and NOT <code>NSNotFound</code> as you might have expected when the array is nil, so you better check that first: <syntaxhighlight lang="objectivec"> NSArray *array = nil; NSInteger index = [array indexOfObject:@"test"]; </syntaxhighlight> Tested on macOS Version 12.6 == Important Resources == === Interfaces === * [https://developer.apple.com/design/ Apple Design Guides] * [https://developer.apple.com/design/human-interface-guidelines/guidelines/overview Apple Interface Guidelines] === Guidelines for Authentication Services=== * Sign in with Apple: [https://developer.apple.com/sign-in-with-apple/ Overview], [https://developer.apple.com/design/human-interface-guidelines/technologies/sign-in-with-apple/ Technical Guidelines], [https://developer.apple.com/design/resources/ Apple Design Resources] * Google: [https://developers.google.com/identity/branding-guidelines Sign-In Branding Guidelines] * Meta User Design Guidelines: [https://developers.facebook.com/docs/facebook-login/userexperience/#buttondesign Facebook Login Button], [https://about.meta.com/brand/resources/facebookapp/logo/ Facebook Logo] 6267b774cf6cadd751efaf4f36c42a761643486a 1858 1853 2023-11-07T12:57:18Z Hagbard 2 /* Xcode */ wikitext text/x-wiki [[Category:Development]] In diesem Artikel findet sich eine Sammlung diverser Tips und Tricks zum Thema macOS-/iOS-Softwareentwicklung mit Xcode, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. == Xcode == === reset all iOS Simulator devices ... by running this command: xcrun simctl erase all This also helps when you're seeing an error message like "Unable to boot device because it cannot be located on disk", e.g. when the folder "~/Library/Developer/CoreSimulator/Devices" has been deleted for some reason. === validate .strings files === The following terminal command only indicates whether or not the file is syntactically valid: plutil -lint /path/to/Localizable.strings Batch check of all .strings files within the current working directory: find . -name \*.strings -exec plutil -lint {} + === Xcode debugging fails === If the Xcode debugger fails to start with an error messsage like "Could not attach to pid ..." try this terminal command as this is often just an authorization issue: sudo DevToolsSecurity -enable == app extensions == === Things learned while writing WidgetKit app extensions === ;Multiple instances (sizes) of the same widget ... :... apparently run within the same runtime environment so avoid writing data from the configuration intent to some kind of singleton or static class since it will be overwritten by a second instance with a different configuration. But on the other hand don't rely on this data on being shared across widget instances. This seems to be an undocumented bejavior and may not always apply, and it might change in the future. ;Self-Updating widgets/High frequency updates : Some people suggest you should reload the timeline from within {{TT|getTimeline()}} by calling {{TT|WidgetCenter.shared.reloadAllTimelines()}} in order to achieve a higher update frequency of your extension. But doing this will drive up the cpu load, inevitably drain your battery and shorten the devices' life span in the process. So better avoid such dirty hacks and stick to the original plan for updating your widgets as laid out in Apple's documentation. Get used to the fact that high frequency updates of WidgetKit app extensions are simply not possible any more. Rather file a complaint with Apple, maybe they listen sooner or later and provide a proper mechanism for this specific use case. ;When your extensions write shared data to a shared resource: :[https://developer.apple.com/documentation/dispatch/dispatchsemaphore Make use of semaphores] when writing shared data to a shared resource such as a keychain or a user defaults store. You may run into race conditions when multiple instances of the same app extension can process or show different data, especially when they are configurable (i.e. have a configuration intent). They may have to write something in there simultaneously as they might receive an update trigger at the very same time and write operations on a shared keychain aren't always blazingly fast. === check if we're running within an extension === ;at compile-time Objective-C :<syntaxhighlight lang="objectivec"> #ifdef TARGET_IS_EXTENSION // this piece of code will only be compiled when building for app extension targets #endif </syntaxhighlight> ;at runtime Objective-C :<syntaxhighlight lang="objectivec"> if ([[[NSBundle mainBundle] bundlePath] hasSuffix:@".appex"]) { // this is an app extension } </syntaxhighlight> Swift :<syntaxhighlight lang="swift"> if Bundle.main.bundlePath.hasSuffix(".appex") { // this is an app extension } </syntaxhighlight>or<syntaxhighlight lang="swift"> if Bundle.main.bundleURL.pathExtension == "appex" { // this is an app extension } </syntaxhighlight> == Things to keep in mind == ===Foundation Framework=== <code>NSArray:indexOfObject:</code> returns 0 and NOT <code>NSNotFound</code> as you might have expected when the array is nil, so you better check that first: <syntaxhighlight lang="objectivec"> NSArray *array = nil; NSInteger index = [array indexOfObject:@"test"]; </syntaxhighlight> Tested on macOS Version 12.6 == Important Resources == === Interfaces === * [https://developer.apple.com/design/ Apple Design Guides] * [https://developer.apple.com/design/human-interface-guidelines/guidelines/overview Apple Interface Guidelines] === Guidelines for Authentication Services=== * Sign in with Apple: [https://developer.apple.com/sign-in-with-apple/ Overview], [https://developer.apple.com/design/human-interface-guidelines/technologies/sign-in-with-apple/ Technical Guidelines], [https://developer.apple.com/design/resources/ Apple Design Resources] * Google: [https://developers.google.com/identity/branding-guidelines Sign-In Branding Guidelines] * Meta User Design Guidelines: [https://developers.facebook.com/docs/facebook-login/userexperience/#buttondesign Facebook Login Button], [https://about.meta.com/brand/resources/facebookapp/logo/ Facebook Logo] b3aa2ea7848581b5d690489e6c7dbab4ea26fd91 1859 1858 2023-11-07T13:09:42Z Hagbard 2 /* Xcode */ wikitext text/x-wiki [[Category:Development]] In diesem Artikel findet sich eine Sammlung diverser Tips und Tricks zum Thema macOS-/iOS-Softwareentwicklung mit Xcode, die im Alltag immer wieder nützlich sein können. Falls bereits aus einem dieser Quickies ein eigener Artikel entstand, ist dieser jeweils am Ende der Beschreibung verlinkt. == Xcode == === reset all iOS Simulator devices === ... by running this command: xcrun simctl erase all This also helps when you're seeing an error message like "Unable to boot device because it cannot be located on disk", e.g. when the folder "~/Library/Developer/CoreSimulator/Devices" has been deleted for some reason. === validate .strings files === The following terminal command only indicates whether or not the file is syntactically valid: plutil -lint /path/to/Localizable.strings Batch check of all .strings files within the current working directory: find . -name \*.strings -exec plutil -lint {} + === Xcode debugging fails === If the Xcode debugger fails to start with an error messsage like "Could not attach to pid ..." try this terminal command as this is often just an authorization issue: sudo DevToolsSecurity -enable == app extensions == === Things learned while writing WidgetKit app extensions === ;Multiple instances (sizes) of the same widget ... :... apparently run within the same runtime environment so avoid writing data from the configuration intent to some kind of singleton or static class since it will be overwritten by a second instance with a different configuration. But on the other hand don't rely on this data on being shared across widget instances. This seems to be an undocumented bejavior and may not always apply, and it might change in the future. ;Self-Updating widgets/High frequency updates : Some people suggest you should reload the timeline from within {{TT|getTimeline()}} by calling {{TT|WidgetCenter.shared.reloadAllTimelines()}} in order to achieve a higher update frequency of your extension. But doing this will drive up the cpu load, inevitably drain your battery and shorten the devices' life span in the process. So better avoid such dirty hacks and stick to the original plan for updating your widgets as laid out in Apple's documentation. Get used to the fact that high frequency updates of WidgetKit app extensions are simply not possible any more. Rather file a complaint with Apple, maybe they listen sooner or later and provide a proper mechanism for this specific use case. ;When your extensions write shared data to a shared resource: :[https://developer.apple.com/documentation/dispatch/dispatchsemaphore Make use of semaphores] when writing shared data to a shared resource such as a keychain or a user defaults store. You may run into race conditions when multiple instances of the same app extension can process or show different data, especially when they are configurable (i.e. have a configuration intent). They may have to write something in there simultaneously as they might receive an update trigger at the very same time and write operations on a shared keychain aren't always blazingly fast. === check if we're running within an extension === ;at compile-time Objective-C :<syntaxhighlight lang="objectivec"> #ifdef TARGET_IS_EXTENSION // this piece of code will only be compiled when building for app extension targets #endif </syntaxhighlight> ;at runtime Objective-C :<syntaxhighlight lang="objectivec"> if ([[[NSBundle mainBundle] bundlePath] hasSuffix:@".appex"]) { // this is an app extension } </syntaxhighlight> Swift :<syntaxhighlight lang="swift"> if Bundle.main.bundlePath.hasSuffix(".appex") { // this is an app extension } </syntaxhighlight>or<syntaxhighlight lang="swift"> if Bundle.main.bundleURL.pathExtension == "appex" { // this is an app extension } </syntaxhighlight> == Things to keep in mind == ===Foundation Framework=== <code>NSArray:indexOfObject:</code> returns 0 and NOT <code>NSNotFound</code> as you might have expected when the array is nil, so you better check that first: <syntaxhighlight lang="objectivec"> NSArray *array = nil; NSInteger index = [array indexOfObject:@"test"]; </syntaxhighlight> Tested on macOS Version 12.6 == Important Resources == === Interfaces === * [https://developer.apple.com/design/ Apple Design Guides] * [https://developer.apple.com/design/human-interface-guidelines/guidelines/overview Apple Interface Guidelines] === Guidelines for Authentication Services=== * Sign in with Apple: [https://developer.apple.com/sign-in-with-apple/ Overview], [https://developer.apple.com/design/human-interface-guidelines/technologies/sign-in-with-apple/ Technical Guidelines], [https://developer.apple.com/design/resources/ Apple Design Resources] * Google: [https://developers.google.com/identity/branding-guidelines Sign-In Branding Guidelines] * Meta User Design Guidelines: [https://developers.facebook.com/docs/facebook-login/userexperience/#buttondesign Facebook Login Button], [https://about.meta.com/brand/resources/facebookapp/logo/ Facebook Logo] d7b83ec892b25ca6c10f03c500be64d3f26c684b Linux Quickies 0 179 1860 862 2023-11-11T09:54:32Z Hagbard 2 wikitext text/x-wiki ==Administration== ===apt - Find a package by its exact name=== Normally {{TT|apt search}} does a full text search for the specified needle by processing all package names and descriptions. If you want it to use the package names only, use this option instead: apt search --names-only PACKAGENAME And if you'd like to find an exact match you can use this command: apt search ^PACKAGENAME$ ===Configure systemd-resolv to resolve local virtualhosts=== Several distributions like Ubuntu Server now use systemd-resolv for DNS resolution, but this breaks resolving local virtualhosts (subdomains) hosted on this server. If your network interface is configured via DHCP you should be able to opt-into UseDomains by creating /etc/systemd/network/usedomains.network with this content: [DNS] UseDomains=true Source: [https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1699660 bugs.launchpad.net #1699660] See also: [https://moss.sh/name-resolution-issue-systemd-resolved/ A name resolution issue with systemd-resolved we found in the wild] 870aebf84abb11e87184a6f89981b27180973647 1861 1860 2023-11-11T09:55:44Z Hagbard 2 wikitext text/x-wiki ==Administration== ===apt - Find a package by its exact name=== Normally {{TT|apt search}} does a full text search for the specified needle by processing all package names and descriptions. If you want it to use the package names only, use this option instead: apt search --names-only PACKAGENAME And if you'd like to find an exact match you can use this expression here: apt search ^PACKAGENAME$ ===Configure systemd-resolv to resolve local virtualhosts=== Several distributions like Ubuntu Server now use systemd-resolv for DNS resolution, but this breaks resolving local virtualhosts (subdomains) hosted on this server. If your network interface is configured via DHCP you should be able to opt-into UseDomains by creating /etc/systemd/network/usedomains.network with this content: [DNS] UseDomains=true Source: [https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1699660 bugs.launchpad.net #1699660] See also: [https://moss.sh/name-resolution-issue-systemd-resolved/ A name resolution issue with systemd-resolved we found in the wild] fd99297377707a300aaf510dbc7bdc8bc373d6cc Startup Key Combinations 0 9 1868 1846 2023-11-28T07:54:12Z Hagbard 2 /* MacOS X */ wikitext text/x-wiki [[Category:OS]][[Category:Translate]]<!-- alternative article names, listed for search engine optimization: [[Boot_Key_Combos|Boot Key Combos]] [[Startup_Key_Combinations|Startup Key Combinations]] --> In diesem Artikel sind verschiedene Tastenkombinationen (sog. "Boot Key Combos") für den Start des Macs aufgelistet. Diese sind während des Startsounds gedrückt halten. Tastaturkombinationen für Betriebssystemfunktionen und in Mac OS X enthaltenen Applikationen sind im Artikel [[Mac Keyboard Shortcuts]] zu finden. ==Aple Silicon Macs== Mit dem Wechsel zu ARM-basierten Prozessoren hat sich auch am Systemstart einiges geändert, insbesondere das System Recovery wurde komplett überarbeitet und in das Boot-Menü integriert. Dadurch funktionieren eine ganze Reihe Tastenkombinationen nicht mehr bzw. sind auch gar nicht mehr nötig: ;Boot-Menü :Die Auswahl der zu startenden macOS Installation (bzw. des Volumes/der Volume Group, auf dem/der sich diese befindet) wird nun durch das Gedrückthalten des Power Buttons beim Einschalten erreicht. Dies impliziert auch, dass der Rechner vorher ausgeschaltet sein muss, da ansonsten ein "Force Power Off" stattfindet, der üblicherweise nur im Fehlerfall zum Einsatz kommen sollte – also z.B. wenn das System eingefroren ist und auf keinerlei Eingaben mehr reagiert. Ein direkter Neustart in das Bootmenü ist also nicht mehr möglich (bislang wurde hierzu während des Starts {{Key press|Opt}} auf der Tastatur gedrückt gehalten).<br/>'''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich.<br/>'''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. ;Recovery :Die System Recovery Werkzeuge sowie die Wiederherstellung einer beschädigten macOS Installation werden ebenfalls über das o.g. Boot-Menü erreicht. Die bislang dafür verwendeten Tastenkombinationen entfallen restlos. ;Internet Recovery :... gibt's nicht mehr, daher lässt sich das System nur noch auf die folgenden Weisen (re-)installieren: :* macOS Recovery (wie bisher) :* System Recovery (von versteckter Partition) :* USB [[MacOS_Installationsmedium_erstellen|Installations-Medium]] (ebenfalls wie bisher) :* via DFU Mode & Apple Configurator 2 :Mehr Informationsn zum Thema gibt es auch auf [https://mrmacintosh.com/how-to-reinstall-macos-on-your-apple-silicon-mac-everything-you-need-to-know/ mrmacintosh.com]. Siehe auch: [https://discussions.apple.com/thread/253397576 csrutil disable` command FAILED. The OS environment does not allow changing security configuration options.] ==Intel und "New World" PPC Macs== Tastaturkombinationen für sog. "New World Macs", die immer funktionieren - also unabhängig vom verwendeten Betriebssystem. {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|X}} || bei OS9 / X Dualinstallation MacOS X starten |---- bgcolor="#FFFFFF" | {{key press|C}} || von CD / DVD booten |---- bgcolor="#FFFFFF" | {{key press|D}} || von Festplatte booten (bis incl. Mac OS X 10.6.8)<br />Hardware-Test starten (bei eigelegter Installations-DVD, bis incl. Mac OS X 10.6.8) Startet bei eingelegter Installations-DVD den [http://support.apple.com/kb/HT1509 Apple Hardware Test] (nicht auf Mac OS X Retail-DVDs enthalten; Geräte ohne optisches Laufwerk sowie weitere, neuere Intel-Macs können seit 10.7 den Hardware Test über das Internet nutzen) Bei älteren Macs ist die Hardwaretest-Software auf den mitgelieferten Installations-DVDs enthalten, bei neueren Intel-Macs (seit OS X 10.7) befindet sich auf einer versteckten Partition des Systemlaufwerks (HDD oder SSD). Bei Macs mit Erscheinungsdatum nach dem Juni 2013 ist die [http://support.apple.com/kb/HT5781?viewlocale=de_DE&locale=de_DE Diagnosesoftware] Teil der Systemfirmware |---- bgcolor="#FFFFFF" | {{key press|N}} || netboot: vom Netzwerk booten (bis zum Apple-Logo / MacFace gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|T}} || Rechner im [http://support.apple.com/kb/HT1661 Firewire Target-Mode] booten (die HFS-Volumes stehen am anderen Rechner dann als Externe Festplatte zur Verfügung) |---- bgcolor="#FFFFFF" | {{key press|ALT}} || Intel-Macs: EFI-Boot-Menü<br />PowerPC NewWorld Macs: OpenFirmware Boot-Menü<br />OldWorld Macs: MacOS starten |---- bgcolor="#FFFFFF" | {{key press|⏏}}<br />alternativ (linke) Maustaste || CD/DVD-Medium beim Start auswerfen |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|P|R}} || Parameter-RAM löschen (bis zum 2. Startsound gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|N|V}} || NV-RAM löschen (OpenFirmware Reset, nur PowerPC-basierte NewWorld-Macs) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|O|F}} || In die OpenFirmware booten (nur sog. "New World Macs" mit PowerPC und OpenFirmware. Intel Macs nutzen das [[wikipedia:de:Extensible_Firmware_Interface|EFI]], das nicht mehr so einfach erreichbar ist.) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL}} || Startvolume ignorieren und von externem Medium oder CD/DVD starten (default volume wird ignoriert) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL|#}} || von einer bestimmten SCSI-ID booten (# = SCSI-ID) |} ==MacOS X== Tastaturkombinationen für MacOS X Installationen: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || '''beim Systemstart:'''<br />safe boot: deaktiviert Startobjekte und lädt nur die wichtigsten Kernel-Extensions<br />'''beim Fortschrittsbalken während dem Starten:'''<br />verhindert die automatische Anmeldung<br />'''beim login:'''<br />deaktiviert Startobjekte |---- bgcolor="#FFFFFF" | {{key press|CMD|V}} || verbose-boot: Zeigt alle Statusmeldungen während des Startvorgangs (anstatt des Apfel-Logos). Dauerhafte Aktivierung durch Eingabe des folgenden Kommandos im [[:Category:Terminal|Terminal]]: sudo nvram boot-args="-v" |---- bgcolor="#FFFFFF" | {{key press|CMD|S}} || im Single User Modus starten<br />Anschließend Schreibzugriff auf Volumes aktivieren mit: fsck -fy mount -uw / |---- bgcolor="#FFFFFF" | {{key press|CMD|R}} || Mac OS X Lion (10.7.x) bis incl. macOS Catalina (15.x) im [[Lion_Recovery|Recovery Modus]] von einer lokalen SSD/HDD1 starten (bei mit FileVault2 verschlüsselten Laufwerken erst ab 10.7.2 funktionstüchtig) |---- bgcolor="#FFFFFF" | {{key press|POWER}} || Auf Apple Silicon Macs mit macOS Big Sur Version 11.x) und neuer ist der Wiederherstellungsmodus über das Bootmenü erreichbar, indem beim Einschalten des Mac der Power-Button gedrückt gehalten wird. |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|R}} || Mac OS X Lion (10.7.x) bis incl. macOS Catalina (15.x) im [[Lion_Recovery|Online Wiederherstellung]] (Recovery) der letzten zu diesem Mac kompatiblen macOS-Version starten (Neuinstallation von macOS) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|R}} || Mac OS X Lion (10.7.x) bis incl. macOS Catalina (15.x) im [[Lion_Recovery|Online Wiederherstellung]] (Recovery) der mit dem Mac ausgelieferten macOS-Version (Neuinstallation von macOS) |---- bgcolor="#FFFFFF" | {{key press|6|4}} || Kernel im 64-Bit Modus starten (ab Version 10.6 auf unterstützten Geräten)<br />Um herauszufinden, ob der eigene Mac den 64-Bit Modus für den Systemstart untertützt, ist folgendes im [[:Category:Terminal|Terminal]] einzugeben: {{Manl|ioreg|ioreg}} -l -p IODeviceTree | grep firmware-abi Auf unterstützten Systemen müsste die Ausgabe wie folgt aussehen: "firmware-abi" = <"EFI64"> |---- bgcolor="#FFFFFF" | {{key press|3|2}} || Kernel im 32-Bit Modus starten (ab Version 10.7) |} ==Mac OS Classic== Tastaturkombinationen, die nur mit dem "alten" MacOS (Version 9 und davor) funktionieren: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || Systemerweiterungen deaktivieren |---- bgcolor="#FFFFFF" | {{key press|CMD}} || Ohne virtuellen Speicher starten |---- bgcolor="#FFFFFF" | {{key press|space}} || "Conflict-Catcher" - Auswahl der Systemerweiterungen |} == Siehe auch == * [[Mac Keyboard Shortcuts]] hier im Wiki * Apple Support: ** [http://support.apple.com/kb/HT1533?viewlocale=de_DE&locale=de_DE Tastenkombinationen beim Startvorgang Intel-basierter Macs] ** [http://support.apple.com/kb/ht1343?viewlocale=de_DE&locale=de_DE Mac OS X: Tastaturkurzbefehle] ** [http://support.apple.com/kb/HT1242?viewlocale=de_DE&locale=de_DE Mac OS X: Was wird im PRAM gespeichert] * System Management Controller (SMC) von Intel-Macs zurücksetzen: ** [http://support.apple.com/kb/HT1543?viewlocale=de_DE&locale=de_DE Mac Mini, iMac] ** [http://support.apple.com/kb/HT1411?viewlocale=de_DE&locale=de_DE MacBook, MacBook Pro, MacBook Air] ** [http://reviews.cnet.com/8301-13727_7-10330118-263.html When to reset the PRAM and SMC/PMU] * [http://support.apple.com/kb/HT1436 How to reset the SMU on a Power Mac G5 (Late 2004) or Power Mac G5 (Late 2005)] c401bcc505c0c1cddaf33094fe5a630a6b5dc10e 1869 1868 2023-11-28T07:59:22Z Hagbard 2 /* MacOS X */ wikitext text/x-wiki [[Category:OS]][[Category:Translate]]<!-- alternative article names, listed for search engine optimization: [[Boot_Key_Combos|Boot Key Combos]] [[Startup_Key_Combinations|Startup Key Combinations]] --> In diesem Artikel sind verschiedene Tastenkombinationen (sog. "Boot Key Combos") für den Start des Macs aufgelistet. Diese sind während des Startsounds gedrückt halten. Tastaturkombinationen für Betriebssystemfunktionen und in Mac OS X enthaltenen Applikationen sind im Artikel [[Mac Keyboard Shortcuts]] zu finden. ==Aple Silicon Macs== Mit dem Wechsel zu ARM-basierten Prozessoren hat sich auch am Systemstart einiges geändert, insbesondere das System Recovery wurde komplett überarbeitet und in das Boot-Menü integriert. Dadurch funktionieren eine ganze Reihe Tastenkombinationen nicht mehr bzw. sind auch gar nicht mehr nötig: ;Boot-Menü :Die Auswahl der zu startenden macOS Installation (bzw. des Volumes/der Volume Group, auf dem/der sich diese befindet) wird nun durch das Gedrückthalten des Power Buttons beim Einschalten erreicht. Dies impliziert auch, dass der Rechner vorher ausgeschaltet sein muss, da ansonsten ein "Force Power Off" stattfindet, der üblicherweise nur im Fehlerfall zum Einsatz kommen sollte – also z.B. wenn das System eingefroren ist und auf keinerlei Eingaben mehr reagiert. Ein direkter Neustart in das Bootmenü ist also nicht mehr möglich (bislang wurde hierzu während des Starts {{Key press|Opt}} auf der Tastatur gedrückt gehalten).<br/>'''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich.<br/>'''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. ;Recovery :Die System Recovery Werkzeuge sowie die Wiederherstellung einer beschädigten macOS Installation werden ebenfalls über das o.g. Boot-Menü erreicht. Die bislang dafür verwendeten Tastenkombinationen entfallen restlos. ;Internet Recovery :... gibt's nicht mehr, daher lässt sich das System nur noch auf die folgenden Weisen (re-)installieren: :* macOS Recovery (wie bisher) :* System Recovery (von versteckter Partition) :* USB [[MacOS_Installationsmedium_erstellen|Installations-Medium]] (ebenfalls wie bisher) :* via DFU Mode & Apple Configurator 2 :Mehr Informationsn zum Thema gibt es auch auf [https://mrmacintosh.com/how-to-reinstall-macos-on-your-apple-silicon-mac-everything-you-need-to-know/ mrmacintosh.com]. Siehe auch: [https://discussions.apple.com/thread/253397576 csrutil disable` command FAILED. The OS environment does not allow changing security configuration options.] ==Intel und "New World" PPC Macs== Tastaturkombinationen für sog. "New World Macs", die immer funktionieren - also unabhängig vom verwendeten Betriebssystem. {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|X}} || bei OS9 / X Dualinstallation MacOS X starten |---- bgcolor="#FFFFFF" | {{key press|C}} || von CD / DVD booten |---- bgcolor="#FFFFFF" | {{key press|D}} || von Festplatte booten (bis incl. Mac OS X 10.6.8)<br />Hardware-Test starten (bei eigelegter Installations-DVD, bis incl. Mac OS X 10.6.8) Startet bei eingelegter Installations-DVD den [http://support.apple.com/kb/HT1509 Apple Hardware Test] (nicht auf Mac OS X Retail-DVDs enthalten; Geräte ohne optisches Laufwerk sowie weitere, neuere Intel-Macs können seit 10.7 den Hardware Test über das Internet nutzen) Bei älteren Macs ist die Hardwaretest-Software auf den mitgelieferten Installations-DVDs enthalten, bei neueren Intel-Macs (seit OS X 10.7) befindet sich auf einer versteckten Partition des Systemlaufwerks (HDD oder SSD). Bei Macs mit Erscheinungsdatum nach dem Juni 2013 ist die [http://support.apple.com/kb/HT5781?viewlocale=de_DE&locale=de_DE Diagnosesoftware] Teil der Systemfirmware |---- bgcolor="#FFFFFF" | {{key press|N}} || netboot: vom Netzwerk booten (bis zum Apple-Logo / MacFace gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|T}} || Rechner im [http://support.apple.com/kb/HT1661 Firewire Target-Mode] booten (die HFS-Volumes stehen am anderen Rechner dann als Externe Festplatte zur Verfügung) |---- bgcolor="#FFFFFF" | {{key press|ALT}} || Intel-Macs: EFI-Boot-Menü<br />PowerPC NewWorld Macs: OpenFirmware Boot-Menü<br />OldWorld Macs: MacOS starten |---- bgcolor="#FFFFFF" | {{key press|⏏}}<br />alternativ (linke) Maustaste || CD/DVD-Medium beim Start auswerfen |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|P|R}} || Parameter-RAM löschen (bis zum 2. Startsound gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|N|V}} || NV-RAM löschen (OpenFirmware Reset, nur PowerPC-basierte NewWorld-Macs) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|O|F}} || In die OpenFirmware booten (nur sog. "New World Macs" mit PowerPC und OpenFirmware. Intel Macs nutzen das [[wikipedia:de:Extensible_Firmware_Interface|EFI]], das nicht mehr so einfach erreichbar ist.) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL}} || Startvolume ignorieren und von externem Medium oder CD/DVD starten (default volume wird ignoriert) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL|#}} || von einer bestimmten SCSI-ID booten (# = SCSI-ID) |} ==MacOS X== Tastaturkombinationen für MacOS X Installationen: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || '''beim Systemstart:'''<br />safe boot: deaktiviert Startobjekte und lädt nur die wichtigsten Kernel-Extensions<br />'''beim Fortschrittsbalken während dem Starten:'''<br />verhindert die automatische Anmeldung<br />'''beim login:'''<br />deaktiviert Startobjekte |---- bgcolor="#FFFFFF" | {{key press|CMD|V}} || verbose-boot: Zeigt alle Statusmeldungen während des Startvorgangs (anstatt des Apfel-Logos). Dauerhafte Aktivierung durch Eingabe des folgenden Kommandos im [[:Category:Terminal|Terminal]]: sudo nvram boot-args="-v" |---- bgcolor="#FFFFFF" | {{key press|CMD|S}} || im Single User Modus starten<br />Anschließend Schreibzugriff auf Volumes aktivieren mit: fsck -fy mount -uw / |---- bgcolor="#FFFFFF" | {{key press|CMD|R}} || Mac OS X Lion (10.7.x) bis incl. macOS Catalina (15.x) im [[Lion_Recovery|Recovery Modus]] von einer lokalen SSD/HDD1 starten (bei mit FileVault2 verschlüsselten Laufwerken erst ab 10.7.2 funktionstüchtig) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|R}} || Mac OS X Lion (10.7.x) bis incl. macOS Catalina (15.x) im [[Lion_Recovery|Online Wiederherstellung]] (Recovery) der letzten zu diesem Mac kompatiblen macOS-Version starten (Neuinstallation von macOS) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|R}} || Mac OS X Lion (10.7.x) bis incl. macOS Catalina (15.x) im [[Lion_Recovery|Online Wiederherstellung]] (Recovery) der mit dem Mac ausgelieferten macOS-Version (Neuinstallation von macOS) |---- bgcolor="#FFFFFF" | {{key press|POWER}} || Auf Apple Silicon Macs mit macOS Big Sur Version 11.x) und neuer ist der Wiederherstellungsmodus über das Bootmenü erreichbar, indem beim Einschalten des Mac der Power-Button gedrückt gehalten wird.<br/>Der Start dieses Vorgangs erfolgt von der lokalen SSD, genauer aus einem versteckten Container namens „Apple_APFS_Recovery“. Apple nennt dieses Konzept "1 True Recovery" (1TR). |---- bgcolor="#FFFFFF" | {{key press|POWER|POWER}} || (betrifft nur Apple Silicon Macs mit macOS Big Sur und neuer) Falls der versteckte Wiederherstellungs-Container beschädigt oder gelöscht sein sollte, kann alternativ auf eine Recovery-Partition zurückgegriffen werden. Dies erreicht man durch zweimaliges Drücken des Power-Buttons direkt hinterehinander und anschließendes Gedrückthalten. |---- bgcolor="#FFFFFF" | {{key press|6|4}} || Kernel im 64-Bit Modus starten (ab Version 10.6 auf unterstützten Geräten)<br />Um herauszufinden, ob der eigene Mac den 64-Bit Modus für den Systemstart untertützt, ist folgendes im [[:Category:Terminal|Terminal]] einzugeben: {{Manl|ioreg|ioreg}} -l -p IODeviceTree | grep firmware-abi Auf unterstützten Systemen müsste die Ausgabe wie folgt aussehen: "firmware-abi" = <"EFI64"> |---- bgcolor="#FFFFFF" | {{key press|3|2}} || Kernel im 32-Bit Modus starten (ab Version 10.7) |} ==Mac OS Classic== Tastaturkombinationen, die nur mit dem "alten" MacOS (Version 9 und davor) funktionieren: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || Systemerweiterungen deaktivieren |---- bgcolor="#FFFFFF" | {{key press|CMD}} || Ohne virtuellen Speicher starten |---- bgcolor="#FFFFFF" | {{key press|space}} || "Conflict-Catcher" - Auswahl der Systemerweiterungen |} == Siehe auch == * [[Mac Keyboard Shortcuts]] hier im Wiki * Apple Support: ** [http://support.apple.com/kb/HT1533?viewlocale=de_DE&locale=de_DE Tastenkombinationen beim Startvorgang Intel-basierter Macs] ** [http://support.apple.com/kb/ht1343?viewlocale=de_DE&locale=de_DE Mac OS X: Tastaturkurzbefehle] ** [http://support.apple.com/kb/HT1242?viewlocale=de_DE&locale=de_DE Mac OS X: Was wird im PRAM gespeichert] * System Management Controller (SMC) von Intel-Macs zurücksetzen: ** [http://support.apple.com/kb/HT1543?viewlocale=de_DE&locale=de_DE Mac Mini, iMac] ** [http://support.apple.com/kb/HT1411?viewlocale=de_DE&locale=de_DE MacBook, MacBook Pro, MacBook Air] ** [http://reviews.cnet.com/8301-13727_7-10330118-263.html When to reset the PRAM and SMC/PMU] * [http://support.apple.com/kb/HT1436 How to reset the SMU on a Power Mac G5 (Late 2004) or Power Mac G5 (Late 2005)] 8b83b2b01a386ed0e5f01ca5e788389bae41f5c5 1870 1869 2023-11-28T08:01:23Z Hagbard 2 /* Aple Silicon Macs */ wikitext text/x-wiki [[Category:OS]][[Category:Translate]]<!-- alternative article names, listed for search engine optimization: [[Boot_Key_Combos|Boot Key Combos]] [[Startup_Key_Combinations|Startup Key Combinations]] --> In diesem Artikel sind verschiedene Tastenkombinationen (sog. "Boot Key Combos") für den Start des Macs aufgelistet. Diese sind während des Startsounds gedrückt halten. Tastaturkombinationen für Betriebssystemfunktionen und in Mac OS X enthaltenen Applikationen sind im Artikel [[Mac Keyboard Shortcuts]] zu finden. ==Aple Silicon Macs== Mit dem Wechsel zu ARM-basierten Prozessoren hat sich auch am Systemstart einiges geändert, insbesondere das System Recovery wurde komplett überarbeitet und in das Boot-Menü integriert. Dadurch funktionieren eine ganze Reihe Tastenkombinationen nicht mehr bzw. sind auch gar nicht mehr nötig: ;Boot-Menü :Die Auswahl der zu startenden macOS Installation (bzw. des Volumes/der Volume Group, auf dem/der sich diese befindet) wird nun durch das Gedrückthalten des Power Buttons beim Einschalten erreicht. Dies impliziert auch, dass der Rechner vorher ausgeschaltet sein muss, da ansonsten ein "Force Power Off" stattfindet, der üblicherweise nur im Fehlerfall zum Einsatz kommen sollte – also z.B. wenn das System eingefroren ist und auf keinerlei Eingaben mehr reagiert.<br/>Seit '''macOS Sonoma''' ist dies jedoch nicht mehr zwingend der Fall, hier kann auch im laufenden Betrieb auf ein Fallback-Recovery-System zurückgegriffen werden (s.u.).<br/> Ein direkter Neustart in das Bootmenü ist also nicht mehr möglich (bislang wurde hierzu während des Starts {{Key press|Opt}} auf der Tastatur gedrückt gehalten).<br/>'''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich.<br/>'''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. ;Recovery :Die System Recovery Werkzeuge sowie die Wiederherstellung einer beschädigten macOS Installation werden ebenfalls über das o.g. Boot-Menü erreicht. Die bislang dafür verwendeten Tastenkombinationen entfallen restlos. ;Internet Recovery :... gibt's nicht mehr, daher lässt sich das System nur noch auf die folgenden Weisen (re-)installieren: :* macOS Recovery (wie bisher) :* System Recovery (von versteckter Partition) :* USB [[MacOS_Installationsmedium_erstellen|Installations-Medium]] (ebenfalls wie bisher) :* via DFU Mode & Apple Configurator 2 :Mehr Informationsn zum Thema gibt es auch auf [https://mrmacintosh.com/how-to-reinstall-macos-on-your-apple-silicon-mac-everything-you-need-to-know/ mrmacintosh.com]. Siehe auch: [https://discussions.apple.com/thread/253397576 csrutil disable` command FAILED. The OS environment does not allow changing security configuration options.] ==Intel und "New World" PPC Macs== Tastaturkombinationen für sog. "New World Macs", die immer funktionieren - also unabhängig vom verwendeten Betriebssystem. {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|X}} || bei OS9 / X Dualinstallation MacOS X starten |---- bgcolor="#FFFFFF" | {{key press|C}} || von CD / DVD booten |---- bgcolor="#FFFFFF" | {{key press|D}} || von Festplatte booten (bis incl. Mac OS X 10.6.8)<br />Hardware-Test starten (bei eigelegter Installations-DVD, bis incl. Mac OS X 10.6.8) Startet bei eingelegter Installations-DVD den [http://support.apple.com/kb/HT1509 Apple Hardware Test] (nicht auf Mac OS X Retail-DVDs enthalten; Geräte ohne optisches Laufwerk sowie weitere, neuere Intel-Macs können seit 10.7 den Hardware Test über das Internet nutzen) Bei älteren Macs ist die Hardwaretest-Software auf den mitgelieferten Installations-DVDs enthalten, bei neueren Intel-Macs (seit OS X 10.7) befindet sich auf einer versteckten Partition des Systemlaufwerks (HDD oder SSD). Bei Macs mit Erscheinungsdatum nach dem Juni 2013 ist die [http://support.apple.com/kb/HT5781?viewlocale=de_DE&locale=de_DE Diagnosesoftware] Teil der Systemfirmware |---- bgcolor="#FFFFFF" | {{key press|N}} || netboot: vom Netzwerk booten (bis zum Apple-Logo / MacFace gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|T}} || Rechner im [http://support.apple.com/kb/HT1661 Firewire Target-Mode] booten (die HFS-Volumes stehen am anderen Rechner dann als Externe Festplatte zur Verfügung) |---- bgcolor="#FFFFFF" | {{key press|ALT}} || Intel-Macs: EFI-Boot-Menü<br />PowerPC NewWorld Macs: OpenFirmware Boot-Menü<br />OldWorld Macs: MacOS starten |---- bgcolor="#FFFFFF" | {{key press|⏏}}<br />alternativ (linke) Maustaste || CD/DVD-Medium beim Start auswerfen |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|P|R}} || Parameter-RAM löschen (bis zum 2. Startsound gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|N|V}} || NV-RAM löschen (OpenFirmware Reset, nur PowerPC-basierte NewWorld-Macs) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|O|F}} || In die OpenFirmware booten (nur sog. "New World Macs" mit PowerPC und OpenFirmware. Intel Macs nutzen das [[wikipedia:de:Extensible_Firmware_Interface|EFI]], das nicht mehr so einfach erreichbar ist.) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL}} || Startvolume ignorieren und von externem Medium oder CD/DVD starten (default volume wird ignoriert) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL|#}} || von einer bestimmten SCSI-ID booten (# = SCSI-ID) |} ==MacOS X== Tastaturkombinationen für MacOS X Installationen: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || '''beim Systemstart:'''<br />safe boot: deaktiviert Startobjekte und lädt nur die wichtigsten Kernel-Extensions<br />'''beim Fortschrittsbalken während dem Starten:'''<br />verhindert die automatische Anmeldung<br />'''beim login:'''<br />deaktiviert Startobjekte |---- bgcolor="#FFFFFF" | {{key press|CMD|V}} || verbose-boot: Zeigt alle Statusmeldungen während des Startvorgangs (anstatt des Apfel-Logos). Dauerhafte Aktivierung durch Eingabe des folgenden Kommandos im [[:Category:Terminal|Terminal]]: sudo nvram boot-args="-v" |---- bgcolor="#FFFFFF" | {{key press|CMD|S}} || im Single User Modus starten<br />Anschließend Schreibzugriff auf Volumes aktivieren mit: fsck -fy mount -uw / |---- bgcolor="#FFFFFF" | {{key press|CMD|R}} || Mac OS X Lion (10.7.x) bis incl. macOS Catalina (15.x) im [[Lion_Recovery|Recovery Modus]] von einer lokalen SSD/HDD1 starten (bei mit FileVault2 verschlüsselten Laufwerken erst ab 10.7.2 funktionstüchtig) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|R}} || Mac OS X Lion (10.7.x) bis incl. macOS Catalina (15.x) im [[Lion_Recovery|Online Wiederherstellung]] (Recovery) der letzten zu diesem Mac kompatiblen macOS-Version starten (Neuinstallation von macOS) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|R}} || Mac OS X Lion (10.7.x) bis incl. macOS Catalina (15.x) im [[Lion_Recovery|Online Wiederherstellung]] (Recovery) der mit dem Mac ausgelieferten macOS-Version (Neuinstallation von macOS) |---- bgcolor="#FFFFFF" | {{key press|POWER}} || Auf Apple Silicon Macs mit macOS Big Sur Version 11.x) und neuer ist der Wiederherstellungsmodus über das Bootmenü erreichbar, indem beim Einschalten des Mac der Power-Button gedrückt gehalten wird.<br/>Der Start dieses Vorgangs erfolgt von der lokalen SSD, genauer aus einem versteckten Container namens „Apple_APFS_Recovery“. Apple nennt dieses Konzept "1 True Recovery" (1TR). |---- bgcolor="#FFFFFF" | {{key press|POWER|POWER}} || (betrifft nur Apple Silicon Macs mit macOS Big Sur und neuer) Falls der versteckte Wiederherstellungs-Container beschädigt oder gelöscht sein sollte, kann alternativ auf eine Recovery-Partition zurückgegriffen werden. Dies erreicht man durch zweimaliges Drücken des Power-Buttons direkt hinterehinander und anschließendes Gedrückthalten. |---- bgcolor="#FFFFFF" | {{key press|6|4}} || Kernel im 64-Bit Modus starten (ab Version 10.6 auf unterstützten Geräten)<br />Um herauszufinden, ob der eigene Mac den 64-Bit Modus für den Systemstart untertützt, ist folgendes im [[:Category:Terminal|Terminal]] einzugeben: {{Manl|ioreg|ioreg}} -l -p IODeviceTree | grep firmware-abi Auf unterstützten Systemen müsste die Ausgabe wie folgt aussehen: "firmware-abi" = <"EFI64"> |---- bgcolor="#FFFFFF" | {{key press|3|2}} || Kernel im 32-Bit Modus starten (ab Version 10.7) |} ==Mac OS Classic== Tastaturkombinationen, die nur mit dem "alten" MacOS (Version 9 und davor) funktionieren: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || Systemerweiterungen deaktivieren |---- bgcolor="#FFFFFF" | {{key press|CMD}} || Ohne virtuellen Speicher starten |---- bgcolor="#FFFFFF" | {{key press|space}} || "Conflict-Catcher" - Auswahl der Systemerweiterungen |} == Siehe auch == * [[Mac Keyboard Shortcuts]] hier im Wiki * Apple Support: ** [http://support.apple.com/kb/HT1533?viewlocale=de_DE&locale=de_DE Tastenkombinationen beim Startvorgang Intel-basierter Macs] ** [http://support.apple.com/kb/ht1343?viewlocale=de_DE&locale=de_DE Mac OS X: Tastaturkurzbefehle] ** [http://support.apple.com/kb/HT1242?viewlocale=de_DE&locale=de_DE Mac OS X: Was wird im PRAM gespeichert] * System Management Controller (SMC) von Intel-Macs zurücksetzen: ** [http://support.apple.com/kb/HT1543?viewlocale=de_DE&locale=de_DE Mac Mini, iMac] ** [http://support.apple.com/kb/HT1411?viewlocale=de_DE&locale=de_DE MacBook, MacBook Pro, MacBook Air] ** [http://reviews.cnet.com/8301-13727_7-10330118-263.html When to reset the PRAM and SMC/PMU] * [http://support.apple.com/kb/HT1436 How to reset the SMU on a Power Mac G5 (Late 2004) or Power Mac G5 (Late 2005)] fa66324369d038def51db2650ccec83b6a7cf917 1871 1870 2023-11-28T08:04:32Z Hagbard 2 /* Aple Silicon Macs */ wikitext text/x-wiki [[Category:OS]][[Category:Translate]]<!-- alternative article names, listed for search engine optimization: [[Boot_Key_Combos|Boot Key Combos]] [[Startup_Key_Combinations|Startup Key Combinations]] --> In diesem Artikel sind verschiedene Tastenkombinationen (sog. "Boot Key Combos") für den Start des Macs aufgelistet. Diese sind während des Startsounds gedrückt halten. Tastaturkombinationen für Betriebssystemfunktionen und in Mac OS X enthaltenen Applikationen sind im Artikel [[Mac Keyboard Shortcuts]] zu finden. ==Aple Silicon Macs== Mit dem Wechsel zu ARM-basierten Prozessoren hat sich auch am Systemstart einiges geändert, insbesondere das System Recovery wurde komplett überarbeitet und in das Boot-Menü integriert. Dadurch funktionieren eine ganze Reihe Tastenkombinationen nicht mehr bzw. sind auch gar nicht mehr nötig: ;Boot-Menü :Die Auswahl der zu startenden macOS Installation (bzw. des Volumes/der Volume Group, auf dem/der sich diese befindet) wird nun durch das Gedrückthalten des Power Buttons beim Einschalten erreicht. Dies impliziert auch, dass der Rechner vorher ausgeschaltet sein muss, da ansonsten ein "Force Power Off" stattfindet, der üblicherweise nur im Fehlerfall zum Einsatz kommen sollte – also z.B. wenn das System eingefroren ist und auf keinerlei Eingaben mehr reagiert.<br/>Seit '''macOS Sonoma''' ist dies jedoch offenbar nicht mehr zwingend der Fall, hier kann auch [https://eclecticlight.co/2023/03/02/recovery-on-apple-silicon-macs-has-changed-again/ im laufenden Betrieb] auf ein Fallback-Recovery-System zurückgegriffen werden.<br/> Ein direkter Neustart in das Bootmenü ist also nicht mehr möglich (bislang wurde hierzu während des Starts {{Key press|Opt}} auf der Tastatur gedrückt gehalten).<br/>'''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich.<br/>'''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. ;Recovery :Die System Recovery Werkzeuge sowie die Wiederherstellung einer beschädigten macOS Installation werden ebenfalls über das o.g. Boot-Menü erreicht. Die bislang dafür verwendeten Tastenkombinationen entfallen restlos. ;Internet Recovery :... gibt's nicht mehr, daher lässt sich das System nur noch auf die folgenden Weisen (re-)installieren: :* macOS Recovery (wie bisher) :* System Recovery (von versteckter Partition) :* USB [[MacOS_Installationsmedium_erstellen|Installations-Medium]] (ebenfalls wie bisher) :* via DFU Mode & Apple Configurator 2 :Mehr Informationsn zum Thema gibt es auch auf [https://mrmacintosh.com/how-to-reinstall-macos-on-your-apple-silicon-mac-everything-you-need-to-know/ mrmacintosh.com]. Siehe auch: [https://discussions.apple.com/thread/253397576 csrutil disable` command FAILED. The OS environment does not allow changing security configuration options.] ==Intel und "New World" PPC Macs== Tastaturkombinationen für sog. "New World Macs", die immer funktionieren - also unabhängig vom verwendeten Betriebssystem. {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|X}} || bei OS9 / X Dualinstallation MacOS X starten |---- bgcolor="#FFFFFF" | {{key press|C}} || von CD / DVD booten |---- bgcolor="#FFFFFF" | {{key press|D}} || von Festplatte booten (bis incl. Mac OS X 10.6.8)<br />Hardware-Test starten (bei eigelegter Installations-DVD, bis incl. Mac OS X 10.6.8) Startet bei eingelegter Installations-DVD den [http://support.apple.com/kb/HT1509 Apple Hardware Test] (nicht auf Mac OS X Retail-DVDs enthalten; Geräte ohne optisches Laufwerk sowie weitere, neuere Intel-Macs können seit 10.7 den Hardware Test über das Internet nutzen) Bei älteren Macs ist die Hardwaretest-Software auf den mitgelieferten Installations-DVDs enthalten, bei neueren Intel-Macs (seit OS X 10.7) befindet sich auf einer versteckten Partition des Systemlaufwerks (HDD oder SSD). Bei Macs mit Erscheinungsdatum nach dem Juni 2013 ist die [http://support.apple.com/kb/HT5781?viewlocale=de_DE&locale=de_DE Diagnosesoftware] Teil der Systemfirmware |---- bgcolor="#FFFFFF" | {{key press|N}} || netboot: vom Netzwerk booten (bis zum Apple-Logo / MacFace gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|T}} || Rechner im [http://support.apple.com/kb/HT1661 Firewire Target-Mode] booten (die HFS-Volumes stehen am anderen Rechner dann als Externe Festplatte zur Verfügung) |---- bgcolor="#FFFFFF" | {{key press|ALT}} || Intel-Macs: EFI-Boot-Menü<br />PowerPC NewWorld Macs: OpenFirmware Boot-Menü<br />OldWorld Macs: MacOS starten |---- bgcolor="#FFFFFF" | {{key press|⏏}}<br />alternativ (linke) Maustaste || CD/DVD-Medium beim Start auswerfen |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|P|R}} || Parameter-RAM löschen (bis zum 2. Startsound gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|N|V}} || NV-RAM löschen (OpenFirmware Reset, nur PowerPC-basierte NewWorld-Macs) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|O|F}} || In die OpenFirmware booten (nur sog. "New World Macs" mit PowerPC und OpenFirmware. Intel Macs nutzen das [[wikipedia:de:Extensible_Firmware_Interface|EFI]], das nicht mehr so einfach erreichbar ist.) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL}} || Startvolume ignorieren und von externem Medium oder CD/DVD starten (default volume wird ignoriert) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL|#}} || von einer bestimmten SCSI-ID booten (# = SCSI-ID) |} ==MacOS X== Tastaturkombinationen für MacOS X Installationen: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || '''beim Systemstart:'''<br />safe boot: deaktiviert Startobjekte und lädt nur die wichtigsten Kernel-Extensions<br />'''beim Fortschrittsbalken während dem Starten:'''<br />verhindert die automatische Anmeldung<br />'''beim login:'''<br />deaktiviert Startobjekte |---- bgcolor="#FFFFFF" | {{key press|CMD|V}} || verbose-boot: Zeigt alle Statusmeldungen während des Startvorgangs (anstatt des Apfel-Logos). Dauerhafte Aktivierung durch Eingabe des folgenden Kommandos im [[:Category:Terminal|Terminal]]: sudo nvram boot-args="-v" |---- bgcolor="#FFFFFF" | {{key press|CMD|S}} || im Single User Modus starten<br />Anschließend Schreibzugriff auf Volumes aktivieren mit: fsck -fy mount -uw / |---- bgcolor="#FFFFFF" | {{key press|CMD|R}} || Mac OS X Lion (10.7.x) bis incl. macOS Catalina (15.x) im [[Lion_Recovery|Recovery Modus]] von einer lokalen SSD/HDD1 starten (bei mit FileVault2 verschlüsselten Laufwerken erst ab 10.7.2 funktionstüchtig) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|R}} || Mac OS X Lion (10.7.x) bis incl. macOS Catalina (15.x) im [[Lion_Recovery|Online Wiederherstellung]] (Recovery) der letzten zu diesem Mac kompatiblen macOS-Version starten (Neuinstallation von macOS) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|R}} || Mac OS X Lion (10.7.x) bis incl. macOS Catalina (15.x) im [[Lion_Recovery|Online Wiederherstellung]] (Recovery) der mit dem Mac ausgelieferten macOS-Version (Neuinstallation von macOS) |---- bgcolor="#FFFFFF" | {{key press|POWER}} || Auf Apple Silicon Macs mit macOS Big Sur Version 11.x) und neuer ist der Wiederherstellungsmodus über das Bootmenü erreichbar, indem beim Einschalten des Mac der Power-Button gedrückt gehalten wird.<br/>Der Start dieses Vorgangs erfolgt von der lokalen SSD, genauer aus einem versteckten Container namens „Apple_APFS_Recovery“. Apple nennt dieses Konzept "1 True Recovery" (1TR). |---- bgcolor="#FFFFFF" | {{key press|POWER|POWER}} || (betrifft nur Apple Silicon Macs mit macOS Big Sur und neuer) Falls der versteckte Wiederherstellungs-Container beschädigt oder gelöscht sein sollte, kann alternativ auf eine Recovery-Partition zurückgegriffen werden. Dies erreicht man durch zweimaliges Drücken des Power-Buttons direkt hinterehinander und anschließendes Gedrückthalten. |---- bgcolor="#FFFFFF" | {{key press|6|4}} || Kernel im 64-Bit Modus starten (ab Version 10.6 auf unterstützten Geräten)<br />Um herauszufinden, ob der eigene Mac den 64-Bit Modus für den Systemstart untertützt, ist folgendes im [[:Category:Terminal|Terminal]] einzugeben: {{Manl|ioreg|ioreg}} -l -p IODeviceTree | grep firmware-abi Auf unterstützten Systemen müsste die Ausgabe wie folgt aussehen: "firmware-abi" = <"EFI64"> |---- bgcolor="#FFFFFF" | {{key press|3|2}} || Kernel im 32-Bit Modus starten (ab Version 10.7) |} ==Mac OS Classic== Tastaturkombinationen, die nur mit dem "alten" MacOS (Version 9 und davor) funktionieren: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || Systemerweiterungen deaktivieren |---- bgcolor="#FFFFFF" | {{key press|CMD}} || Ohne virtuellen Speicher starten |---- bgcolor="#FFFFFF" | {{key press|space}} || "Conflict-Catcher" - Auswahl der Systemerweiterungen |} == Siehe auch == * [[Mac Keyboard Shortcuts]] hier im Wiki * Apple Support: ** [http://support.apple.com/kb/HT1533?viewlocale=de_DE&locale=de_DE Tastenkombinationen beim Startvorgang Intel-basierter Macs] ** [http://support.apple.com/kb/ht1343?viewlocale=de_DE&locale=de_DE Mac OS X: Tastaturkurzbefehle] ** [http://support.apple.com/kb/HT1242?viewlocale=de_DE&locale=de_DE Mac OS X: Was wird im PRAM gespeichert] * System Management Controller (SMC) von Intel-Macs zurücksetzen: ** [http://support.apple.com/kb/HT1543?viewlocale=de_DE&locale=de_DE Mac Mini, iMac] ** [http://support.apple.com/kb/HT1411?viewlocale=de_DE&locale=de_DE MacBook, MacBook Pro, MacBook Air] ** [http://reviews.cnet.com/8301-13727_7-10330118-263.html When to reset the PRAM and SMC/PMU] * [http://support.apple.com/kb/HT1436 How to reset the SMU on a Power Mac G5 (Late 2004) or Power Mac G5 (Late 2005)] cf55dc9555218ce9e6b89ba9e39bb500544582d3 1872 1871 2023-11-28T08:08:13Z Hagbard 2 /* Siehe auch */ wikitext text/x-wiki [[Category:OS]][[Category:Translate]]<!-- alternative article names, listed for search engine optimization: [[Boot_Key_Combos|Boot Key Combos]] [[Startup_Key_Combinations|Startup Key Combinations]] --> In diesem Artikel sind verschiedene Tastenkombinationen (sog. "Boot Key Combos") für den Start des Macs aufgelistet. Diese sind während des Startsounds gedrückt halten. Tastaturkombinationen für Betriebssystemfunktionen und in Mac OS X enthaltenen Applikationen sind im Artikel [[Mac Keyboard Shortcuts]] zu finden. ==Aple Silicon Macs== Mit dem Wechsel zu ARM-basierten Prozessoren hat sich auch am Systemstart einiges geändert, insbesondere das System Recovery wurde komplett überarbeitet und in das Boot-Menü integriert. Dadurch funktionieren eine ganze Reihe Tastenkombinationen nicht mehr bzw. sind auch gar nicht mehr nötig: ;Boot-Menü :Die Auswahl der zu startenden macOS Installation (bzw. des Volumes/der Volume Group, auf dem/der sich diese befindet) wird nun durch das Gedrückthalten des Power Buttons beim Einschalten erreicht. Dies impliziert auch, dass der Rechner vorher ausgeschaltet sein muss, da ansonsten ein "Force Power Off" stattfindet, der üblicherweise nur im Fehlerfall zum Einsatz kommen sollte – also z.B. wenn das System eingefroren ist und auf keinerlei Eingaben mehr reagiert.<br/>Seit '''macOS Sonoma''' ist dies jedoch offenbar nicht mehr zwingend der Fall, hier kann auch [https://eclecticlight.co/2023/03/02/recovery-on-apple-silicon-macs-has-changed-again/ im laufenden Betrieb] auf ein Fallback-Recovery-System zurückgegriffen werden.<br/> Ein direkter Neustart in das Bootmenü ist also nicht mehr möglich (bislang wurde hierzu während des Starts {{Key press|Opt}} auf der Tastatur gedrückt gehalten).<br/>'''Hinweis:''' Unter neueren Versionen von macOS (z.B. Ventura oder Sonoma) ist zumindest bei erstmaliger Verwendung offenbar das sog. "Startup Security Utility" zu verwenden, um den Sicherheitsleven herunter- und anschließend wieder heraufzusetzen. Anschließend scheint {{TT|csrutil}} jedoch wieder einwandfrei zu funktionieren, ich konnte es in einem aktuellen Fall zur Reaktivierung von SIP bereits wieder verwenden. Beides im Recovery Mode natürlich.<br/>'''Hinweis 2:''' seit macOS Monterey kann bei mehreren vorhandenen macOS Installationen nur für diejenige der Sicherheitslevel geändert werden, von dessen Recovery Partition gestartet wurde. Andernfalls wird der Versuch lediglich mit einer entsprechenden Fehlermeldung quittiert. ;Recovery :Die System Recovery Werkzeuge sowie die Wiederherstellung einer beschädigten macOS Installation werden ebenfalls über das o.g. Boot-Menü erreicht. Die bislang dafür verwendeten Tastenkombinationen entfallen restlos. ;Internet Recovery :... gibt's nicht mehr, daher lässt sich das System nur noch auf die folgenden Weisen (re-)installieren: :* macOS Recovery (wie bisher) :* System Recovery (von versteckter Partition) :* USB [[MacOS_Installationsmedium_erstellen|Installations-Medium]] (ebenfalls wie bisher) :* via DFU Mode & Apple Configurator 2 :Mehr Informationsn zum Thema gibt es auch auf [https://mrmacintosh.com/how-to-reinstall-macos-on-your-apple-silicon-mac-everything-you-need-to-know/ mrmacintosh.com]. Siehe auch: [https://discussions.apple.com/thread/253397576 csrutil disable` command FAILED. The OS environment does not allow changing security configuration options.] ==Intel und "New World" PPC Macs== Tastaturkombinationen für sog. "New World Macs", die immer funktionieren - also unabhängig vom verwendeten Betriebssystem. {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|CMD|X}} || bei OS9 / X Dualinstallation MacOS X starten |---- bgcolor="#FFFFFF" | {{key press|C}} || von CD / DVD booten |---- bgcolor="#FFFFFF" | {{key press|D}} || von Festplatte booten (bis incl. Mac OS X 10.6.8)<br />Hardware-Test starten (bei eigelegter Installations-DVD, bis incl. Mac OS X 10.6.8) Startet bei eingelegter Installations-DVD den [http://support.apple.com/kb/HT1509 Apple Hardware Test] (nicht auf Mac OS X Retail-DVDs enthalten; Geräte ohne optisches Laufwerk sowie weitere, neuere Intel-Macs können seit 10.7 den Hardware Test über das Internet nutzen) Bei älteren Macs ist die Hardwaretest-Software auf den mitgelieferten Installations-DVDs enthalten, bei neueren Intel-Macs (seit OS X 10.7) befindet sich auf einer versteckten Partition des Systemlaufwerks (HDD oder SSD). Bei Macs mit Erscheinungsdatum nach dem Juni 2013 ist die [http://support.apple.com/kb/HT5781?viewlocale=de_DE&locale=de_DE Diagnosesoftware] Teil der Systemfirmware |---- bgcolor="#FFFFFF" | {{key press|N}} || netboot: vom Netzwerk booten (bis zum Apple-Logo / MacFace gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|T}} || Rechner im [http://support.apple.com/kb/HT1661 Firewire Target-Mode] booten (die HFS-Volumes stehen am anderen Rechner dann als Externe Festplatte zur Verfügung) |---- bgcolor="#FFFFFF" | {{key press|ALT}} || Intel-Macs: EFI-Boot-Menü<br />PowerPC NewWorld Macs: OpenFirmware Boot-Menü<br />OldWorld Macs: MacOS starten |---- bgcolor="#FFFFFF" | {{key press|⏏}}<br />alternativ (linke) Maustaste || CD/DVD-Medium beim Start auswerfen |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|P|R}} || Parameter-RAM löschen (bis zum 2. Startsound gedrückt halten) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|N|V}} || NV-RAM löschen (OpenFirmware Reset, nur PowerPC-basierte NewWorld-Macs) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|O|F}} || In die OpenFirmware booten (nur sog. "New World Macs" mit PowerPC und OpenFirmware. Intel Macs nutzen das [[wikipedia:de:Extensible_Firmware_Interface|EFI]], das nicht mehr so einfach erreichbar ist.) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL}} || Startvolume ignorieren und von externem Medium oder CD/DVD starten (default volume wird ignoriert) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|DEL|#}} || von einer bestimmten SCSI-ID booten (# = SCSI-ID) |} ==MacOS X== Tastaturkombinationen für MacOS X Installationen: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || '''beim Systemstart:'''<br />safe boot: deaktiviert Startobjekte und lädt nur die wichtigsten Kernel-Extensions<br />'''beim Fortschrittsbalken während dem Starten:'''<br />verhindert die automatische Anmeldung<br />'''beim login:'''<br />deaktiviert Startobjekte |---- bgcolor="#FFFFFF" | {{key press|CMD|V}} || verbose-boot: Zeigt alle Statusmeldungen während des Startvorgangs (anstatt des Apfel-Logos). Dauerhafte Aktivierung durch Eingabe des folgenden Kommandos im [[:Category:Terminal|Terminal]]: sudo nvram boot-args="-v" |---- bgcolor="#FFFFFF" | {{key press|CMD|S}} || im Single User Modus starten<br />Anschließend Schreibzugriff auf Volumes aktivieren mit: fsck -fy mount -uw / |---- bgcolor="#FFFFFF" | {{key press|CMD|R}} || Mac OS X Lion (10.7.x) bis incl. macOS Catalina (15.x) im [[Lion_Recovery|Recovery Modus]] von einer lokalen SSD/HDD1 starten (bei mit FileVault2 verschlüsselten Laufwerken erst ab 10.7.2 funktionstüchtig) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|R}} || Mac OS X Lion (10.7.x) bis incl. macOS Catalina (15.x) im [[Lion_Recovery|Online Wiederherstellung]] (Recovery) der letzten zu diesem Mac kompatiblen macOS-Version starten (Neuinstallation von macOS) |---- bgcolor="#FFFFFF" | {{key press|CMD|ALT|SHIFT|R}} || Mac OS X Lion (10.7.x) bis incl. macOS Catalina (15.x) im [[Lion_Recovery|Online Wiederherstellung]] (Recovery) der mit dem Mac ausgelieferten macOS-Version (Neuinstallation von macOS) |---- bgcolor="#FFFFFF" | {{key press|POWER}} || Auf Apple Silicon Macs mit macOS Big Sur Version 11.x) und neuer ist der Wiederherstellungsmodus über das Bootmenü erreichbar, indem beim Einschalten des Mac der Power-Button gedrückt gehalten wird.<br/>Der Start dieses Vorgangs erfolgt von der lokalen SSD, genauer aus einem versteckten Container namens „Apple_APFS_Recovery“. Apple nennt dieses Konzept "1 True Recovery" (1TR). |---- bgcolor="#FFFFFF" | {{key press|POWER|POWER}} || (betrifft nur Apple Silicon Macs mit macOS Big Sur und neuer) Falls der versteckte Wiederherstellungs-Container beschädigt oder gelöscht sein sollte, kann alternativ auf eine Recovery-Partition zurückgegriffen werden. Dies erreicht man durch zweimaliges Drücken des Power-Buttons direkt hinterehinander und anschließendes Gedrückthalten. |---- bgcolor="#FFFFFF" | {{key press|6|4}} || Kernel im 64-Bit Modus starten (ab Version 10.6 auf unterstützten Geräten)<br />Um herauszufinden, ob der eigene Mac den 64-Bit Modus für den Systemstart untertützt, ist folgendes im [[:Category:Terminal|Terminal]] einzugeben: {{Manl|ioreg|ioreg}} -l -p IODeviceTree | grep firmware-abi Auf unterstützten Systemen müsste die Ausgabe wie folgt aussehen: "firmware-abi" = <"EFI64"> |---- bgcolor="#FFFFFF" | {{key press|3|2}} || Kernel im 32-Bit Modus starten (ab Version 10.7) |} ==Mac OS Classic== Tastaturkombinationen, die nur mit dem "alten" MacOS (Version 9 und davor) funktionieren: {| border="0" cellpadding="4" cellspacing="1"; style=";margin-left:1em; background:#e3e3e3;" ! width="250px" | Tastenkombination || width="450px" | Wirkung |---- bgcolor="#FFFFFF" | {{key press|shift}} || Systemerweiterungen deaktivieren |---- bgcolor="#FFFFFF" | {{key press|CMD}} || Ohne virtuellen Speicher starten |---- bgcolor="#FFFFFF" | {{key press|space}} || "Conflict-Catcher" - Auswahl der Systemerweiterungen |} == Siehe auch == * [[Mac Keyboard Shortcuts]] hier im Wiki * Apple Support: ** [https://support.apple.com/en-us/102603 Mac startup key combinations] ** [https://support.apple.com/guide/security/boot-modes-sec10869885b/web Boot modes for a Mac with Apple silicon] ** [https://support.apple.com/guide/security/boot-process-sec5d0fab7c6/1/web/1 Boot process for an Intel-based Mac] ** [https://support.apple.com/guide/security/protecting-keys-in-alternate-boot-modes-sece49ec4098/1/web/1 Protecting keys in alternate boot modes] ** [http://support.apple.com/kb/ht1343 Mac-Tastaturkurzbefehle] ** [http://support.apple.com/kb/HT1242 Reset NVRAM on your Mac] * System Management Controller (SMC) von Intel-Macs zurücksetzen: ** [http://support.apple.com/kb/HT1543?viewlocale=de_DE&locale=de_DE Mac Mini, iMac] ** [http://support.apple.com/kb/HT1411?viewlocale=de_DE&locale=de_DE MacBook, MacBook Pro, MacBook Air] ** [http://reviews.cnet.com/8301-13727_7-10330118-263.html When to reset the PRAM and SMC/PMU] * [http://support.apple.com/kb/HT1436 How to reset the SMU on a Power Mac G5 (Late 2004) or Power Mac G5 (Late 2005)] d7298cede47c055ee673b6f8cc3564f5c2b5e643